viernes, 27 de noviembre de 2009

Emulador Playstation 1 en GNU/Linux de 64bits

Pues hace unos días, con un amigo, buscábamos un emulador funcional para Ubuntu, con el eterno problema de que, a veces, los desarrolladores se olvidan un poco de los usuarios de 64 bits.

Bueno gracias a los pasos de UbuntuGeek conseguimos hacer funcionar el emulador pSX el cual, creo, es el mejor emulador que he visto para Playstation (y he probado tanto PCSX como ePSXe). Los plugins están incluidos en el propio binario (ejecutable), así que no hay que complicarse la vida en buscar plugins compatibles para Linux ni chorradas de esas :)

Voy a contaros ahora mismo como lo conseguimos. Tan solo hay que hacer un poquito de "hacking", nada complicado, veréis:

1- Empieza por abrir una terminal, desde el menú Aplicaciones -> Accesorios -> Terminal, y acto seguido navega hasta una ruta de trabajo temporal. Nosotros usamos la carpeta de sistema /tmp:
cd /tmp
2- Ahora instala los paquetes de compatibilidad con programas de 32bits (puede que ya los tengas instalados, pero igual prueba):
sudo apt-get install ia32-libs ia32-libs-sdl ia32-libs-gtk
Nota: Si usas Karmic (Ubuntu 9.10) no se instalarán los paquetes ia32-libs-sdl e ia32-libs-gtk. No le des importancia, ya que ahora el paquete ia32-libs substituye a esos dos.

3- Necesitarás buscar y descargar el paquete libgtkglext1_1.0.6-2.1ubuntu1_i386.deb ya que contiene unas librerías necesarias para que funcione el emulador. Nosotros conseguimos encontrarlo en los servidores ftp de Guadalinex. Puedes usar el comando wget o descargarlo gráficamente (con Firefox por ejemplo) y después moverlo a la carpeta /tmp:
wget -c ftp://ftp.guadalinex.org/ubuntu/pool/universe/g/gtkglext/libgtkglext1_1.0.6-2.1ubuntu1_i386.deb
4- Extrae el contenido del paquete (no lo instales):
sudo dpkg -x libgtkglext1_1.0.6-2.1ubuntu1_i386.deb libgtkglext
Esto creara la carpeta /tmp/libgtkglext/ y dentro de esta extraerá el contenido del paquete.

5- Ahora moveremos las librerías, recién extraídas, a la carpeta de sistema con las librerías de compatibilidad con 32bits (/usr/lib32/):

