Ejemplo: El código cerrado del ePSXe

No quiero que el post genere un flame acerca de si se debe tener como requisito importante que el software que utilizamos sea software libre, open-source, o cerrado, simplemente quiero exponer una demostración de que esas situaciones "hipotéticas" que frecuentemente se mencionan no son tan hipotéticas como intentan hacernos creer los generadores profesionales de FUD.

El caso trata de uno de los mejores, si no el mejor, emulador de PlayStation (la primera), que tuvo su gran apogeo hace ya unos años, cuando otros muchos emuladores para este sistema empezaron a surgir como setas, algunos de pago (Bleem! por ejemplo), algunos freeware, y algunos libres. Con el afianzamiento de la emulación y las continuas mejoras, la guerra entre las diferentes alternativas fomentó una sana competitividad de las que todos salimos beneficiados con emuladores que evolucionaban muy rápido. Algunos proyectos quedaron descontinuados, por no lograr llamar la atención, o simplemente por falta de tiempo de sus desarrolladores (en la mayoría de los casos, estaban programados por gente que usaba su tiempo libre para tal fin).


A día de hoy, todo ese apogeo ha cesado, y varios emuladores de PSX han logrado un nivel de perfeccionamiento bastante alto, muchos otros no, pero la gran mayoría de los proyectos que se iniciaron entonces se encuentran en una especie de estado hibernación.

EPSXe es uno de estos proyectos, pero lleva muerto desde el año 2003. Los autores continuamente reiteran que el proyecto no está "abandonado", sin embargo parece que esas declaraciones simplemente buscan que el proyecto no sea incluida en la larga lista de los que nadie se preocupa, los proyectos muertos, de sitios como Emunations o NGEmu.

En los mismos foros del proyecto se amontonan las peticiones para que el código sea liberado (es freeware, pero no open-source) a fin de que gente a quien realmente le importe el emulador puedan seguir desarrollándolo y adaptándolo a los nuevos sistemas, arquitecturas, etc, independientemente de que sus autores iniciales lo tengan tan desatendido (falta de tiempo dicen, en dos años algo de código podría haberse podido optimizar, digo yo).


Una clara muestra de cómo mueren los proyectos cuando los autores desaparecen y el código no es libre (es más, en este caso tan sólo aparecen para recordar a los usuarios que no tienen intención de liberar el código, pese a no tener la menor intención de usarlo para nada).
Al menos, y sirve un poco como consuelo, muchos de sus plugins (encargados del sistema gráfico, del sonido, el lector de CD y el controlador para joypad), desarrollados por programadores independientes, son GPL (y se nota, si bien llevan bastante tiempo sin sacar nuevas versiones éstas suelen ser bastante más recientes que el propio emulador).

Yo soy de los que se entristecen cuando un proyecto, con muchas horas de trabajo, ilusión, y esfuerzo, desaparece por no actualizarse y quedarse desfasado. Soy de los que, con cada actualización del kernel, de las librerías del sistema, o Wine, Firefox, OpenOffice, Geany (que estoy usando para crear este testamento) se emocionan, y no pueden esperar para que, con los ojos vidriosos, ver como apt-get los descargue junto con sus dependencias y los configure para hacerlos encajar perfectamente en este engranaje casi perfecto que es el sistema derivado de GNU/Linux.

Hacer funcionar ePSXe en ubuntu x86_64 se convirtió en toda una odisea, debido al uso de librerías gráficas desfasadas (gtk1.2) y la no existencia de binarios para arquitecturas de 64 bits, siendo esto último muy facilmente solventable si el código fuese libre, ya que podría compilarse en cualquier arquitectura, y si el código no lo permitiese, siempre se podría modificar el código para solventarlo. Lo peor fue la combinación de ambos problemas para algunas librerías requeridas (tuve que recurrir a la paquetería debian de 32 bits, ya que paquetes tan antiguos ni tan siquiera se encontraba en los repositorios de Ubuntu). Pero esto último será material con el que publicaré otra entrada.

Un saludo.

Créditos:
  1. Captura Legend of Dragoon, funcionando en ePSXe, sacado de NGEmu.
  2. Logo de ePSXe, sacado de NGEmu.
  3. Captura de ePSXe, sacado de asher256.tuxfamily.org

5 comentarios:

  1. A principios de este año, 2008, fue actualizado a la versión 1.7, y me temo que ahí se quedará.
    Y respecto a los problemas de la versión de Linux que no creo que actualicen: Siempre nos quedará Wine, y con este programa va de cine (excepto los joypads); con plugin Peops OpenGL funciona muy bien, aunque prefiero el pSX emulator; es más exacto.

    ResponderEliminar
  2. @david no hace falta wine para usarlo, se puede ejecutar especificando un directorio con las librerías viejas de las que depende y un apaño en el binario ejecutable para echarlo a andar:
    http://spayder26.blogspot.com/2008/02/epsxe-en-ubuntu-gutsy-710-y-amd64.html

    ResponderEliminar
  3. Quería decir que la última versión, la 1.7.0 no está disponible en Linux, y parece que mejora la compatibilidad sustancialmente.
    Por otro lado he leído críticas sobre la versión linux, ya que lo has probado, ¿funciona bien? ¿No hay muchos errores gráficos?
    Lo probaré, a ver qué tal se ven los juegos que más me gustan (RPG's 3D), ya que los juegos 2D se ven igual en todos los emuladores (siempre que suavicen los gráficos, claro).
    Además no consigo que me funcione el joypad USB con wine; se configura bien pero en los juegos no funciona.

    Un saludo, y gracias.

    ResponderEliminar
  4. Yo estoy intentando echar a andar epsxe 1.6 bajo ubuntu 9.04 y efectivamente los cursores no me van.
    En el launchpad de ubuntu hay una solución para el problema pero es para dosbox (que por cierto no me ha valido, pero al menos si he podido solucionar el problema recompilando en este caso).
    Si los usuarios de epsxe pusieran el código para recompilar o ellos mismos sacaran una versión recompilada con distribuciones más modernas seguramente se solucionaría el problema instantáneamente.

    ResponderEliminar
  5. Epsxe 1.6 ya no funciona en ubuntu. Y parece que la incompatibilidad ya es grave (he intentado buscar las librerías que dan problema, pero no hay manera) así que supongo que a día de hoy, la única opción es usar wine y los plugins opengl.

    ResponderEliminar