ePSXe 1.6.0 en Ubuntu (y amd64)

EDITADO 22/27/2010 :Epsxe 1.6.0 ya no funciona en versiones recientes de ubuntu. Y parece que la incompatibilidad ya es grave (han aparecido nuevas librerías desfasadas con incompatibilidades con el resto del sistema) de modo que es muy probable que el siguiente tutorial ya no sirva de nada, y la única opción sea la instalación mediante Wine. Os recuerdo que si queréis un gestor de prefijos de wine podéis probar podéis usar PyWinery, os facilitará la vida enormemente.


EDITADO 19/11/2008 : El tutorial siguiente hará funcionar la versión de epsxe 1.6.0, la última para linux. Sin embargo, existe una versión no nativa más reciente, la 1.7.0, que sólo podréis disfrutar usando wine, David ha publicado una guía por si estáis interesados.



Bueno... llevo días dándole vueltas sobre si publicar este apunte o no (debido a esto) y recomendar otro emulador libre como PSemu o psX... pero la verdad esque, después de probar las alternativas... no queda otro remedio que usar ePSXe si queremos una emulación mínimamente decente de modo que aquí va la receta para echarlo a andar pese a estar un poco abandonado...

Lo primero, por supuesto, es descargarse el binario de la página web, http://www.epsxe.com/download.php y elegir la versión de Linux.

Ahora toca bajarse los plugins para hacerlo funcionar (ePSXe, como muchos otros, requiere de plugins individuales que emulen el sonido, el vídeo, etc), tienes los siguientes para elegir (recomiendo bajar más de uno de cada categoría para ir probando):
Lo siguiente es hacerse con una BIOS dumpeada de una PlayStation, ¿que te suena a chino? Normal. Si tienes una PSX original y dotes de electrónica puedes hacerlo legalmente, si no, siempre puedes usar programas P2P y/o usar algún buscador... pero es algo que roza la delgada línea de la legalidad...
Normalmente te encontrarás con una bios con alguno de estos nombres:
SCPH1001.zip, SCPH5000.zip, SCPH5500.zip, SCPH7001.zip, scph7502.zip, scph75021.zip, scph75023.zip ó scph75024.zip.

Bueno, si ya tienes todo lo necesario, ahora toca descomprimir el epsxe a un directorio. Copia la imagen de la BIOS al subdirectorio bios, y todos los plugins al subdirectorio plugins. Fíjate en los archivos que contengan cfg o tengan la extensión .cfg , estos deberán ir en el subdirectorio cfg, no al de plugins , ya que se trata de los archivos de configuración de los plugins.

Ahora la cosa se complica un poco:
En el directorio plugins, crea enlaces simbólicos al plugin de vídeo que quieras usar por defecto y llámalo libgpu.so , y lo mismo con el de audio que quieras usar por defecto llamándolo libspu.so . Esto se debe a que la versión de ePSXe para linux no trae plugins por defecto, y no puede arrancar sin ellos.
Puedes crear los enlaces desde el entorno gráfico (generalmente botón derecho, crear Enlace o enlace simbólico) o desde línea de comandos (ln -s fichero_original fichero_enlace).

Intenta arrancar el ePSXe, ejecutando el binario epsxe que descomprimiste anteriormente (puede que haga falta hacerlo ejecutable en sus opciones, o ejecutando chmod +x epsxe en consola).

Hasta aquí es todo "oficial", y está en los tutoriales de miles de páginas. Si se ejecuta bien, eres afortunado. Pero a mí no me funcionó (uso amd64) y no soy el único... De modo que me lo tuve que currar un poquito más....

Lo primero a probar: al intentar lanzar ePSXe desde consola me encuentro con que no da ningún error, simplemente no hace nada, investigo un poco y descubro que está compilado con un tipo de compresión incorporado que no se lleva excesivamente bien con versiones recientes del kernel linux, el UPX, de modo que intentaremos quitarle esa compresión (no es la página que leí cuando lo hice, pero está explicado aquí). Para ello necesitamos instalar el paquete upx-ucl desde Synaptic o desde consola (con sudo apt-get install upx-ucl). Y ejecutar (desde consola) upx -d epsxe .
Lo segundo a probar: al intentar arrancar el emulador, me salen errores de librerías que no encuentra, librerías antiguas que el ia32libs de Ubuntu (las librerías para ejecutar programas de 32bits en ubuntu a 64bits) no incluyen, de modo que tuve que recurrir a la paquetería Debian y buscar esas librerías.

