RetroPie en Raspberry Pi OS

Apr 21, 2024

Compilar e instalar RetroPie dentro del nuevo 

Raspberry Pi OS

(Raspbian Buster o Stretch, también Pi OS Bullseye-Bookworm)

Los tutoriales siempre hablan de la ultima Raspberry Pi,pero no la tengo, en cual mas puedo hacer esto? :

NOTA: En Raspberry Pi 0, 0w, 1A, 1A+, 1B, 1B+, 2B, 3B, 3B+, 3A+, no sirve realizar el acceso directo, ya que, obligatoriamente RetroPie debe iniciarse sin el desktop iniciado. Para salir del desktop pulsamos conjuntamente Ctrl + Alt + F1, esto nos sacara del escritorio, iniciamos RetroPie escribiendo emulationstation, para volver al Desktop presionamos start, Quit, Exit emulationstation, luego pulsamos Ctrl + Alt + F7. Esto en Raspberry Pi 4B, 400, 5 no es necesario, salvo para los juegos de disparos como House of the dead, donde podemos utilizar el mouse como Lightgun, nuestro mouse solo será detectado si no estamos en el Desktop.

Qué son $HOME?:

Es una manera de indicar la ruta de tu usuario, como lo que haremos no es simplemente un flasheo de RetroPie y por seguridad el usuario pi fue eliminado de Raspberry Pi OS, cada uno de los campeones que sigan este tutorial tendran una ruta diferente y con indicar $HOME nos aseguramos que sea funcional para todos, sin importar que nombre de usuario haz colocado en tu instalación, por ejemplo si abro la Tertminal y escribo:

¿Qué es $USER?

Es una forma de indicar el nombre de usuario sin necesidad de indicar realmente el nombre exacto, esto nos permite generalizar lo que hagamos, sin la obligación de siempre utilizar el mismo nombre de usuario y que nuestros scripts por ejemplo siempre nos funcionen. Si abro la Terminal, escribo y pulso Enter, obtengo:

Encendemos nuestra Raspberry Pi y abrimos la Terminal, en ella tecleamos lo siguiente para actualizar nuestro sistema:

En Raspbian Stretch:

sudo apt-get update && sudo apt upgrade -y

En Raspbian Buster:

sudo apt-get update && sudo apt upgrade -y

Raspberry Pi OS Bullseye Bookworm:

sudo apt update && sudo apt upgrade -y

NOTA: El ejecutar un upgrade en Stretch o Buster, actualizaría tu sistema a Raspberry Pi OS y si aun estas ahi, sera por que no te interesa tener el ultimo sistema o por algún programa o proyecto que no te funciona en el nuevo sistema, como es el caso del LCD por GPIO, en el nuevo Kernel 5.24 no funciona.

Realizamos un reinicio para que  las nuevas actualizaciones surtan efecto, si solo usaste update prosigue sin reiniciar:

Ahora verificaremos que nuestro lenguaje este correctamente instalado, introduce en la Terminal:

locale

Acá necesitamos chequear que todos los "=" estén completos, en mi instalación recién hecha tengo vacíos:

Así que los llenamos(con el idioma que tengamos, si lo tenemos en español veremos es_ES.UTF-8 o es_AR.UTF-8):

sudo update-locale LANGUAGE="en_GB.UTF-8" LC_ALL="en_GB.UTF-8"

Para que los cambios tengan efecto, reiniciamos:

reboot

Ahora instalamos las dependencias necesarias( No necesario en Raspberry Pi OS ni en Buster):

sudo apt install git lsb-release -y

Clonamos el repositorio oficial:

git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

Entramos al nuevo directorio:

cd RetroPie-Setup

Y ejecutamos con sudo el script de instalación:

sudo ./retropie_setup.sh

Instalará algunas dependencias, luego nos mostrará una ventana tipo D.O.S. En esta interface solo podremos movernos con las flechas del teclado, y las teclas Enter y BackSpace, elegimos:

OK con Enter.

Elegimos Basic Install, OK con Enter.

Yes

Esto instalará los emuladores y todo lo que necesita RetroPie, a tomar unos mates y volver en 15 o 20 minutos...

Luego de este procedimiento tendremos RetroPie instalado en su última versión(Siempre más avanzada de la que figura en la web oficial), podemos solo reiniciar o...

Ir a Manage packages -》Manage optional packages y elegir cualquier opción de emulador que queramos como ppsspp:

ppsspp  OK con Enter

Install from pre-compiled binary

Yes

Es mas rápido desde el binario que con from source, es tu decisión, siempre se puede revertir. From source necesita mas tiempo pero tendremos el último código del autor, obviamente con posibles errores.

Luego podemos ver Package help para saber que extensiones de roms son soportadas, en este ejemplo:

.iso , .pbp , .cso

Y la ruta por defecto donde poner nuestros roms:

