Entrada
Preview Image

Recreativa con una PC antigua usando RetroPie en distros basadas en Debian

Linux: Recreativa con una PC antigua usando RetroPie en distros basadas en Debian

Motivación del proyecto

En mi caso, contaba con un equipo reciclado que fue recuperado desde una empresa que lo había dado de baja ya que no cumplía con las exigencias del uso diario, pero que seguía siendo perfectamente funcional. En lugar de dejarlo acumulando polvo, decidí darle una segunda vida destinándolo a un propósito concreto: transformarlo en una recreativa retro.

Hardware a utilizar

Contexto del hardware utilizado

Se trata de una placa madre Gigabyte GA-G31M-ES2L, basada en el chipset Intel G31 y socket LGA 775, una plataforma muy común entre 2007 y 2010.

Placa madre

Componentes principales internos

Chipset Intel G31 + ICH7
Conjunto de controladores de la placa base donde el G31 se encarga de la comunicación entre el procesador, la memoria y los gráficos integrados, mientras que el ICH7 gestiona las conexiones y periféricos como puertos SATA, USB y audio.

Chipset G31 + ICH7

Gráficos integrados Intel GMA 3100
Es más que suficiente para emulación de consolas clásicas (NES, SNES, Mega Drive, arcade, etc.), pero se queda corta para emuladores más pesados como PS2 o GameCube.

GMA 3100

Procesador Intel Celeron serie 3000
Es un procesador económico y modesto, suficiente para tareas básicas y para emulación de consolas clásicas.

Procesador

Soporte para dos memorias DDR2
En este modelo, cada ranura admite normalmente hasta 2 GB, alcanzando un máximo total de 4 GB, suficiente para mover bien el sistema y nuestro proyectos de emulación retro.

Ram DDR2

Disco duro Samsung HD502HJ de 500 GB (SATA II, 7200 RPM)
Unidad de almacenamiento mecánica con interfaz SATA II. Ofrece capacidad suficiente para instalar el sistema operativo, emuladores y una biblioteca amplia de títulos retro.

HDD 500GB

Fuente de poder Corsair CX850M
Fuente de alimentación que suministra energía estable a todos los componentes del sistema. Aunque su capacidad es superior a lo que requiere el equipo, se reutiliza para garantizar fiabilidad, eficiencia y margen suficiente para futuras ampliaciones.

Fuente de poder

El sistema no cuenta con tarjeta gráfica dedicada, por lo que todo el rendimiento gráfico depende de la GPU integrada y de un correcto soporte de drivers y OpenGL en el sistema operativo.

Elección del sistema operativo

Al tratarse de un equipo con hardware antiguo, debía considerar una distribución de Linux de bajo consumo de recursos, buena compatibilidad con equipos antiguos y soporte para la plataforma de emulación. La elección final fue Lubuntu 20.04 al ser una distribución basada en Ubuntu pero más ligera y muy estable.

Primero probé con Lubuntu 18.04, pero tuve problemas con algunos emuladores por temas de drivers gráficos y compatibilidad con OpenGL. Al pasar a Lubuntu 20.04 (kernel 5.4), el soporte mejoró y todo funcionó de forma más estable.

Instalación del sistema operativo

Una vez definida la distribución, procedí con la instalación de Lubuntu 20.04 en el equipo. El proceso es bastante sencillo y requiere dos pasos previos:

  • Preparación del USB booteable.
  • Configuración del arranque desde la BIOS.

Luego realicé una instalación limpia en el disco duro, priorizando un entorno ligero y optimizado para emulación.

A continuación, te dejo una guía breve de su instalación en formato presentación.

¿Qué es RetroPie?

El proyecto RetroPie se originó como una plataforma para permitir que usuarios de Raspberry Pi jueguen títulos retro mediante una imagen del sistema optimizada y fácil de instalar. Con el tiempo, la comunidad ha desarrollado un conjunto de herramientas y scripts que permiten instalar RetroPie también en sistemas basados en Debian/Ubuntu.

Este soporte se mantiene en el repositorio oficial RetroPie-Setup, el cual contiene scripts de instalación, configuración y componentes necesarios para RetroPie. Gracias a este repositorio, es posible adaptar la plataforma de emulación a hardware antiguo, como el usado en este proyecto. Lo más importante es entender que RetroPie tiene:

  • El sistema base: Raspberry Pi distribuyen una imagen personalizada con RetroPie preinstalado. En este proyecto, en cambio, se mantiene la base Ubuntu/Lubuntu y se instala RetroPie encima.
  • Emuladores: RetroPie incluye los emuladores más populares para distintas consolas clásicas.
  • Script de instalación: Simplifica la descarga, compilación y configuración de los paquetes necesarios.
  • Front-end: Utiliza EmulationStation como interfaz gráfica para organizar y lanzar los juegos..

