Use RetroPie to turn your Raspberry Pi in a retro gaming machine! Play games from old systems like the NES, SNES, SEGA, Atari, and many more!
This guide was completed using the Raspberry Pi Model 3 B+ and Raspbian Stretch (2019-04-08 release).
The RetroPie operating system was built upon projects including Raspbian, EmulationStation, and RetroArch. It is feature-rich and allows quite a bit of customization. This guide will show you the minimum setup needed to get going with your own Raspberry Pi powered retro gaming unit.
What is an Emulator? An emulator is a set of software instructions that tells a computer (in this case, the Raspberry Pi) how to behave like a different computer (in this example, various Video Game consoles). RetroPie comes preloaded with a ton of different emulators, and even more can be downloaded from within the operating system.
What is a ROM? A ROM contains a copy of the data from a read-only memory chip (in this case, a video game cartridge). Loading a ROM in RetroPie is equivalent to putting a cartridge in a video game console.
In our guide, we used the very cool open-source GameBoy Color game µCity with the permission of its creator, Antonio Niño Díaz. You can check it out here: https://github.com/AntonioND/ucity
The Copyright/Intellectual Property Rights Laws are complex regarding ROMs and differ from Country to Country. As a result, (even they are readily available online) ROMS do not come pre-installed on RetroPie. You will have to source/provide your own.
What is a BIOS? A BIOS is a set of software instructions that tells hardware how to work. Most emulators in RetroPie will emulate their own system’s BIOS, but others may require a file.
Some BIOSs files are also copyrighted and will not be pre-installed on RetroPie.
Hardware
What you will need for RetroPie:
- Raspberry Pi (latest board, 3B+ Recommended)
- Good Quality Power Supply (5V 2.5A)
- MicroSD Card, Class 10, 16GB/32GB/64GB, Blank or preloaded with NOOBS / Raspbian
- HDMI Cable
- (Highly Recommended) 1 or more USB Gamepads / Controllers (essential if you’re not using a USB Keyboard as input)
- (Highly Recommended) USB Keyboard and Mouse (essential if you’re not using a gamepad as input, or if you’re starting from a preloaded NOOBS/Raspbian microSD card)
- (Highly Recommended) A microSD card reader (essential if starting with a Blank microSD card)
- (Recommended) Raspberry Pi Case
- (Recommended) Heatsinks
- (Optional) USB Stick (for transferring ROMS)
- (Optional) Ethernet Cable (if not using onboard WiFi)
Coming Soon! At PiShop.us we’re working on our very own Retro Gaming Kit with everything you need to get started with RetroPie!
Also Required:
- A Television or Computer Monitor (with HDMI)
- A PC for transferring ROMs
Installation
There is a bit of setup needed to get RetroPie up and running. If you get stuck at any time, please don’t hesitate to email us at [email protected]. More information can be found at the RetroPie documentation page and in the RetroPie Forums.
Due to licensing restrictions, RetroPie cannot be sold pre-installed on a microSD card.
Option 1: Manual Installation on top of NOOBS or Raspbian
This option is for anyone that is looking to install RetroPie on top of their existing Raspbian image, or for those that already have a preloaded NOOBS or Raspbian microSD card. It requires a USB Keyboard and the use of the terminal/command line. Those that would like to skip typing, or who want the quickest and easiest install should go with “Option 2” below, using the premade image available from RetroPie.
Note: These instructions should work equally well from the command line in Raspbian Lite.
Step 1: Basic Setup
If you’re using heatsinks, install them on the board. If you’re using a case, the microSD card may need to be inserted into the Raspberry Pi either before or after assembly, depending on the specific model of case. Next, plug in your peripherals; USB keyboard and mouse (and controllers/gamepads if you’re using them), HDMI cable, and lastly the power supply. You should see the rainbow boot screen come alive on your monitor.
From NOOBS, you’ll have to install Raspbian. This may or may not require an internet connection depending on which version of NOOBS your microSD card came preloaded with. For more information, please check out the official NOOBS documentation.
If this is your first time booting into Raspbian, you’ll be prompted to go through initial setup. Once complete, your Raspberry Pi will reboot.
Important Note: You will need Raspbian to be connected to the internet (via WiFi or Ethernet cable). Enabling SSH is also recommended.
Step 2: Make sure Raspbian is up to date:
sudo apt-get update && sudo apt-get upgrade
Step 3: Check that system locale settings are valid:
The RetroPie operating system requires valid system locale settings. Check that all fields are set before proceeding.
locale
An example of valid Canadian locale settings:
If any fields are not set, they can be generated
sudo raspi-config
Select “Localisation Options”
Select “Change Locale”
Select “All locales”
Select your default locale
Step 4: Set Video Memory Allocation
The default video memory allocation in Raspbian doesn’t work with RetroPie and must be changed.
sudo raspi-config
Select “Advanced Options”
Select “Memory Split”
Enter the number 256
Step 5: Download RetroPie Packages and Setup Script
sudo apt-get install git lsb-release
cd
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
Step 6 : Install RetroPie
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh
A dialogue should appear, press Enter
Select “Basic install”
Select “Yes”
After installation completes, exit the dialogue.
To switch to RetroPie at any time, simply use the command emulationstation from the Raspbian command line (you will have to exit the Raspbian GUI from the Start Menu > Shutdown option. Select “Exit to command line” at the prompt).
Step 7: (Optional) Start RetroPie at boot
If you would like to boot into RetroPie directly, do the following (You can always return to Raspbian by pressing the F4 key and using the command startx to run the GUI).
sudo RetroPie-Setup/retropie_setup.sh
Select Configuration / tools
Select autostart
Select Start Emulation Station at boot
Exit dialogue and reboot.
Option 2: Download the image directly from RetroPie and flash it onto a blank microSD card
This option is best for beginners. It requires a microSD card reader.
Step 1: Download the image from RetroPie
Visit https://retropie.org.uk/download/ and select the version for your board model (Raspberry Pi 2/3 for those using the latest board) to download.
(Optional) Compare the md5 sum (in Windows it is under Properties > File Hashes).
Step 2: Write the image to a microSD card
Insert your microSD card into your PC using a microSD reader.
Download and install Balena Etcher: https://www.balena.io/etcher/
Run Balena Etcher, carefully select the downloaded RetroPie image and the microSD card. Click Flash (an administrative popup may appear)
The program will let you know when the Flash is successful.
Step 3 : Basic Setup
If you’re using heatsinks, install them on the board. If you’re using a case, the microSD card may need to be inserted into the Raspberry Pi either before or after assembly, depending on the specific model of case. Next, plug in your peripherals; Controller/Gamepad/USB keyboard, HDMI cable, and lastly the power supply. You should see the rainbow boot screen come alive on your monitor.
Configure Controllers
This is where you will determine which buttons on your controller (or USB keyboard) will map to the buttons in RetroPie.
Step 1: Initial Configuration
The first time you boot into RetroPie, you’ll be prompted to set your device’s button configuration. Hold down any button on your gamepad or keyboard and RetroPie will detect it.
Once detected, all you have to do is carefully press the button on your device that you’d like to have mapped to the real game controls. We highly recommend using RetroPie’s fabulous documentation to help map your device properly. Long hold any button to skip a control.
When you reach the end of the list, you’ll be asked to specify a hotkey. We recommend either choosing the button you have mapped to “SELECT” or a button you wouldn’t normally use, like the center button on some controllers. Press the button mapped to A when complete.
The HOTKEY ENABLE button will allow you to easily perform actions while in a game:
Hotkey + Start |
Exit |
Hotkey + Right Shoulder |
Save |
Hotkey + Left Shoulder |
Load |
Hotkey + Right |
Input State Slot Increase |
Hotkey + Left |
Input State Slot Decrease |
Hotkey + X |
RGUI Menu |
Hotkey + Y |
Reset |
Step 2: (Optional) Reconfiguration and Adding Additional Controllers
If you mess up, want to change your configuration, or want to add a second controller, you can go through the process again at any time from the main menu.
From the RetroPie screen, press the button mapped to START
Choose “Configure Input”
You will be prompted with a dialogue asking if you’re sure that you want to configure input. Select Yes
.
From here, simply hold down a button on your controller to go through the configuration again.
If you have messed up your configuration and can no longer reach the main menu to change it, try the following instructions.
Attach a USB keyboard and press F4. From the command line type:
cd .emulationstation
sudo rm es_input.cfg
cd
emulationstation
Transferring ROMs
We’re almost at the fun part where you get to start playing your retro games! Here is how to load them onto RetroPie.
Option 1: SSH transfer
If you installed RetroPie on top of Raspbian and already have WiFi and SSH enabled, you can skip the first two steps.
Step 1: Connect to WiFi
Or skip this section, and just plug in an Ethernet cable!
Note: You will need to attach your USB keyboard to enter your WiFi password in the next section.
From the RetroPie screen, press A to enter configuration
Navigate to “WIFI” and press A again to launch
Select option 1 “Connect to WiFi network”
Select your network from the list, and then you will be prompted to enter your password.
Step 2: Enable SSH
From the configuration screen, select and launch RASPI-CONFIG
Select option 5 “Interfacing Options”
Select “P2 SSH” and choose Yes at the prompt
Step 3: Find your IP Address
From the configuration menu, select and launch “SHOW IP”
You will want to record the number displayed at the top for the next steps (192.168.0.115 in this example, but yours may be different):
Step 4: Get an SFTP program and connect to RetroPie
For Windows, we used WinSCP.
After downloading and running the installation, launch the program and enter the following details (this username and password are the defaults for RetroPie):
File Protocol: SFTP
IP address: <Your IP Address from the Previous Step>
Port Number: 22
Username: pi
Password: raspberry
You may be prompted to accept the Raspberry Pi’s certificate on your first login.
Step 5: Drop your ROM Files
In the SFTP program, navigate to the “RetroPie” and then “roms” in the left panel. Navigate to the location of the ROM on your PC with the right panel.
From here, navigate into the console folder for the ROM you’re adding. Just drag and drop it from your computer. In our example, we’re adding the open source GameBoy Color game “uCity” to RetroPie’s gbc ROM folder.
You’ll see the console and game populate on RetroPie after your next reboot:
Option 2: USB transfer
From your PC, format the USB stick to FAT32 and create a folder named “retropie” on it.
Insert it into the Raspberry Pi and wait for the Pi’s green LED to stop blinking.
Reinsert the USB it into the PC. You’ll find that new folders were created. Navigate to “retropie” and then “roms”.
From here, navigate into the console folder for the ROM you’re adding and copy and paste the file from your computer. In our example, we’re adding the open source GameBoy Color game “uCity” to RetroPie’s gbc ROM folder.
Reinsert the USB into the Raspberry Pi and wait for it to finish blinking before removing it. Your ROMS will be transferred over. Simply reboot or refresh to see the consoles and games populate on RetroPie.
(Optional) Troubleshooting - Enable USB ROM Service
If you find that your USB stick does not have the folders added when you first insert it, you may need to install the USB ROM Service.
From the configuration menu, select “RETROPIE SETUP”
Select “Manage packages”
Select “Manage optional packages”
Scroll all the way to and select “usbromservice”
Select “Install from binary”
After the install finishes, reboot the Raspberry Pi. The correct folders for your USB stick should be generated now.
Play your Games!
You should now be all set to play your retro games!