$HOME/RetroPie/roms/psp

Presionamos Enter para volver, flecha para elegir < Back > y Enter.

Ahora podemos ir a:

Manage experimental packages

Y ver por ejemplo "redream" un emulador nuevo de Dreamcast(solo disponible en Raspberry Pi 4B, 5) :

● redream ,Enter

● Install from pre-compiled binary, Enter

● Yes

Acá no tenemos la opción de instalar desde el source, pero funciona de 10 en la Pi 4b 2Gb.

Elegimos Package help y vemos donde van las roms y que extensión deben tener:

● .cdi .cue .chd .gdi .iso

● $HOME/RetroPie/roms/dreamcast

Enter para regresar, la flecha para elegir <Back> y Enter.

Podemos instalar cualquier emulador que queramos de los listados, cada modelo de Raspberry Pi tendrá mas o menos emuladores disponibles.

Regresamos al menú principal y elegimos:

Bullseye:

Nos dará un error con el SDL2, que con el tiempo será solucionado, ya que nuestro sistema posee una versión más nueva que la que pretende usar RetroPie. Para quienes quieran evitar el error, pueden seguir los pasos descritos en este foro, sino obviarlo y jugar tranquilos hasta que los desarrolladores lo solucionen. Continuamos:

Ahora veremos RetroPie como splashscreen y nuestro Raspberry Pi OS normal, entonces, dónde está Retropie?

Abrimos la Terminal y escribimos:

● emulationstation

Si, no es muy copado, hagamos un Desktop shortcut.

Bajamos un lindo logo o tomamos uno prestado de la instalación:

$HOME/RetroPie/retropiemenu/icons (El que elegimos lo copiamos a Downloads y lo renombramos como Retropielogo.png)

Ahora necesitamos ponerlo en:

● /usr/share/pixmaps

● sudo cp $HOME/Downloads/Retropielogo.png /usr/share/pixmaps

Creamos un archivo llamado Retropie.desktop en:

● sudo nano /usr/share/applications/Retropie.desktop

Y en el escribimos las siguientes lineas:

● [Desktop Entry]

● Type=Application

● Name=Retropie

● Icon=Retropielogo

● Exec=emulationstation

● Categories=Application;Game;

● Terminal=true

Ctrl+o para guardar, Enter para confirmar el nombre del archivo, Ctrl+x para cerrar el editor nano. Y reiniciamos para que los cambios tengan efecto.

reboot

Ahora necesitamos obtener las roms de San Google, buscando:

roms nombre de la consola que quieres los juegos. (Ej: roms amstradcpc)

romset nombre de la consola que quieres todos los juegos. (Ej: romset amstradcpc)

Hay consolas que necesitan archivos Bios, los buscaremos de igual manera.

Las bios van en la carpeta BIOS:

● $HOME/RetroPie/BIOS

Acá hay información más detallada sobre las bios:

https://github.com/RetroPie/RetroPie-Setup/wiki/BIOS

Pero, estamos instalando RetroPie en nuestro sistema de escritorio, no queremos llenar la sd de juegos, así que podemos tener nuestros juegos en un SSD con un cable USB a SATA o un Pendrive. Así qué debemos decirle a emulationstation donde encontrar los roms.

Primero, tendremos que preparar nuestro dispositivo de almacenamiento externo, creando un directorio llamado:

RetroPie

Y dentro de el, otra carpeta llamada:

roms

El resto de carpetas dentro de roms, puede ser copiado de:

● $HOME/RetroPie/roms/

Solo abriendo el explorador de archivos y copiando y pegando las carpetas en el Pendrive, no se necesitan privilegios de root.

Ahora, necesitamos ver la ruta a nuestro pendrive o ssd, otra vez, solo abrimos el explorador de archivos y miramos la barra de direcciones.

Es hora de enseñarle a emulationstation donde están almacenados los juegos, para esto usaremos geany, porque es un editor de texto gráfico, haciendo más simple la edición:

● sudo geany /etc/emulationstation/es_systems.cfg

Aqui pegaremos la ruta de nuestro almacenamiento externo, por ejemplo, un SSD esta en FAT32 y siempre es montado por el sistema, sin haber tocado nada en fstab, en:

● /media/$USER/UsbStorage

O un Pendrive en:

● /media/$USER/CF328-7

Si recordamos, creamos una carpeta llamada RetroPie y otra dentro, llamada roms, y la ruta por defecto en el archivo es(ejemplo):

● $HOME/RetroPie/roms/amstradcpc

Pero como no queremos llenar la sd, cambiaremos esto:

● <path>$HOME/RetroPie/roms/amstradcpc<\path>

A esto:

● <path>/media/$USER/UsbStorage/RetroPie/roms/amstradcpc<\path>

Así que, solo copiamos y pegamos

/media/$USER/UsbStorage/ sobre $HOME/