¿Qué son las BIOS?

La BIOS (Basic Input/Output System) es un firmware que se ejecuta al encender una computadora antes de cargar el sistema operativo. En un PC permite configurar opciones como el orden de arranque, la fecha y hora o ciertos parámetros del hardware.

En el caso de las consolas de videojuegos, la BIOS también es una pequeña pieza de software que le dice al hardware cóm trabajar. Muchos emuladores emulan el BIOS de su sistema, pero algunos emuladores requieren que se proporcione un archivo BIOS para poder iniciar y ejecutar juegos correctamente.

Algunos BIOS también tienen derecho de autor y, por lo tanto, no se incluyen con RetroPie.

Por ejemplo, plataformas como PlayStation o Neo Geo requieren su BIOS correspondiente para lograr una emulación precisa.

Instalar RetroPie

Lo primero es contar con una distribución basada en Debian (como Ubuntu, Linux Mint, Ubuntu MATE o Lubuntu). En nuestro caso utilizamos Lubuntu 20.04, pero su guía oficial indica que es compatible con Ubuntu 18.04 LTS o versiones posteriores.

A continuación, iremos paso a paso. Ten en cuenta que, para ejecutar los comandos y el script de RetroPie-Setup, debes pertenecer al grupo de administradores (root/admin), es decir, contar con privilegios sudo.

1. Actualizar el sistema

Comienza por actualizar el sistema. Abre una terminal Ctrl+T y ejecuta los siguientes comandos:

1
2
sudo apt update
sudo apt upgrade -y

2. Instalar los paquetes necesarios

Una vez listo, se requieren algunos paquetes antes de comenzar la instalación, puedes instalar todos los paquetes con el siguiente comando:

1
sudo apt install git dialog unzip xmlstarlet

El script lo vamos a descargar desde su repositorio de GitHub, por eso es necesario que estos paquetes estén instalados.

3. Clonar el proyecto de GitHub

El primer paso es clonar los archivos del proyecto RetroPie de GitHub. Ejecuta el siguiente comando:

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

Ahora, debemos cambiarnos al directorio RetroPie-Setup:

1
cd RetroPie-Setup

4. Ejecutar el script de instalación

Finalmente, ejecutamos el siguiente comando para inicializar el script de instalación:

1
sudo ./retropie_setup.sh

El script comenzará a ejecutarse e instalará paquetes adicionales, tras unos breves momentos, aparecerá el menú como se muestra a continuación:

RetroPie Setup

Presiona Enter y repite el proceso para la siguiente ventana:

RetroPie Setup

Esto instalará los principales paquetes que son equivalente a lo que se proporciona con la imagen de RetroPie con la diferencia que esta será la versión de 32 bits de RetroPie lo que significa que algunos emuladores no funcionarán ya que solo funcionan con la versión de 64 bits.

Presiona nuevamente Enter para confirmar y comenzar el proceso:

RetroPie Setup

Este proceso puede tardar entre 20 a 30 minutos según las características del hardware y el ancho de banda de nuestra conexión a internet.

Una vez finalizada la instalación, el sistema regresará al menú principal del script. En ese momento, simplemente cierra la ventana y busca rpie (o ejecuta emulationstation desde la terminal).

Al iniciar el front-end, ya podemos acceder a la interfaz principal y comenzar a cargar juegos ROMs clásicos.

Cargar juegos

Una vez instalado y configurado RetroPie, el sistema inicia correctamente pero aún no muestra consolas ni juegos. Esto es normal, ya que RetroPie solo habilita los sistemas cuando detecta ROMs en sus carpetas correspondientes.

Las ROMs deben copiarse en el directorio del usuario en la siguiente ruta. Por ejemplo:

/home/pi/RetroPie/roms

Dentro encontrarás subcarpetas para cada sistema (nes, snes, megadrive, psx, etc.). Basta con copiar los juegos en la carpeta correcta y reiniciar EmulationStation para que aparezcan en el menú.

Carpeta ROMs RetroPie Carpeta ROMs RetroPie