sudo mv -v libgtkglext/usr/lib/* /usr/lib32

6- Puedes borrar la carpeta extraída anteriormente y el propio paquete, aunque la carpeta /tmp se vacía sola al reiniciar el sistema:
sudo rm -Rv libgtkglext
sudo rm -v libgtkglext1_1.0.6-2.1ubuntu1_i386.deb
7- Ahora descarga la ultima versión del emulador pSX. Actualmente es la 1.13, pero puedes consultarlo en su web. Haz la descarga con Firefox y pon el paquete en la ruta de trabajo (/tmp) o usa wget para obtenerlo directamente en la terminal:
wget -c http://psxemulator.gazaxian.com/pSX_linux_1_13.tar.bz2
8- Extrae y borra, si quieres, el paquete descargado:
tar xvf pSX_linux_1_13.tar.bz2
sudo rm -v pSX_linux_1_13.tar.bz2

9- Ya puedes probarlo, entra a la carpeta /tmp/pSX:
cd pSX/
Y ejecuta el binario que hay dentro:
./pSX

---Si no te funciona el sonido----
Actualización (Gracias a Blue y Marc): Puede que, llegados a este punto, te de error al ejecutar el binario. Si el error esta relacionado con el sonido: 
[src/linux/sound.cpp, line 215]: 'snd_pcm_hw_params_set_access(pcm_handle,hwparams,SND_PCM_ACCESS_MMAP_INTERLEAVED)' returned 'Argumento inválido'
pad=0
Fallo de segmentación

Si te devuelve este error, el problema es del servidor de PuseAudio. Desconozco el motivo, pero se que suele dar la lata con otros programas (como Skype). Si desinstalas PulseAudio en Karmic, el reproductor Totem dejara de reproducir audio, así que tendrás que buscar otro "video-player" como SMplayer o VLC.

En fin si estas seguro que quieres dejar de depender del servidor de Pulse y usar directamente ALSA o OSS sin intermediarios puedes hacer esto:

sudo aptitude purge pulse-audio && sudo aptitude install esound xfce4-mixer
El paquete xfce4-mixer es una aplicación para manejar los niveles de reproducción y de captura de la placa de sonido, indispensable si desinstalas pulse, para poder subir-bajar el volumen. También olvidaros de poder integrar las teclas multimedia de volumen del teclado con Gnome (Ya que sin el pulse, Gnome no sabe como bajar/subir el volumen)
-----------------------------------------------

Seguramente te pedirá la bios original de la consola. Es ilegal tener la bios, sin ser poseedor de una consola. Y se supone que la forma de obtenerla es conectando la consola al PC y dumpear la bios de Playstation a un archivo en tu PC....

Claro! Que también puedes buscarla en Google, ya que no es ilegal saber que se llama scph1001.bin. Cuando la dumpees (o la descargues :D ), busca en la carpeta del emulador una subcarpeta llamada bios....
Exactamente, hay debes poner el archivo descar... (uy, perdon) dumpeado.

Una vez que confirmes que todo va bien, saca la carpeta pSX del directorio temporal para no perderla. Y una sola cosa, aunque el emulador tiene la opción de hacer savestates de los juegos por si mismo, si quieres usar memory cards tendrás que crear los archivos para tal efecto:
touch ~/.pSX/cards/card1
touch ~/.pSX/cards/card2

Y después los seleccionas como memory card 1 y memory card 2 cada uno, desde las opciones de configuración del emulador.

Excelente emulador totalmente funcional para Linux 64bits, con altísima compatibilidad de juegos. ¿Bueno qué? ¿Hace unas partidas al Final Fantasy VII?

Fuente: Ubuntu Geek

jueves, 19 de noviembre de 2009

Reiniciar el Entorno gráfico de karmic.

Pues si, no hacen más que cambiar cosas que han sido estándar toda una vida. Nos mueven las cosas de sitio, cambian opciones, desactivan funciones....

Menudo jaleo que están montando estos de Canonical entre sus usuarios eh?

Bueno pues ahora en karmic el atajo de Ctrl+Alt+Backspace(borrar) para matar y reiniciar el servidor X vuelve a traerlo desactivado (como en Jaunty), pero ahora no sirve retocar el fichero xorg.conf, ni tampoco instalar el paquete dontzap...

Al menos han dejado una forma fácil de resolverlo, para muestra una imagen (o dos):

Free Image Hosting at www.ImageShack.us

Y ahora activar el acceso de teclado:

Free Image Hosting at www.ImageShack.us

Fuente: Kaeltas blog

jueves, 5 de noviembre de 2009

AutoInstall4Ubuntu - Instala tus programas, tras instalar Ubuntu

A través de Ubuntu Life me entero de un comando para realizar la instalación automática de varios paquetes tras instalar Ubuntu. Ese comando me da la idea de hacer un script que pregunte al usuario que programas del comando original quiere instalar. A pesar de que los chicos de Talquo y Ubusoft se me adelantaron, no cumplían mi idea, uno solo funciona en terminal y el otro  a pesar de apoyarse en zenity no muestra un progreso de la instalación de cada paquete, a no ser que lo inicies desde una terminal.

Total que me decidí a crear mi versión: AutoInstall4Ubuntu (o ai4u)

Las principales diferencias con los otros scripts es que solo sugiere instalar skype (por ejemplo) si el usuario eligió previamente instalar el repositorio de medibuntu.
También el script detecta la versión de distribución del usuario, para añadir los repositorios correctos.
Y detecta la arquitectura del sistema (en sistemas de 64bits, si instalas flash, el script intentará instalar la versión de los laboratorios adobe del plugin flash de 64bits).
Además añadí algún programa más, y seguiré añadiéndole alguno, como servidores o el propio lemur-search en cuanto tenga una versión de éste lo suficiente completa y pulida... jeje

Bueno vamos a lo interesante: conseguir el script. Lo tengo alojado en el bazaar de launchpad, así se mantiene al día de los cambios que pueda ir haciéndole. Para obtenerlo se necesita antes el paquete bzr, que puedes instalar rápidamente haciendo click aqui: apt://bzr

Una vez que lo instales solo tienes que abrir una terminal y escribir lo siguiente:
cd ~/Escritorio && bzr branch lp:autoinstall4ubuntu ./ai4u
Tras ello, aparecerá una carpeta en tu escritorio (ai4u) y dentro se habrá descargado la ultima revisión, solo haz doble click y lo demás viene solo xD





Un Saludo!



lunes, 2 de noviembre de 2009

Ubuntu 9.10. El Koala Karmico tiene problemas con Flash.

Bueno ya he podido actualizar mi equipo con esta nueva edición de Ubuntu. La parte negativa es que el plugin de Adobe Flash Player no funciona muy bien en instalaciones de 64 bits. Hay distintos problemas, a saber:
No funciona correctamente la opcion de "pantalla completa", a veces no responden los controles de algunas reproductores web, en mi caso, ni si quiera me funcionaba correctamente  el panel de Google Analitycs....

Después de buscar un poco por ahí resulto que la solución es bastante sencilla... EL problema es la versión del "flash player" incluida en Karmic 64bits que es la misma que la de Karmic 32... Pero afortunadamente en la pagina de los laboratorios de Adobe ya hay disponible para descargar una versión de 64 bits para Linux de su famoso (aunque no libre) reproductor, que por cierto se maneja con la misma estabilidad que lo hacia el incluido en Jaunty 64bits...

En fin, pon ha descargar el archivo (no esta disponible en paquete deb, hay que descargar un .tar.gz que después descomprimiremos). Si no encuentras el archivo en la dirección de arriba, aquí tienes el enlace directo a la descarga:


Una vez descargado descomprime el archivo para obtener el archivo libflashplayer.so, que es el plugin en si mismo. Ahora puedes hacer dos cosas:

1. Si el equipo solo lo usas tu puedes situar el archivo libflashplayer.so dentro de "tu home" en esta ruta:  /home/tu-usuario/.mozilla/plugins/libflashplayer.so

2. Si el equipo es usado por varias personas (con distintas cuentas), es mejor que pongas el plugin en su ruta por defecto del sistema, que tener que ponerlo a cada usuario en su "home". Así que pon el archivo en /usr/lib/mozilla/plugins/libflashplayer.so

Como todos estos pasos son una "paliza"; descarga con firefox, extrae, abre nautilus con permisos de administrador, reinicia firefox... He pensado poner un comando que haga todo de una sola vez. Vamos a ello, así que abre tu terminal preferida y escribe este comando, recuerda que es un solo comando, copiarlo todo y pegadlo en la terminal de un golpe:
wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz && sudo aptitude purge flashplugin-installer flashplayer-mozilla flashplugin-nonfree && tar -xvf libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz && rm libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz && sudo mv libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so
Te pedirá la clave para acceder a los permisos de administración al mover el archivo. Ya solo te queda reiniciar firefox para que detecte el nuevo plugin de flash. Seguirá sin ser tan estable como las versiones de 32bits, pero al menos es igual de funcional ;)
Nos vemos!
Fuente: kaeltas blog