De cada consola, que tengamos los juegos en el Pendrive, ten cuidado, hay un bloque system que no es una consola, se llama retropiemenu, esta no puede ser cambiada.

Luego de haber cambiado todos los <path><\path> guardamos el archivo, cerramos el programa mousepad o geany, y reiniciamos nuestra pi.

La ventaja de los Symlinks

Una alternativa más eficiente, es utilizar Symlink(enlaces simbólicos), los cuales solo ocuparan escasos kb en tu SD, y no necesitaras reeditar el es_systems.cfg cada vez que actualices tu compilación, o algún emulador, de hecho, ni siquiera tocaras ese archivo

Un enlace simbólico o symlinks es como un acceso directo, esos de windows, pero con la ventaja, de que el sistema cree o los puede ver a los archivos, como si realmente estuviesen en tu SD y no en tu Pendrive o SSD y mejor aún! Esto nos permite tener nuestros juegos tanto en el almacenamiento interno (SD) como en Diversos almacenamientos externos (roms de play en un Pendrive, roms de megadrive en un SSD, mas roms de play en otro Pendrive, roms de Nintendo 64 en un NAS o en un Servidor Samba), el limite serán nuestros puertos USB), para RetroPie todas esas roms estarán en $HOME/RetroPie/roms/consola, vamos a ello:


En principio debemos saber la ruta y nombre que le da nuestro sistema(Raspbian o Raspberry Pi OS) al almacenamiento externo, por lo general es montado en /media/$USER/nombre adjudicado , en mi caso fueron estos:

Las primeras 2 rutas las obtenemos asi:

La de SHARE no la veremos hasta haber entrado a dicha partición, mediante el explorador de archivos. 

Comando ln -s

Ejemplo consola megadrive:

El * es un comodín que nos evita escribir el nombre de cada juego, de esa forma le decimos que cree un enlace simbólico de cada archivo o carpeta que se encuentre dentro del directorio megadrive,podemos indicarle la extensión de los juegos si solo queremos enlazar las roms y no las imágenes y el gamelist.xml que le indica donde ver las caratulas, es decisión de cada uno, otra ventaja de esto, es que no reemplaza ningún archivo existente, así que no tendrás archivos duplicados


Hemos terminado, ahora vamos a Raspberry-》Games-》Retropie

Y configuramos nuestro teclado o joystick, y a disfrutar jugando cuando quieras en nuestra distribución de escritorio preferida!.


Creo que todo esto funcionará en mas sistemas ademas de Raspberry Pi OS, como Twister OS, el cual es Raspbian con esteroides y excelentes Themes, pero te servirá para actualizar su RetroPie ya que lo trae instalado. Otros que sepas que estén basados en Debian también servirán, como Diet pi OS

Consolas

Emulador:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Controles Amiberry(O desde la UI):

Emuladores:

Los juegos van en la carpeta:

Controles:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los Juegos van en la Carpeta:

Emuladores:

Los juegos van en la carpeta:

Joystick:

Emulador:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emulador:

Los juegos van en la carpeta:

En el primer lanzamiento, hay que configurarlo para que vea la carpeta BIOS. Presionar F1 -> Emulator configuration -> System Rom Setting

Las bios van en:

Emulador:

Los juegos van en la carpeta:

En el primer lanzamiento, hay que configurarlo para que vea la carpeta BIOS. Presionar F1 -> Emulator configuration -> System Rom Setting

Las bios van en:

Emulador:

Los juegos van en la carpeta:

Joystick:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Disk Image(.st .msa .ipf):

Emulador:

Los juegos van en la carpeta:

La bios va en:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los Juegos van en la Carpeta:

Controles:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los juegos van en la carpeta:

La bios va en:

Emuladores:

Los juegos van en la carpeta:

Los Juegos de Atomiswave y Naomi deben poseer extensión .zip del ROM Set Mame 0.218 y se emulan con lr-flycast

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Los Juegos de Atomiswave deben poseer extensión .zip del ROM Set Mame 0.218 en adelante

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Los Juegos de Naomi deben poseer extensión .zip .chd del ROM Set Mame 0.218 en adelante

Las bios van en:

Joystick:

Emulador:

Los Juegos van en la Carpeta:

Las Bios van en la Carpeta:

Controles:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emulador:

Los juegos van en la carpeta:

Game & Watch Romset

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick 3 botones:

Joystick 6 botones Wireless:

Joystick 6 botones:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick Intellivision:

Emulador:

Los juegos van en la carpeta:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Lista de BIOS BlueMSX

Dependiendo de cual Core corramos variara la bios

Los juegos van en la carpeta:

Las bios van en:

Emuladores:

Los juegos van en la carpeta:

Las bios va en:

Emulador:

Los juegos van en la carpeta:

Las bios va en:

Emulador:

