You have RetroPie installed onto a micro SD card and you’re ready to roll. After this, getting started with RetroPie on Raspberry Pi was quite a daunting task for me at first. In hindsight I think it was mainly because of the key settings and understanding the different layers to get to the end result (playing games!).
The guys behind RetroPie has done such a great job and the current version (RetroPie 4.2 at the time of writing) is capable of doing so much. Getting started with RetroPie on Raspberry Pi is merely an attempt to get you up and running with the least amount of effort. To do so, go through all the steps below.
What you need to know for now
RetroPie is the actual operating system (OS) of the project. It is Raspbian based and specifically for the Raspberry Pi. RetroPie manages all OS related settings through the Raspi-config tool and other Linux bootup files.
EmulationStation is the graphical frontend (GUI) used by RetroPie. It is not an emulator, but an emulator, game and App launcher that also manages controller and keyboard support. EmulationStation also provides access to the RetroPie configuration settings.
Emulators are the different (pre-installed or additional-installed) ‘programs’ or ‘cores’ on the RetroPie system. The emulators run the ROMs.
Libretro is the framework for the emulators and ‘libretro cores’ are the emulators themselves.
Retroarch is the frontend or GUI for libretro.
ROMs (e.g. ROM images or ROM files) are computer files which contains a copy of the data from a read-only memory chip, i.e. the games. You will need your own ROMs!
What you need to get started with RetroPie
A fully functional, powered up Raspberry Pi 2 or 3 with at least a keyboard and a screen connected to it. The Raspberry Pi 3 is of course the better choice.
For one of the sample games (S.D.I.), and I suppose for some other games too, you will need a mouse (either USB or wireless is fine).
In order to do some of the required steps, you will need a PC and basic PC knowledge.
To get RetroPie on the Raspberry Pi you will need a lekker fast, large MicroSD card (at least class 10 and 32Gb of space) and a MicroSD card reader to install the OS with.
An internet connection is optional, but necessary for proper updating and net play. WiFi or Ethernet will do.
You will also need an USB Flash Drive to easily transfer ROMs from your PC onto RetroPie. I recommend having a dedicated Flash Drive for RetroPie. One with a flashing LED would be very beneficial!
We’re going to use RetroPie 4.2
The first RetroPie boot
At the first boot a few things will happen. Among other things, the SD card will be enlarged. And eventually it will boot into EmulationStation.
This will be the first time you set up a controller (called mapping). We are going to use the keyboard. I connected a wireless keyboard without hassle. To bind the keyboard itself, press and hold the up key (hold it in for about 3 seconds).
Initially it is crucial that you at least bind the direction keys correct (up, down, left, right) and the A- and B-keys. If you made a mistake with this before pressing on Done, you can press the F4 key to, go back to the RetroPie terminal and type in
sudo reboot to start over again. To skip a key specific binding, press and hold the Esc key. When finished, press the A-key on Done.
If you made a mistake with key mapping while (stuck) in EmulationStation follow the instructions at the bottom of this post.
The EmulationStation keys that you will be using the most during the setup process is the A-key, B-key, Start-key and Select-key.
Now that you have your EmulationStation booted up, it will start in the default frontend with the RetroPie Configuration. This is where it all starts! From here you will have two options – you can either go into the EmulationStation Main Menu, RetroPie Configuration or the RetroPie terminal.
Introduction to the important configuration & menu screens & the terminal
There are four important screens to master: EmulationStation Main Menu, RetroPie Configuration, raspi-config and the Retropie-Setup Script.
Some of these screens uses the EmulationStation key mappings while others use the default linux menu keys.
The EmulationStation Main Menu
To get to the EmulationStation Main Menu, simply press press the Start-key.
The RetroPie Configuration screen
To get to the RetroPie Configuration screen, choose RetroPie Configuration (A-key) from EmulationStation.
The Raspberry Pi Software Configuration Tool (raspi-config)
To get to raspi-config, choose RASPI-CONFIG (A-key) from the RetroPie Configuration screen.
The RetroPie-Setup Script
The easiest way to get to the RetroPie-Setup Script is by choosing RETROPIE SETUP (A-key) from the RetroPie Configuration screen.
The RetroPie-Setup Script can also be accessed through the RetroPie terminal (by pressing the F4 key while in EmulationStation) or from SSH:
sudo bash RetroPie-Setup/retropie_setup.sh
Some commands can only be done through the terminal while some commands are just much easier to do through the terminal. The RetroPie terminal is similar to all Linux terminals.
The RetroPie terminal can be accessed by pressing the F4 key while in EmulationStation or from SSH.
To exit the terminal, type in
sudo reboot to boot back into EmulationStation or
exit to simply go there.
Internet and Raspi-config settings
Connect via Wi-Fi (optional)
- From the RetroPie Configuration screen, scroll down to WIFI
- Connect to WiFi network
- Choose the network
- Enter the network key/password
Get the IP address
There are two easy ways to get the IP address of RetroPie:
- From the RetroPie Configuration screen, scroll down to SHOW IP
- In the RetroPie terminal (by pressing F4 while in EmulationStation).
From the When back in the RetroPie Configuration (raspi-config) screen, choose RASPI-CONFIG -> Update. This will update the Raspi-config tool to the latest version and sommer test your Wi-Fi/internet connection at the same time.
To enable SSH, from RASPI-CONFIG -> Interfacing Options -> P2 SSH and enable it. The effects will be evident after a reboot (but you don’t have to reboot yet). After rebooting you should be able to SSH into RetroPie using PuTTY and/or WinSCP.
Use the IP address, username:pi and password:raspberry to SSH into RetroPie.
Correct Overscan (optional)
Overscan might, or might not create a fuller image. Try activating or deactivating this setting in the Raspi-config tool under Overscan under the Advanced Options menu.
Keyboard settings (optional)
From the Raspi-config tool go to Localisation Options and under Change Keyboard Layout I usually choose the Generic 105-key (Intl) PC setting and then when prompted next under Keyboard Layout I choose English (US) [make sure it’s US!]. I don’t use keyboard functions so I just choose the default settings there.
Update RetroPie (important)
Apart from updating raspi-config (RASPI-CONFIG -> Update), you should also update all the other RetroPie packages from time to time.
This process will update the RetroPie-Setup Script, all the RetroPie Linux packages, RetroArch (emulators), the drivers and all the optional and experimental installed packages.
From the RetroPie-Setup Script go to Update all installed packages and follow the prompts.
Adding the ROMs
There are a lot to say about the legality of owning an electronic form of ROMs, but to skip all that we can use some of the games on the Wikipedia List of commercial video games released a freeware. The sample games I identified was:
- Zero Tolerance (Genesis) – Download
- Warzone 2001 (PlayStation) – Download
- S.D.I. (Atari ST) – Download
- Rocket Ranger (Nintendo Entertainment System – NES) – Download
Before we start – having the emulators installed
To be able to emulate ROMs, you need emulators. You will only be able to play a specific system’s ROM if that system’s emulator is installed. Most of the popular system emulators are pre-installed (e.g. Genesis/Mega Drive, PlayStation and NES), but some must be manually installed (e.g. for the Atari ST).
Before starting to add these ROMs, Hatari (Atari ST/STE/TT/Falcon emulator) needs to be manually installed:
You can skip this, or you can come back if need information on how to install additional emulators.
From the RetroPi-Setup Script go to Manage Packages -> Manage optional packages -> hatari (item 20) -> Install from binary.
For more information on the settings of the emulator see the hatari GitHub link.
After installing hatari you can go Back, Back, Back, Exit, B-key to end up in EmulationStation again.
Preparing the USB Flash Drive
There are some other ways to add ROMs to RetroPie, but the easiest for most people would be to use a (dedicated) USB Flash Drive. Before this can be done, the Flash Drive needs to be prepared first:
- Format the Flash Drive using your PCs operating system. Usually following the prompts/options with something like Right click on the drive letter and Format… If the drive is already empty, you can skip this step.
- Create a directory named
retropiein the root of the Flash Drive and safely unmount the Drive before transferring it to the Raspberry Pi.
- Directly after being plugged into the Raspberry Pi the Flash Drive LED will start to blink repeatedly. You can just unplug it again after the blinking has stopped. If it is a LEDless Flash Drive, leave it in for about 60 seconds before unplugging it.
- After plugging the Flash Drive back into a PC, there will be 2-3 newly created directories under the
The Flash Drive is now prepared!
This process only needs to be repeated if you want to add more emulators to RetroPie.
Preparing the ROM files
Firstly, RetroPie can either handle the original ROM format (e.g. .md & .nes) or in some cases single ROM file compressed/zipped files. I only tested .zip files so far, so I can’t vouch for .7z and .rar files yet. After downloading ROMs, they are usually already compressed. Except for Warzone 2001 and S.D.I, the others mentioned above are all singe ROM files and can just stay compressed like that. Warzone 2001 and S.D.I. needs to be uncompressed to give access to both the .bin and .cue files and the .st file respectively. When in doubt, rather uncompress the files.
Secondly, some downloaded ROMs might have some jargon files packaged inside the compressed files. If that system’s emulator allows compressed files, these files will probably not interfere with the process, but I like to remove them. You can too if you know how to.
Thirdly, most versions of downloaded ROMs (compressed or uncompressed) will be named with additional information, such as the version, region or site they were downloaded from. I like to rename these files to something more human readable. (The file name of the compressed/ROM file will actually be shown on RetroPie.)
Transferring the ROMs
Finally! But were not completely finished after this yet…
Now the (downloaded) ROMs need to be placed in their respective ROM directories onto the Flash Drive. With the Flash Drive plugged into a PC, browse to the
retropie/roms directory to see all the emulator directories that are now available.
Transfer the ROMs like so (make a mental note on how it more or less take to copy the ROMs onto the Flash Drive):
- Zero Tolerance ->
- Warzone 2001 ->
- S.D.I. ->
- Rocket Ranger ->
Once again, safely unmount the Flash Drive before transferring it back to the Raspberry Pi. This time all the ROMs copied onto the Flash Drive are going to be transferred onto RetroPie’s MicroSD card. Allow enough time until the LED stops blinking again, or at least the amount of time it took to copy the ROM files onto the Flash Drive.
Once this is done, the Flash Drive can be removed from the Raspberry Pi and RetroPie must be rebooted or restarted:
From the EmulationStation Main Menu go to QUIT and press the A-key -> choose RESTART EMULATIONSTATION and press the A-key -> Choose YES with the A-key.
Accessing the ROMs
After EmulationStation starts up again, there will be a few more items on the menu. To choose a ROM, navigate to its system icon and press the A-key. When more ROMs are added, the list will appear under the respective system.
First time ROM setup
When a ROM is opened there will be a emulation settings screen flashed for a short short period of time. If you press any key while this screen is shown it will take to to a emulator settings menu. You can go and check these settings out for yourself, but for simplicity sake, we are going to ignore this and use the default emulation settings.
Playing the games
Finally – this is what we’ve all been waiting for, playing the games right? You can now go ahead and play your game ROMs. Some games might need additional settings to be more enjoyable on the keyboard, but we’ve finally managed to get to the point where we can say we achieved something great!
Resetting EmulationStation’s key mapping (when/if necessary)
You can reset EmulationStation’s key mapping through the RetroPie-Setup Script. If your current key mapping is not allowing you to navigate properly, you can use the terminal of SSH/terminal option to get there.
When in the RetroPie-Setup Script go to P Manage Packages -> Manage core packages -> 809 emulationstation -> Configuration / Options -> Clear / Reset Emulation Station input configuration
Go Back to the first page of the RetroPie-Setup Script and choose Perform reboot to go back to EmulationStation.
This concludes the getting started with RetroPie on Raspberry Pi. There are obvious many, many more tweaks and settings to be explored, but for now, try to figure out the basic keys for your ROMs and have a little fun.