Retropie is a great application for retro gaming on Raspberry Pi, Odroid and PC devices, working on open source operating systems, including Ubuntu and Debian.
Retropie features a user-friendly interface and can run both on top of an existing operating system (for example Raspbian) and boot as an operating system from a speсial pre-made SD card image.
Retropie is the most popular emulator for Raspberry Pi. In fact, it comes from the Raspberry Pi version of the EmulationStation application (former front-end for RetroArch emulators). And now it has grown up to a big and popular open source project, offering extended features application for ARM-based devices. Besides RPi Zero/1 and Raspberry Pi 2/3, there are also distributions for Odroid-C1/C2 and Odroid-XU3/XU4 (both on Ubuntu), as well as additional versions for PC devices running Debian/Ubuntu operating systems.
The main feature of Retropie is that it includes almost all the previous experience of console gaming emulation. It consists of the EmulationStation’s interface with themes for emulators, Kodi media-player, RetroArch (frontend for the Libretro API which helps many of emulators work) and more than 50 systems pre-installed by default.
Build Your Own Retropie Gaming Super MachineBy following this tutorial you’ll be able to make your own Raspberry Pi retro gaming console with Retropie. A powerful all-in-one gaming machine to play almost all known console games.
Retropie is based on Linux kernel and is not very demanding to the device you'd like to deploy it on, so you can use almost any model of RPi, depending on the size of your budget, Also, bear it in your mind, that
Well, for that outstanding retrogaming project you will need (the list contains Amazon affiliate links to support my hackster.io activity - appreciate for following!):
Hardware
- Raspberry Pi 2 Model B - $49.99
- Raspberry Pi 3 Model B Board - $41.99
- Raspberry Pi 3 A+ - $38.90
- Raspberry Pi 4 Model B (2GB) - $55
- SanDisk® microSDHC™ 8GB Memory Card - $6
- LANDZO Raspberry Pi 3 Model B+ USB Controller Gamepad Joystick - $5.99
You'll also need a desktop PC or a laptop, to do the initial setup and coding. So, let's this is a kind of side project
Well, as soon as you gather all the necessary parts together, the real work just starts at this point. Generally, you need to do the following big steps:
- Download and install Retropie
- Configure controllers
- Configure WiFi
- Transfer the ROMs (game files)
- Manage emulators (optional)
- Add ExaGear emulator for x86 PC games (2018 must-have!)
Retropie is compatible with any model of Rasberry Pi but it’s recommended to use the Raspberry Pi 3 Model B for the best performance.
How to Install RetropieIn this post, we are going to introduce only the Raspberry Pi tutorial, as one of the most popular devices to build a gaming machine on. If you’d like to learn more tutorials, visit the special page on Retropie official website.
Basically, there are two options for installation of Retropie on RPi devices: set up Retropie as an SD image (with no OS on a hardware) and installation on top of an existing operating system.
Install Retropie on RPi with an SD Card ImageTo make a Retropie image on some SD, follow this simple algorithm.
1. Download the proper image of Retropie (you’ll need to choose between Raspberry Pi 0/1 and Raspberry Pi 2/3).
2. Unpack the downloaded archive using the app of your choice (note, that the file is going to have the .img format).
3. Write an image using an SD card and a special application. The further depends on what additional device you are using: Windows PC, Mac or Linux device. For PC use Win32DiskImager app, for Mac – Apple Pi Baker, and for Linux – Etcher (or use the command line). Depending on your device, follow the steps respectively (see below):
4. As soon as the image is ready, simply insert the SD card into your Raspberry Pi and switch it on. The Retropie will start booting automatically. On the first boot, you’ll need to configure the controllers. For that, simply hold the proper button you want to assign.
Also, it’s worth mentioning, that on the first boot, you won’t find any emulators. To display them, you need to add the respective ROMs for that gaming system in the system folder. We’ll show you what the ROMs are and how to add them a little bit later in this article.
Install Retropie on top of Raspbian1. Set up the “Locale” settings. For that use the command locale in the command line. You should see the following output:
If something from above is unset or displays the wrong value, you need to correct that parameter with the following command:
$ sudo update-locale LANG="en_US.UTF-8"
#replace the LANG with any parameter from the list above and set the value within ""
2. Install the packages for the RetroPie setup script:
$ sudo apt-get install git lsb-release
3. Download the RetroPie setup script:
$ cd
$ git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
4. Launch the script:
$ cd RetroPie-Setup
$ git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
$ chmod +x retropie_setup.sh
$ sudo ./retropie_setup.sh
As soon as you are done with that, Retropie will start an automatic first boot. As the result, you should see the Welcome screen. Now you can set up the controllers and assign the buttons for controlling and playing. It’s very easy to do just by following the prompts you will see.
As the final result, you won’t see any emulators available. For them to appear, you need to install console game files to Retropie (called “ROMs” – read below). For instance, if you install ROMs for NES, the NES emulator will appear on the list.
Configure Retropie ControllersWell, now you’re done with the installation an are making your first boot. On this step, you need to configure the controllers by switching to the menu after you’ve seen the welcome screen posted above. All the controllers are automatically detected, so make sure you have plugged them in before the booting. To proceed from the detection to the assigning the buttons, just push any button on your gamepad.
To set the controls just follow the prompts you see in the window of the interface screen and hold the button you’d like to assign. As soon as all the buttons are assigned, the window will be closed.
There are three possible ways to configure the controllers:
- Autoconfigurations
- Hardcoded Configurations
- Core Input Remapping
By configuring the controllers for Emulation Station you automatically set the same configuration for libretro (RetroArch) emulators as well. This is an example of the Automatic configuration.
Hardcoded Configurations is the way of setting the configuration for a specific emulator, system or even an individual game. For that, you need to make manual edits into the “retroarch.cfg” files, which you can find in the emulators’ directories. For example, the global settings are done in /opt/retropie/configs/all/retroarch.cfg. Each emulator has got its own file directory.
Core Input Remapping is made via RetroArch RGUI and sets different controls for specific cores. It means that the buttons will be remapped in accordance with what core you are operating on at the moment. This specific action can be done with the following:
- Start the game wich controllers you’d like to remap
- Open up the RGUI. You can do it with hotkeys combination “Select+X” (see the details below)
- Go to Quick Menu -> Controls
- Do the configuration you want
- Then choose either “Save Core Remap File” for assigning the remapping for the whole emulator, or “Save Game Remap File” for the particular game only.
Finally, despite any way of configuration that you prefer for your Retropie, there are the hot keys for all controllers set by default:
It’s really convenient to use WiFi connection for updating and transferring ROMs to your Retropie. Raspberry Pi 3 has got the WiFi module and that’s why it’s highly recommended for your Retropie project.
The easiest way to set up WiFi on Retropie is through the EmulationStation menu. To do that, you just need to select the “WiFi” option:
You’ll be transferred to the setup menu, looking like that:
Then, you’ll need to follow a few very simple steps:
- Choose “Connect to Wifi Network”
- Find and choose your WiFi name from the list
- Input the password and push “Ok” button
After the WiFi connection is saved you should see the respective WiFi connection information in the menu. This way is the simplest possible. There are actually 4 more advanced ways to set up the WiFi connection for Retropie. You can find all of them on their official web-site.
Retropie ROMsBasically, ROM is an abbreviation for Read Only Memory. Retropie ROMs are the digital copies of old game cartridges (CDs) for game console emulators. You need a particular game ROM to have this game up and running with a particular emulator on the Retropie.
So, where can we get all that ROMs? Due to the Copyright Property Rights Law ROMs cannot be provided with Retropie and should be found and added by users. There is a small chance that you can find ROMs on sale on special e-commerce websites. Otherwise, downloading them, which is a much more available option on the Internet, is illegal. Although a bunch of sites offers peer-to-peer downloads.
And as soon as you get the ROMs, you need to upload them to Retropie. There are three ways to do that: using USB, SFTP or Samba.
Transfer ROMs via USB (must be formatted to NTFS or FAT32):
- Make up a “Retropie” folder on your USB
- Plug it into the Pi and wait for it to finish blinking
- Unplug it and then insert it into the PC you keep the ROMs on
- Add the ROMs to their respective folders (in the retropie/roms folder)
- Plug it back into the RPi
- Refresh Retropie by restarting it from the start menu
Transferring ROMs via SFTP:
Enable SSH via sudo raspi-config terminal command
- In the pop-up window follow the path: Interfacing Options -> SSH -> Enable -> Reboot Your Pi. After rebooting, move on to the next step
- Access to Retropie folders via some app (we recommend WinSCP on Raspberry Pi). Use the default username “pi”, and default password “raspberry”.
- Transfer the ROMs
Transfer ROMs with Samba:
For Windows: type “\\retropie” into the computer folderFor MAC: open finder, select “Go” menu and “Connect to Server”, type “smb://retropie” and hit “Connect”
- Transfer the ROMs
That’s it! Time to play. Just get back to the interface, find the emulator you want and then choose the game.
How to Update RetropieIf you have the Retropie image up and running on your device, you’ll certainly want to use the most up-to-date version of the software all the time. For that, there’s a very straightforward way to update your Retropie application directly from the main interface menu:
1. Open Retropie welcome screen and choose “Configuration” from the main menu.
2. Then keep on with the “Retropie Setup” option.
3. Select the “Update Retropie-Setup Script” and press “Ok” button. Then you need to wait for a little until the system downloads and installs the updates automatically.
4. Finally, perform a reboot by choosing:
Note, that it is recommended to backup the whole Retropie image to an SD card to prevent the loss of configurations and games you’ve collected before the update. Actually, the cases when something goes wrong is very rare but still take place. So, it’s smart to do the backup beforehand, just for the occasion. Learn the simplest way to back up the Raspberry Pi SD card in this article.
How to Install Retropie EmulatorsRetropie systems mean a bunch of emulators which are included in the Retropie package. A part of them is available by default and another part goes as an option. It was proved to be reasonable limiting the pre-installed number of emulators in the pursuit of maximizing the application performance as well as user experience. The default list of emulators is formed up in accordance with many years of experience and tons of feedback from users, who defined what they tend to use and what works the best. See the essential list of Retropie emulators below:
Anyway, you are always free to install any additional emulators in an easy and quick way using the interface menu.
For that, go to the main menu and find the Retropie Configuration and go to “Retropie Setup”.
Then choose the “Manage Packages” option.
You’ll see the list of possible packages. Among them, there are the “Core” and the “Main” packages which come pre-installed with a Retropie image (in fact the Core ones are needed for Retropie to run, so, DO NOT REMOVE THEM!).
The “Optional” and the “Experimental” packages are those, which aren’t included in the basic Retropie image and you can install them additionally. The “Experimental” section includes all the new emulators that haven’t been tested yet and may contain bugs. So, we’d recommend focusing on the “Optional” emulators.
To proceed with the emulators installation go to the Optional packages list.
There you’ll find a large list of possible systems. Select the needed system:
When you select the system you’ll get into the list of emulators, that can emulate this particular console. Choose whatever you like:
In the context menu, choose the option “Install from binary” if available (some emulators have only “Install from source” option):
If the installation is performed well, the “Install from binary” should change into “Update from binary”. So, just finish the setup by rebooting the Retropie. After you perform an installation for any of the packages, it gets the mark “Installed”.
Remember! Even if you have installed the emulator, but haven’t added any relevant ROM files for it, this console will not appear in the main Retropie menu. To see this system, you need to have at least one ROM loaded in the respective system ROMs folder.
ExaGear Emulator for Retropie to Play x86 PC gamesAmong lots of emulators available for playing retro console games on Raspberry Pi, ExaGear Desktop is an emulator to stand out. It’s an additional software which can be run on top of Raspbian and side by side with Retropie as well. The key feature of ExaGear is that it can put your Retropie gaming experience to the next level on Raspberry Pi.
- The ExaGear emulator allows playing x86 Windows PC games on Raspberry Pi. Of course, the level of games should be relevant to hardware performance limitations. For example, such games as Fallout, Arcanum, Heroes III etc. are OK. But the latest Destiny 2 will never start! 🙂
- ExaGear supports hardware graphics acceleration and widens the variety and level of PC games to be launched on RPi. The latest attempts show good results in playing Counter-Strike and Diablo II on Raspberry Pi 3 (read more here)
- Since the latest update in 2017, ExaGear Desktop emulator can be integrated into Retropie, which is very convenient. It enables installing PC games and runs them directly from the Retropie’s interface.
- ExaGear for gaming is compatible not only with Raspberry Pi (all models) but with Odroid as well. You just need to make sure you have downloaded the proper version.
In addition, it’s worth noting that ExaGear runs headless and is very convenient and easy to use. So, the only thing you need is to download it, set up and start. For that, simply follow the instructions below.
ExaGear Desktop installation instructionFirst of all, we need to install Exagear Desktop Emulator on Retropie. To do that, you need to follow these steps.
1. Open Retropie and call for the terminal inside the Retropie interface by pressing “Ctrl+Alt+F4”.
2. Download and install ExaGear Rettopie Emulator with this command (you need to be in “home” directory):
$ cd /home/pi
$ wget downloads.eltechs.com/install-exagear-retropie-v2.sh
3. Assign the proper rights to the installer app and launch it:
$ chmod +x install-exagear-retropie-v2.sh
$ ./install-exagear-retropie-v2.sh
4. The next step is to fill out a tiny pop-up form. Input your name, last name and e-mail address to activate the emulator.
5. As the final step, you’ll need to configure Wine. The configuration window will open up automatically and you’ll have to simply tick “Emulate a virtual desktop” checkbox.
As soon as you are done with all the steps and the installation is finished, perform a reboot.
$ sudo reboot
Add PC Game files for ExaGear Retropie emulatorNow, when the emulator is up and running, it’s time to play games. ROMs for ExaGear emulator differ from ROM files for Retropie console emulators. To play x86 PC games, you’ll need to get images, distributions or installers. It’s possible to run a different kind of distros and installers, but in some cases, you’ll need to do unobvious tricks to make it work. That’s why we recommend using DRM-free versions of games from the special website www.gog.com, as this is the most straightforward way to launch a game.
Beware of using other sources which offer the game files for free, as they are breaking the Copyrights Law Regulations. For more up-to-date games (Like Counter-Strike, for example) you can also use Steam (you’ll need to use the Linux version of the client via Wine).
ExaGear emulator for Retropie doesn’t have or create a special folder for PC games to store. So, you need to do everything manually and can load all the game files right into the Retropie folder. This process is really straightforward and is illustrated in the video guide below:
If you need more detailed instructions with pictures and videos, see our full detailed guide on how to install ExaGear emulator on Retropie.
Examples of x86 PC games to Play on Retropie with ExaGearFor you to understand the ExaGear’s capabilities, I’ve gathered the games we have already installed and run on Raspberry Pi with ExaGear, so they are proved. The assembly below illustrates the process of installation, which is very simple. For of all of them, before you start installing the game itself, you should make sure that ExGear is up and running on your device. To learn how to do that see the above part where the ExaGear Desktop emulator is described.
So, to check that ExaGear emulator is working properly and to start it at the same time, you should fulfill the following terminal command:
$ exagear
$ arch
If youd like to see the cghart with these games, read our latest original article about Retropie.
Also, stay tuned as we are testing more games, and have already succeeded in running such games as Counter-Strike and Diablo II on RPi. See the video as proof.
Comments