Sobre las ROMs

Los emuladores como RetroPie son legales, pero la mayoría de las ROMs están protegidas por derechos de autor.

Puedes encontrar material en sitios de preservación o buscando términos como “ROMs SNES” o “ROM set”, pero lo recomendable es usar copias de juegos que poseas legalmente.

Retro roms set

Cuando ya tengamos las ROMs, podemos arrastrarlas a la carpeta correspondiente de cada plataforma. Por ejemplo, para NES:

Agregar ROMs Agregar ROMs

Configuración de controles

Al iniciar por primera vez, EmulationStation solicita configurar un mando. Este paso permite mapear botones y navegar por la interfaz.

Configurar input

Si no tienes un Joystick, se debe mantener cualquier tecla presionada para comenzar a definir:

  • Direcciones
  • Botones principales de acción
  • Start / Select

Configurar teclado como mando

Luego, los ajustes pueden refinarse desde el menú RetroPie Setup.

Personalizar RetroPie usando temas

Ya tenemos cargada varias ROMs, iniciamos RetroPie y observamos ya las plataformas diponibles:

Plataformas disponibles

Como puedes notar, la interfaz es bastante simple e intuitiva, lo que facilita navegar por las consolas y juegos sin complicaciones.

Aun así, RetroPie permite personalizar la apariencia instalando distintos temas e interfaces, por lo que puedes elegir un estilo más visual, minimalista o similar a otras consolas retro según tus preferencias.

Ingresamos al menú de RetroPie y busca la opción ES THEMES:

ES THEMES

Al seleccionar la opción se solicitará tu contraseña del sistema, luego buscamos un tema para descargar:

Descargar tema

Una vez descargado, presiona el botón de Start para abrir el menú y entrar en UI SETTINGS, luego selecciona el tema descargado:

Seleccionar tema descargado

Al presionar el botón Atrás o salir del menú, el tema se aplicará automáticamente. El tema que descargamos se visualiza de la siguiente manera:

Tema Zoid

Qué es el scraping

En el contexto de RetroPie, scrapear significa obtener automáticamente información de tus juegos desde internet para que tu biblioteca se vea más completa y visualmente atractiva.

Cuando realizas el scraping, el sistema descarga datos como:

  • 🎮 Carátulas (box art)
  • 📝 Descripciones
  • ⭐ Calificaciones
  • 📅 Año de lanzamiento
  • 🎬 Videos o previews (según el scraper)

Esto hace que la interfaz de EmulationStation pase de ser solo una lista de ROMs a una biblioteca visual mucho más atractiva.

Ejemplo de scraper

Cómo scrapear juegos

Para scrapear, inicia EmulationStation y realiza lo siguiente.

1. Abre el menú principal en EmulationStation

Presiona el botón Start en tu control o teclado y entra a la opción Scraper:

Seleccionar opcion Scraper

2. Configura las opciones principales

Se debe seleccionar una fuente de datos normalmente ScreenScraper o TheGamesDB siendo la primera la opción más completa y con mejor cobertura (puede tener límites de descarga sin cuenta) y la segunda alternativa es más simple y rápida pero con menos catálogo en su base de datos.

Fuente del scraper

RetroPie comenzará a buscar coincidencias para cada juego y descargará la información automáticamente.

Iniciar el scraper

Archivos de configuración RetroArch

