Cómo configurar EmulationStation para que aparezcan y poder lanzar juegos
Si eres usuario de Debian/Ubuntu u otras distribuciones como Raspberry Pi, yo no recomendaría seguir lo explicado en esta guía porque existe RetroPie y creo que es todo mucho mejor y más directo. Para Arch Linux existe ArchyPie-setup, que es un script para instalar el RetroPie de Ubuntu en Arch Linux, pero siendo un paquete de AUR creado por voluntarios no está garantizado su funcionamiento. Sí lo garantiza hacerlo todo manual desde la base, y la base de RetroPie son emuladores (PPSSPP, RetroArch…) y EmulationStation.
EmulationStation es una interfaz gráfica para emuladores. Dicho de otro modo, un frontend o una especie de biblioteca desde la que podremos lanzar nuestros juegos de consolas clásicas. Si lo instalamos suelto, por sí mismo ni funciona al lanzarlo por primera vez. Lo que hace es crearnos una carpeta de configuración en nuestro directorio personal, y allí hay un archivo que tendremos que editar para que encuentre los juegos y pueda hacer «scrapping», que es lo necesario para que aparezcan las carátulas.
Configurando EmulationStation
EmulationStation es un software que no requiere muchas modificaciones, y en su página oficial pone que no se ha actualizado desde 2015. Configurando EmulationStation también podremos acceder desde otros frontends como Pegasus, que para mi gusto es más sencillo y mejor, pero esa es otra historia.
Como hemos explicado, y también nos dicen en su documentación oficial, para poder ver cualquier cosa que no sea el mensaje de que no hay nada disponible tenemos que realizar una configuración manual, que si bien es cierto que parece tediosa al principio, también lo es que merece la pena. El motivo por el cual el archivo de configuración está vacío es porque EmulationStation no sabe dónde tenemos las ROMs ni qué emulador preferimos para abrir cada una de ellas.
Lo que tenemos que hacer es lo siguiente:
- Si no hemos abierto EmulationStation aún, tenemos que abrirlo. De lo contrario no existirá la carpeta de configuración en nuestro directorio personal.
- Vamos a nuestra carpeta personal y hacemos que se muestren los archivos ocultos.
- Vamos a .emulationstation.
- Con un editor de texto, abrimos el archivo es_systems.cfg. Ahí pone las instrucciones y pueden echarnos para atrás, pero continuemos.
- Tenemos que hacer exactamente lo que dice: entre las etiquetas <systemlist></systemlist> van los «system», que no son más que las instrucciones para que aparezcan las ROMs y con qué vamos a ejecutarlas. Podemos modificar el primero, y luego copiar y pegar varias veces lo mismo modificando en cada caso la información necesaria. Por ejemplo, este es mi system para que lance juegos de PSP:
<system> <!-- A short name, used internally. Traditionally lower-case. --> <name>psp</name> <!-- A "pretty" name, displayed in menus and such. --> <fullname>PlayStation Portable</fullname> <!-- The path to start searching for ROMs in. '~' will be expanded to $HOME on Linux or %HOMEPATH% on Windows. --> <path>/home/pablinux/Juegos/roms/psp</path> <!-- A list of extensions to search for, delimited by any of the whitespace characters (", \r\n\t"). You MUST include the period at the start of the extension! It's also case sensitive. --> <extension>.iso .ISO .cso .CSO</extension> <!-- The shell command executed when a game is selected. A few special tags are replaced if found in a command: %ROM% is replaced by a bash-special-character-escaped absolute path to the ROM. %BASENAME% is replaced by the "base" name of the ROM. For example, "/foo/bar.rom" would have a basename of "bar". Useful for MAME. %ROM_RAW% is the raw, unescaped path to the ROM. --> <command>PPSSPPQt %ROM%</command> <!-- The platform to use when scraping. You can see the full list of accepted platforms in src/PlatformIds.cpp. It's case sensitive, but everything is lowercase. This tag is optional. You can use multiple platforms too, delimited with any of the whitespace characters (", \r\n\t"), eg: "genesis, megadrive" --> <platform>psp</platform> <!-- The theme to load from the current theme set. See THEMES.md for more information. This tag is optional. If not set, it will default to the value of <name>. --> <theme>PSP</theme> </system>
Disculpadme si me he dejado alguna etiqueta que no sale como debe, pero he tenido que sustituir la apertura o no salía en la vista final.
Sí, pone un poco los pelos de punta ver todo eso, pero no es para tanto. Hay que cambiar lo que hay dentro de las etiquetas de esta manera:
- name: hay que poner un nombre que se usa internamente, y suele ir en minúsculas. En el caso de PSP, pues «psp» sin las comillas.
- fullmane: El nombre completo que aparecerá en los menús.
- path: la ruta en donde están guardadas las ROMs, en mi caso en una carpeta con nombre psp que está dentro de Juegos que a su vez está dentro de mi carpeta personal.
- extension: qué tipo de archivos tiene que buscar. Si tenéis dudas, recomiendo visitar la documentación de RetroPie, aquí el enlace de PSP. Como podéis ver, los juegos de PSP pueden ser archivos ISO, CSO y PBP. Hay que incluir las extensiones con el punto y separadas con un espacio. Puede ser complicarse la vida, pero he visto casos en los que añaden la extensión dos veces, una en minúsculas y otra en mayúsculas. Cada uno que haga lo que crea conveniente, pero yo cambiaría, por ejemplo, una extensión .ISO a .iso en el archivo original.
- command: este es el comando que lanzará la ROM con el emulador que queramos. En el caso de PPSSPP, yo tengo las versiones Qt y SDL, y elijo la Qt. Lo que hace es lanzar la ROM seleccionada en EmulationStation con PPSSPPQt. En este caso, para saber exactamente cómo escribir el ejecutable he ido a usr/share/applications/ppsspp-qt , he abierto el archivo con un editor de textos y he mirado qué había en «Exec=».
- platform: esto es para el scrapping, es decir, para que busque y encuentre las carátulas. Si no se pone nada buscará todas las coincidencias y aparecerán más resultados. Por ejemplo, en la ROM de Sonic aparecerán las de Master System, Mega Drive, Génesis…
- theme: es para el tema, pero EmulationStation no añade ninguno por defecto y queda como en la captura de cabecera.
Eligiendo RetroArch
A mí me gusta más usar el PPSSPP original y no el que usa RetroArch, y RetroPie también lo hace así. Pero si se prefiere usar RetroArch, el «command» para el emulador Genesis sería «retroarch -f -L /usr/lib/libretro/genesis_plus_gx_libretro.so %ROM%» (-f: pantalla completa; -L: cargar núcleo). En usr/lib/libretro están todos los cores de RetroArch, y una vez más os remito a la documentación de RetroPie para saber qué emulador puede ir mejor en cada caso.
Una vez hayamos añadido los system correctamente, los juegos aparecerán en EmulationStation, aunque la primera vez pide que configuremos un mando, algo que es sencillamente configurar los botones. Si queremos las carátulas, tenemos que iniciar el scrapper. Y si no nos gusta EmulationStation, Pegasus usa su mismo archivo de configuración para mostrar los juegos.
A mí me gusta más. Es más simple y no pide ningún mando al iniciar.
Y esta sería la manera de configurar EmulationStation para que funcione, por lo menos lo más básico. A divertirse.