Los Juegos van en la Carpeta:

La Bios es opcional e innecesaria, pero iría en la carpeta:

Controles:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Las bios va en:

Joystick:

Emulador:

Los juegos van en la carpeta:

Luego los extraemos:

Tras lo cual nuestros . pak quedaran en:

En almacenamientos FAT32  puede fallar la extracción entonces ponemos los .pak en:

Utilizamos este script para extraerlos:

Los juegos quedaran en:

Los datos de los juegos iran a:

Emulador:

Los juegos van en la carpeta:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

La bios va en:

Joystick:

Emulador:

Los juegos van en la carpeta:

La Bios va en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emuladores:

Los juegos van en la carpeta:

Joystick:

Emulador:

Los juegos van en la carpeta:

Emuladores:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emulador:

Los juegos van en la carpeta:

El nombre del directorio, debe poseer el sufijo .svm en su nombre, para ser lanzado directamente por Emulationstation.

Emulador:

Los juegos van en la carpeta:

Joystick 3 botones:

Joystick 6 botones Wireless:

Joystick 6 botones:

Emuladores:

Los juegos van en la carpeta:

Las bios va en:

Joystick 3 botones:

Joystick 6 botones Wireless:

Joystick 6 botones:

Emulador:

Los juegos van en la carpeta:

Las bios va en:

Emulador:

Los juegos van en la carpeta:

Utiliza F12 para acceder al Menú.

Las bios va en:

Emulador:

Los juegos van en la carpeta:

Joystick:

Emuladores:

Los juegos van en la carpeta:

La bios para Satellaview va en:

Joystick:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los juegos van en la carpeta:

La bios va en:

Emulador:

Los juegos van en la carpeta:

Las bios van en:

Obtenerlas legalmente:

Emulador:

Los juegos van en la carpeta:

Joysticks:

Emulador:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emulador:

Los juegos van en la carpeta:

Las bios van en:

Joystick:

Emulador:

Los juegos van en la carpeta:

Joystick:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los juegos van en la carpeta:

Emulador:

Los juegos van en la carpeta:

Emuladores:

Los juegos van en la carpeta:

Emulador:

Los juegos van en la carpeta:

Keyboard:

Arcade

Emuladores:

Los juegos pueden ir en:

Mame4all, lr-mame200:

lr-mame2003:

lr-mame2003-plus:

lr-mame2010:

lr-mame2015, lr-mame2016:

AdvanceMAME 0.94, 1.4, 3.9:

MAME, lr-mame:

Emuladores:

Los juegos pueden ir en:

lr-fbneo, lr-fbalpha2012, PiFBA:

Emuladores:

Los juegos van en:

Controles lr-fbneo, lr-fbalpha2012:

Controles:

 GnGeo-Pi

Binary Dir: /opt/retropie/emulators/gngeopi/bin

Config Dir: /opt/retropie/configs/neogeo

Controles: $HOME/.gngeo/gngeorc

La bios (neogeo.zip) va en:

Unibios:

Joystick Neogeo:

Emulador:

Los juegos van en:

Se necesitan 2 Bios al menos en la carpeta :

Joystick :

 Emulador:

Los Juegos van en la carpeta que intentes emular, sea creándola o utilizando las que ya existen:

La Bios va en la misma carpeta que el rom a emular

Ports

Emulador:

Los juegos van en la carpeta:

Emulador:

Emulador:

Los juegos van en la carpeta:

Hay que descomprimir Outrun set B del último MAME( outrun.zip ) en la carpeta cannonball.

Emulador:

Los juegos van en la carpeta:

Emulador:

Emulador:

Los juegos van en la carpeta:

Emulador:

Emulador:

Los juegos van en la carpeta:

Misiones:

Los juegos van en la carpeta:

Misiones:

Emulador:

Controles:

Emuladores:

Los juegos van en

$HOME/RetroPie/roms/ports/doom/ 

Emulador:

Los juegos van en

$HOME/RetroPie/roms/ports/duke3d 

Sistema:

Emulador:

Emulador:

Emulador:

Lincity es un clon de Sim City.

http://lincity.sourceforge.net/

Emulador:

Emulador:

Micropolis is essentially an open source version of the game Sim City.

https://www.donhopkins.com/home/micropolis/

Emulador:

Controles

Emulador:

OpenTTD is an OpenSource Port of Transport Tycoon Deluxe

https://wiki.openttd.org/OpenTTD

Emulador:

Emulador:

Controles

Emulador:

Los juegos van en

Emulador:

Emulador:

Los Juegos van en la carpeta:

Emulador:

Los juegos van en

Emulador:

Emulador:

Emulador:

Emulador:

Emulador:

Emulador:

Los datos del juego van en:

Datos:

Emulador:

¡legaste hasta acá, felicidades!

¡¡¡ A disfrutar!!!