RetroPie setup on Raspberry Pi — ROMs, BIOS, and controller not working
You have a Raspberry Pi running RetroPie but your ROMs are not showing, the controller is unresponsive in EmulationStation, or PS1/N64 games won't launch because BIOS files are missing.
RetroPie is the most popular retro gaming OS for Raspberry Pi, combining EmulationStation (the frontend) with RetroArch and standalone emulators. Three issues account for the vast majority of first-time setup problems:
- ROMs placed in the wrong folder — each system has its own subfolder under
~/RetroPie/roms/; files outside these subfolders are invisible to EmulationStation. - Missing BIOS files — PS1, Saturn, Dreamcast, NDS, and a handful of other systems require console firmware that you must supply legally (dumped from your own console). Without the correct BIOS file the game launches to a black screen or an error.
- Controller not configured — EmulationStation requires a one-time button-mapping pass on first boot. If that was skipped or the controller was plugged in after boot, input may be completely unresponsive.
RetroPie runs on Raspberry Pi 2, 3, 4, and 5 (and Pi Zero 2 W). Performance scales with model: Pi 4 handles PS1, N64, and most 16-bit systems well; Pi 5 adds feasible PS2 and GameCube emulation.
Solutions
Solution 1
Flash the RetroPie image to a microSD card, boot the Pi, and transfer your ROMs to the correct system-specific subfolder via the network share.
- Download the official RetroPie image for your Pi model from retropie.org.uk/download. Choose the image matching your hardware (Pi 4 / Pi 5 / Pi 3 / etc.).
- Flash the image to a microSD card (32 GB minimum, A1/A2 speed class recommended) using Balena Etcher or Raspberry Pi Imager.
- Insert the card and power on the Pi. On first boot, EmulationStation launches a controller configuration screen — hold any button on your controller to begin mapping (see Solution 2 for details).
- On a PC connected to the same network, open Windows Explorer and navigate to
\\retropie\roms(or use the Pi's IP:\\192.168.x.x\roms). - Copy your ROM files into the correct system subfolder:
- NES →
roms/nes/— extensions:.nes - SNES →
roms/snes/— extensions:.sfc.smc - Game Boy / GBC →
roms/gb/androms/gbc/— extension:.gb.gbc - GBA →
roms/gba/— extension:.gba - Sega Genesis / Mega Drive →
roms/megadrive/— extensions:.md.bin.smd - PS1 →
roms/psx/— extensions:.chd.bin+.cue.pbp - N64 →
roms/n64/— extensions:.z64.n64.v64 - Dreamcast →
roms/dreamcast/— extensions:.chd.gdi - Nintendo DS →
roms/nds/— extension:.nds
- After transferring ROMs, go back to EmulationStation and press Start → Quit → Restart EmulationStation. The system will rescan and your games will appear.
Mac users: connect via Finder → Go → Connect to Server → smb://retropie.
Solution 2
If your controller shows no response in EmulationStation, run the button-mapping wizard manually. This must be completed before you can navigate or launch games.
- Connect your controller via USB (or pair Bluetooth via RetroPie Setup → Bluetooth).
- From the EmulationStation home screen, press and hold any button on the controller for 3–5 seconds until the configuration dialog appears.
- Follow the on-screen prompts to map each button (D-pad, face buttons, shoulder buttons, Start, Select, analog sticks if present).
- For buttons your controller does not have (e.g. L3/R3 on a basic gamepad), hold any button to skip that entry.
- Once mapping is saved, test navigation. If the controller is still unresponsive after mapping, SSH into the Pi (
ssh pi@retropie, default passwordraspberry) and runemulationstationfrom the terminal to see error output.
Xbox / PS controllers via USB are plug-and-play in RetroPie on Pi 4 and Pi 5. 8BitDo controllers require updating to the latest firmware and setting the mode switch to X (XInput) before pairing.
Solution 3
PS1, Saturn, Dreamcast, and Nintendo DS require BIOS firmware files that RetroPie does not include. Without them, games either fail to launch or boot to a black screen.
All BIOS files go in: ~/RetroPie/BIOS/ (accessible via network share at \\retropie\BIOS).
- PS1 — needs
scph5500.bin(Japan),scph5501.bin(USA), orscph5502.bin(Europe). The region matching your game's region is required. Dump from your own PlayStation console using FreePSXBoot + dump utility. - Sega Saturn — needs
saturn_bios.bin(JP) orsega_101.bin(US). Saturn emulation on Pi 4 is limited; Pi 5 via Kronos is more capable. - Dreamcast — needs
dc/dc_boot.binanddc/dc_flash.bin(place inside adc/subfolder under BIOS). Dump from your own Dreamcast. - Nintendo DS — needs
bios7.bin,bios9.bin, andfirmware.bin. Dump using GodMode9 on a DS/DSi. Without all three, melonDS core runs HLE mode (most games work; edge cases may fail). - GBA —
gba_bios.binis optional; mGBA HLE mode runs correctly without it. Only needed for a small number of games that depend on real BIOS behavior. - N64 — no BIOS required. If N64 games fail, switch the core in RetroArch from Mupen64Plus-Next to ParaLLEl N64 for better compatibility.
After placing BIOS files, restart the relevant game. If PS1 games still fail, open RetroArch while in a PS1 game (Hotkey + B to open menu) → Core Options → BIOS and confirm the correct file is detected.
Solution 4
If performance is poor or a system is missing, update RetroPie's package list and enable the correct emulator for your Pi model.
- From EmulationStation: Start → RetroPie Setup.
- Select Update RetroPie-Setup Script, then Basic Install or update individual packages (e.g. install
pcsx2for PS2 on Pi 5). - For Pi 4/5, enable the fkms or kms video driver in raspi-config → Advanced → GL Driver for better performance in demanding emulators.
- Overclock options for Pi 4 are available in
/boot/config.txt: setarm_freq=2000andgpu_freq=700with adequate cooling to improve N64 and PS1 performance. - If a system does not appear in EmulationStation even after adding ROMs, it may require a separate install: RetroPie Setup → Manage Packages → Optional Packages and install the missing emulator (e.g.
pcsx-rearmedfor PS1,lr-mupen64plus-nextfor N64).
Still broken? Check the RetroPie log at /tmp/emulationstation.log via SSH for detailed error messages. The RetroPie documentation at retropie.org.uk/docs covers per-system BIOS requirements and core recommendations.
Comments (0)
Sign in to_leave_comment