Para facilitaros el trabajo, he creado un paquete con esas librerías (disponible aquí) que deberéis descomprimir en una carpeta cualquiera (yo elegí la misma que el epsxe, en un subdirectorio llamado usr_lib32 que ya viene incluido en el paquete).

Ahora hay que decirle a ePSXe que use esas librerías, para ello ejecuta por consola (en la misma línea) LD_LIBRARY_PATH="directorio_de_librerias" ./epsxe , cambiando el directorio_de_librerias por la carpeta donde tengas descomprimidas las librerías del paquete de arriba.

A mí me funcionó, pero para no tener que lanzar el emulador desde consola, siempre usando esa línea, me creé el siguiente script (haz un archivo de texto vacío, y pega el código modificando los directorios para tu caso particular):
#! /bin/bash
cd /home/apps/epsxe
LD_LIBRARY_PATH="/home/apps/epsxe/usr_lib32" ./epsxe
Recuerda cambiar los directorios por el del ejecutable epsxe y las librerías, respectivamente. Guardadlo con extensión .sh y dale permisos de ejecución.

Luego toca lo de configurarlo y eso, pero no debería haber más problema.

Un saludo y espero que os haya sido útil, y ya sabéis, preguntas a los comentarios.

NOTA: ePSXe usa gtk1.2, por lo que las fuentes pueden verse sobredimensionadas, y el aspecto bastante tosco, si os parece incómodo hay forma de configurar gtk1.2 para que no sea tan horriblemente feo, si estás interesado sigue por aquí.

EDITADO (20/3/2008): Acabo de poner el ePSXe en mi cacharro portátil, y me he dado cuenta de que las instrucciones que pululan por todos sitios para hacer que las fuentes gtk1.2 se vean bien, en efecto, distan mucho de funcionar (al menos en este caso).
La solución: la configuración de las fuentes para cada una de las codificaciones de caracteres (locale) se esconden en /etc/gtk , para saber que locale es el de tu sistema, escribe locale en la consola. En mi caso el archivo a modificar es gtkrc.utf-8 (ejecutando en consola sudo gedit /etc/gtk/gtkrc.utf-8 ) , que he dejado tal que así:
style "default-text" {
fontset = "-*-helvetica-medium-r-normal--*-75-*-*-*-*-*-*"
}
class "GtkWidget" style "default-text"
75 el el tamaño de la fuente, puede ser mayor o menor (puedes probar sin miedo), pero en mi portátil 75 es un tamaño aceptable.

EDITADO (12/11/08): Gracias David, efectivamente, cuanto más tiempo pase, más librerías se irán quedando desfasadas, por lo cual tendré que ir modificando el tar.gz para incluirlas, en este caso, para añadir el libglib1.2.

Créditos:
  • Imágenes mías.
  • Información de los plugins (inicialmente) sacado de ngemu.