Después de la instalación de RetroPie usando el script oficial del repositorio, el sistema genera una variedad de archivos de configuración de RetroArch para establecer opciones de manera global o específica para cada plataforma.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
sudo find / -name "retroarch.cfg" 2>/dev/null
[sudo] password for marco:
/opt/retropie/emulators/retroarch/etc/retroarch.cfg
/opt/retropie/emulators/retroarch/retroarch.cfg
/opt/retropie/configs/atari5200/retroarch.cfg
/opt/retropie/configs/gba/retroarch.cfg
/opt/retropie/configs/snes/retroarch.cfg
/opt/retropie/configs/atarilynx/retroarch.cfg
/opt/retropie/configs/atari2600/retroarch.cfg
/opt/retropie/configs/neogeo/retroarch.cfg
/opt/retropie/configs/channelf/retroarch.cfg
/opt/retropie/configs/psx/retroarch.cfg
/opt/retropie/configs/all/retroarch.cfg
/opt/retropie/configs/vectrex/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
/opt/retropie/configs/n64/retroarch.cfg
/opt/retropie/configs/amstradcpc/retroarch.cfg
/opt/retropie/configs/ngpc/retroarch.cfg
/opt/retropie/configs/gamegear/retroarch.cfg
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/pcengine/retroarch.cfg
/opt/retropie/configs/fba/retroarch.cfg
/opt/retropie/configs/zxspectrum/retroarch.cfg
/opt/retropie/configs/mastersystem/retroarch.cfg
/opt/retropie/configs/atari7800/retroarch.cfg
/opt/retropie/configs/ngp/retroarch.cfg
/opt/retropie/configs/msx/retroarch.cfg
/opt/retropie/configs/gb/retroarch.cfg
/opt/retropie/configs/gbc/retroarch.cfg
/opt/retropie/configs/fds/retroarch.cfg
/opt/retropie/configs/segacd/retroarch.cfg
/opt/retropie/configs/sg-1000/retroarch.cfg
/opt/retropie/configs/megadrive/retroarch.cfg
/opt/retropie/configs/atari800/retroarch.cfg
/opt/retropie/configs/coleco/retroarch.cfg
/opt/retropie/configs/sega32x/retroarch.cfg
/opt/retropie/configs/nes/retroarch.cfg

Configuración global de RetroArch

Este es el archivo más importante para modificar la configuración, ya que afecta a todas las plataformas que no tengan esas opciones definidas explícitamente.

Este archivo base se encuentra en:

  • /opt/retropie/configs/all/retroarch.cfg

Aquí puedes cambiar un montón de cosas, entre ellas el mapeo de controles específico para cada sistema.

Una de las cosas que a mí me resulta molesta son las decoraciones de ventana, que en algunos casos vienen habilitadas por defecto. Por eso es una opción que prefiero desactivar para todos los sistemas, y se define en ese archivo de configuración.

Decoraciones de ventana

Esa opción viene comentada en el archivo (en mi caso, alrededor de la línea 177). Solo se debe descomentar y cambiar su valor a false, como se muestra a continuación:

Cambiar opción de las decoraciones de ventanas

Al reiniciar, podrás notar el cambio.

Configurar overlay

Otro aspecto que podemos configurar y mejora el aspecto visual, son los overlays. Si la imagen del juego no ocupa el 100 % del área, se verá un fondo negro o, en caso de tenerlo configurado, se mostrará el overlay.

La relación de aspecto es la proporción entre el ancho y el alto de la imagen en la emulación. Por defecto, viene la opción definida de la siguiente manera:

1
video_aspect_ratio_auto = "true"

Esta opción le dice a RetroArch que calcule automáticamente la relación aspecto correcta, se puede decir que intenta mostrar el juego como se veía en su hardware original. Si la proporción se respeta, se rellenará con el fondo negro.

espacios en la pantalla

Usar Bezel Project

The Bezel Project es un proyecto comunitario que automatiza la descarga e instalación de overlays (bezels) para RetroPie y otros sistemas de emulación.

En pocas palabras:

  • Instala los marcos decorativos para cada sistema.
  • Crea automáticamente los archivos de configuración-

El proyecto no viene instalado por defecto en RetroPie. Para que aparezca en el menú debemos añadir su script manualmente. Para ello, hace lo siguiente:

  1. Salir de EmulationStation con F4.
  2. Ejecuta el siguiente comando
1
2
3
cd ~/RetroPie/retropiemenu
wget https://raw.githubusercontent.com/thebezelproject/BezelProject/master/bezelproject.sh
chmod +x bezelproject.sh
  1. Reiniciar EmulationStation

Después debería aparecer como opción. Tal como se muestra a continuación:

Opción bezel project

Al seleccionar la opción, se nos solicitará la contraseña de superusuario y aparecerá un cuadro informativo, el cual aceptamos presionando Enter.

Aceptar el mensaje de información

Y ahora estamos en el menú, donde encontramos la opción 3 para descargar marcos decorativos. Por ejemplo, podemos descargar el bezel para Super Nintendo, es decir, para la plataforma SNES:

Descargar bezel para la snes

Una vez descargado, volvemos al menú para habilitarlo desde la opción 5 y luego seleccionamos la plataforma correspondiente.

Habilitar bezel

Por último, cuando carguemos un juego de la Susper Nintendo, pasaremos del fondo negro a lo siguiente:

Juego mk3 usando bezel

Esta entrada está licenciada bajo CC BY 4.0 por el autor.