RetroPie

Linux (Pi) GPLv3 | Used in: SG-28 SG-30

What It Does

RetroPie turns a Raspberry Pi into a retro gaming console by bundling EmulationStation (the front-end), RetroArch (the emulator framework), and dozens of pre-configured emulator cores for systems like NES, SNES, Genesis, Game Boy, PlayStation, and more. It provides a polished TV-friendly interface that boots straight into a game library with controller support out of the box.

Why You Need It

Signal guides SG-28 and SG-30 use RetroPie as a hands-on project to teach OS flashing, Linux configuration, networking (Samba/SFTP for ROM transfer), and input device management. Building a RetroPie system exercises the same skills as deploying any headless Linux appliance — image writing, SSH access, filesystem navigation, service management, and peripheral troubleshooting. It is also an excellent first project for students who are new to the Pi ecosystem because the payoff is immediate and tangible.

How to Install It

Official download: retropie.org.uk/download

Option 1: Flash the pre-built image (recommended for beginners)

  1. Download the RetroPie image for your Pi model (Pi 4/400, Pi 3, Pi 2/3, or Pi Zero 2 W).
  2. Flash it to an SD card using Raspberry Pi Imager — select "Use custom" and choose the downloaded .img.gz file.
  3. Insert the card and boot the Pi. RetroPie launches directly into EmulationStation on first boot.

Option 2: Install on existing Raspberry Pi OS

sudo apt update && sudo apt upgrade -y
sudo apt install git lsb-release -y
cd ~
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
sudo ./retropie_setup.sh

Select "Basic Install" from the setup menu. This takes 30-90 minutes depending on your Pi model.

Supported models: Pi 4 (best performance), Pi 3B/3B+, Pi Zero 2 W, Pi 400. The Pi 5 has experimental support only.

How to Use It

  1. First boot setup — On first launch, EmulationStation prompts you to configure a controller. Hold any button to begin, then map each input. A keyboard works as a fallback if no gamepad is connected.
  2. Transfer ROMs — ROMs go into /home/pi/RetroPie/roms/{system}/ (e.g., roms/snes/, roms/nes/). Transfer methods:
    • USB: Create a retropie folder on a USB drive, plug it in, wait for the activity light to stop, then unplug. The folder structure is created automatically — copy ROMs into the correct subfolders and plug it back in.
    • SFTP: Connect via an SFTP client (FileZilla, WinSCP) at pi@retropie.local and upload directly to the roms folder.
    • Samba: Access \\retropie\roms from a Windows file explorer or Finder on macOS.
  3. Configure controllers — From the EmulationStation main menu, go to "Configure Input" to remap buttons. For per-emulator tweaks, access the RetroArch menu in-game with Select + X (or your configured hotkey).
  4. Manage emulators — Run sudo ~/RetroPie-Setup/retropie_setup.sh to install optional emulator packages (e.g., Dreamcast, PSP, arcade). The setup script also handles updates and driver installations.
  5. Scrape metadata — From the EmulationStation menu, use the built-in scraper to download box art, descriptions, and ratings for your ROM collection. This populates the game list with cover images and info.

Common Gotchas

Pi 5 support is experimental

The Pi 4 is the best-supported model for RetroPie. Pi 5 works for many emulators but may have driver or compatibility issues with certain cores. Stick with Pi 4 for a reliable experience.

ROMs must go in the correct emulator folder

Dropping an SNES ROM into the nes/ folder means it will not appear in the game list. Each emulator scans only its own directory. Check the RetroPie docs for supported file extensions per system.

No ROMs ship with RetroPie

RetroPie is the emulation framework only. You must supply your own legally obtained ROM files. EmulationStation shows no systems until ROMs are present in the corresponding folders.

Power supply matters

Underpowered Pi units show a lightning bolt icon on screen and cause random crashes during emulation. Use the official Pi power supply (5V 3A for Pi 4) and a quality USB-C cable.

Restart EmulationStation after adding ROMs

New ROMs do not appear until EmulationStation rescans. From the main menu, select "Quit" then "Restart EmulationStation" — or reboot the Pi entirely.

Last Reviewed

Last reviewed: March 2026