24 comentarios:

  1. Pufff... cuánto lio para instalarlo. No sé, otro día lo intento, de momento me conformo con la emulación real de psx emulator...

    ResponderEliminar
  2. He seguido todos tus pasos, pero me falta esta librería:
    ./epsxe: error while loading shared libraries: libgmodule-1.2.so.0: cannot open shared object file: No such file or directory

    Ubuntu 8.10 no parece traer esa librería, ¿cómo la consigo?

    ResponderEliminar
  3. Otra librería que se ha quedado desfasada, he modificado el tar.gz para incluirla y modificado la entrada. Gracias por avisar.

    ResponderEliminar
  4. Gracias, Spayder, con esa librería ya funciona, pero tengo muchos problemas (como me imaginaba).
    Se cuelga al de poco tiempo (minutos o segundos), y los menús no se ven bien, aunque sólo he probado el Destruction Derby RAW, podría haber problemas sólo con este juego...
    Aparte de eso, el sonido no funciona (y tiene el Peops bien instalado, indicando con el Test de que funciona OK); dice que no está disponible.
    Por otro lado, a pesar de haber dejado los cfg en la carpeta cfg, no me deja configurar nada, en el terminal dice que no los encuentra.

    Tengo la sensación de que la versión linux, tanto del programa como de los plugins, tienen bastantes errores; si al menos me funcionase el joypad utilizando wine... porque la versión 1.7 va de cine con el teclado. A ver si localizo la solución y pongo un tutorial (aunque casi no hace falta por lo fácil que es) de cómo instalarlo con wine en una entrada.

    Seguiré intentándolo, ya te contaré.

    ResponderEliminar
  5. Creo que tengo la solución para el problema del joystick usb (no hay soporte completo en Wine aún); utilizar QJoyPad
    para mapear las teclas del Joystick y los ejes a teclas del teclado, creo que no habrá problema. Los ejes del dualshock dejarán de ser progresivos pero creo que funcionará. Es para KDE, para gnome tenemos Joy2Pad.
    ReJoystick sólo necesita SDL. Probaré cuál va mejor en Ubuntu. Mañana te comento.

    ResponderEliminar
  6. Es probable que los cambios en la nueva versión de Xorg hayan afectado al funcionamiento del epsxe, porque al menos en ubuntu 8.04 (i386 y amd64) funciona perfectamente.

    Y por cierto, muchas gracias por tus aportes, en cuanto disponga de tiempo (y un equipo capaz de hacer funcionar 8.10 con aceleración 3D) lo pruebo todo y actualizo el post.

    ResponderEliminar
  7. Spayder, ya he estado echando unas partidas en el ePSXe 1.7 bajo Wine, y con aceleración opengl va casi tan rápido como en windows (con D3D va lentísimo), y para el mando utilizo rejoystick, y todo en un eeePC con Atom a 1,6 y mejoras gráficas 3D aplicadas (no todas, los FPS bajarían demasiado).
    Dado que la versión linux es tan difícil de configurar, da tantos problemas y está abandonada, es LA OPCIÓN para los playmaníacos linuxeros.
    Voy a poner varias entradas sobre la psx (es la consola de mi vida).

    ResponderEliminar
  8. Ya he puesto un tuto en mi blog:
    http://miqueridopinwino.blogspot.com/2008/11/tutorial-utilizando-el-emulador-epsxe.html
    Espero que te guste.

    ResponderEliminar
  9. Interesante post, yo tengo un problema, he bajado los plugins graficos y sonido desde la pagina de pete bernert, pero el emulador no me los detecta, solo detecta bios...

    estan puesto en la misma carpeta plugins, he hecho una copia autentica del contenido de plugins a cfg tambien.

    no se que podra ser, pero cuando pongo el emulador luego opciones de video, sale DISABLED al igual que el sonido...

    ResponderEliminar
  10. @Mykeh, alomejor hay algún problema con la aceleración por hardware, alguna librería openGL no encontrada, o algo parecido. No sé que puede ser, el tutorial ha vuelto a ser probado en ubuntu jaunty recientemente y no he tenido problemas, si bien es cierto que tengo muchísimas librerías ya instaladas por ser dependencias de otras aplicaciones.

    ResponderEliminar
  11. hola, he seguido los pasos de la guia pero no consigo iniciar el emulador, cuando pongo "epsxe"
    sale esto:

    /usr/local/bin/epsxe: línea 6: 6972 Terminado (killed) ./epsxe

    Alguien me puede ayudar?
    **el numero (6972) es progresivo, nunca sale el mismo numero

    gracias por su ayuda

    ResponderEliminar
  12. @Ernesto, ese número es el pid del proceso, normal que aumente con el tiempo. Lo de killed, es que tú, u otro usuario, o alguna aplicación con permiso para hacerlo, está terminando el proceso de epsxe. En principio ninguna aplicación debería terminar con ese código de error por propia voluntad, pero no has dado ninguna información que me sirva para ayudarte, salvo quizás que has metido el ejecutable de epsxe en un directorio que del cual no deberías ser propietario, ¿porqué no pruebas ha meterlo todo en un directorio de tu usuario?

    ResponderEliminar
  13. Yo tambien tengo el mismo problema que Ernesto... intente correrlo desde mi carpeta de usuario, pero sigue con ese error... hasta ahora he probado matando todos los procesos que no sean criticos, pero sin suerte... ademas intente correrlo como root, pero el resultado es el mismo... alguina idea de cual puede ser el problema?

    ResponderEliminar
  14. ¿Qué os cuesta decir que versión de Ubuntu estáis utilizando?

    ResponderEliminar
  15. tienes razon... me olvide de un importante detalle... yo uso la version 9.10 de ubuntu. Ahora que recuerdo, en la version jaunty (9.04) tambien tenia este problema a la hora de iniciar epsxe... si doy con alguna solucion o pista con respecto a este problema, se los dejo saber. gracias y adios!

    ResponderEliminar
  16. Perdonad que no pueda colaborar tan activamente en esta discusión, porque hace tiempo que me pasé a i386 para evitarme problemas. Sólo decir que Ubuntu 9.04 i386 es capaz de ejecutar epsxe (con el binario descomprimido, según cuenta el tutorial), así que puede que os sirva el mirar si falta alguna librería de las que se pueden encontrar en ia32libs en la paquetería de debian oldstable.

    ResponderEliminar
  17. Esta receta me fue genial con ubuntu 9.10 de 32 bits, pero me acabo de pasar al de 64 para pder usar los 4 gb sin complicarme la vida más que nada, y ya no me funciona, curioso porque se supone que precisamente está pensado para 64 bits.

    El caso es que al ejecutarlo a pelo no hace nada y desde consola me dice:

    ./epsxe: línea 3: ./epsxe: No existe el fichero ó directorio

    Imagino que la linea 3 es esta:

    LD_LIBRARY_PATH="/home/clint/epsxe160lin/usr_lib32" ./epsxe

    Y puedo jurar que esa ruta está bien.

    ResponderEliminar
  18. Al final era tan simple, como que al pulsar dos veces obre el script, hay que darle a mostrar en lugar de a ejecutar. No entiendo nada, pero ya funciona, que es de lo que se trata.

    Gracias, Spayder por este método tan poco agresivo para la integridad de las libs de 64 bits.

    ResponderEliminar
  19. Cuando intento correr un juego o la bios el epsxe se cierra me podrias ayudar gracias!

    ResponderEliminar
  20. Jose Guadalupe:
    Puede que la BIOS no sea válida, pero este artículo no está para solucionar los problemas de esta índole: ePSXe no es software libre (como por ejemplo PCSX-df o pcsxr) y su BIOS es propiedad de SONY, así que no preguntéis por este tipo de fallos aquí porque no os puedo ayudar.

    ResponderEliminar
  21. En Ubuntu 9.04 todavía funciona pero las teclas cursoras no, todas las ayudas que he visto son para arreglar el mismo problema con dosbox (cosa que he solucionado facilmente recompilando la última versión y cambiando el ejecutable), pero al no ser epsxe SL no hay código fuente para hacer esto.
    Ya les he puesto un mensaje en el foro de epsxe pero parece que no han hecho mucho caso, que se le va a hacer... eso es lo malo del software propietario aunque sea freeware.

    ResponderEliminar
  22. @Team, epsxe funciona realmente bien con Wine y los plugins opengl. No vale la pena comerse tanto la cabeza.

    ResponderEliminar
  23. Hola muy buenas , alguien tiene un "mirror" del archivo con las librerias de 32 Bits ???

    A mi si me carga , pero no suena xD. y lo maximo que puedo intentar hacer es que inicie el Sonido a traves del "libSDL.so" pero el de 32 Bits en el Ubuntu 11.04

    ResponderEliminar
  24. Amigo, muchas gracias por tomarte el tiempo para hacer el tutorial. Es una lástima que ni siquiera funicone el emulador de Play Station que hay en los repositorios oficiales de ubuntu. Cada vez las librerías se van desfasando más y más. También da vergüenza que sea una mejor opción utilizar wine. En fin, gracias de todas maneras...

    ResponderEliminar