Arcade icon

A complete guide to setting up RetroPie

by

Step-by-step tutorial on how to setup your Raspberry Pi to make the most of it as retro games console.

I spent the last year building a real-size arcade cabinet. I found myself installing and reinstalling RetroPie on Raspberry Pi several times. So, everytime I screwed up and reinstalled, I had to reconfigure the entire system by following the exact same steps to get where I was. The erasing and reinstalling processes were caused for a notable lack of information about many setup choices you have to do. I didn’t found many recommendations.

What is RetroPie

If you came here with not knowing what RetroPie is, take a look at this awesome project: https://retropie.org.uk/

RetroPie allows you to turn your Raspberry Pi, ODroid C1/C2, or PC into a retro-gaming machine.

About this guide

I started this guide for myself, to follow the steps in the exact order that it was written. Originally this guide has only contained my specific use case, but because was difficult to me to find some answers, I want to give some back to the RetroPie community by sharing my findings.

This guide is intended to give some recommendations and solutions for cases that I had to find and try by myself. It’s a complement to the original RetroPie documentation. Feel free to comment if any information is not accurate, or there is a better way to do the same.

It’s important to read carefully every step, to avoid any trouble during the setup. Not all of the steps are mandatory, and you can jump the optional steps, but I recommend to always respect the given order.

Installing RetroPie

The first thing to do is to install the RetroPie in the Raspberry Pi. It’s gonna be a little different depending on the model of your Raspberry Pi.

Configure before turn it on

Most of the missing information is about how to setup the hardware to work as you need. So these are the most important things I recommend you to check out.

Setting up the USB Storage

I recommend to keep the game ROMs and the saved games progress in an external source. This way makes easier to experiment with RetroPie in the SD card, and keep the important data safe in a plug-n-play source.

Find more info about this in the official RetroPie documentation: Running ROMs from a USB drive.

Overclocking the Raspberry Pi

If you have a Raspberry Pi Model 1, I recommend to overclock your board. That way you can run more complex games as in a Raspberry Pi Model 2. For example a Raspberry Pi Model 1 doesn’t have the power enough to run most of the Neo Geo or MS-DOS games, but an overclocked one actually does.

There are 2 ways to overclock a Raspberry Pi: the wrong one and the right one. The wrong way lets you expand the core and memory boundaries as you want, but it’s dangerous to your board and also voids the warranty. The right way is provided by Raspberry Pi itself so take a look at this post: Introducing Turbo Mode: up to 50% more performance for free.

Let’s do this in the right way:

Setting arcade controller

This was the hardest thing to find. The docs are in plain sight, but you need to know the name of you’re looking for to find it. So, I spent a lot of time looking how to configure THIS kind of controller:

Xin Mo controller

The magic words are Xin Mo. It’s that simple. Now, to configure RetroPie to recognize this kind of controller…

There are a few more steps to configure the controller, but wait till turning on the system.

Find more information about the Xin Mo Controller in the official RetroPie documentation.

Forcing HDMI sound

If you’re using a computer monitor, it probably doesn’t have built-in speakers. And in most of cases, this kind of monitor has a 3.5mm jack to output sound to external speakers. In that case, you may have to make that the HDMI takes control over the sound:

Some articles from different guides says you can also increase the sound quality.

Using that configuration, the sound coming from the headphone jack is a lot clearer and has a lot less static.

Now turn it on

You’re set. Plug the SD card and the USB drive into the Raspberry Pi and turn on. As is the first time to run RetroPie, it’s gonna take a little more time to process everything.

The first screen to appear is like “Welcome, I found some controller plugged in”:

First screen

Setting up controller

You’ve to configure each button of the controller. I recommend to use the same distribution that the Sega Genesis controller:

Sega Genesis controller

To configure the controller number two:

Games, games, games!

That was all related to the initial setup. Now it’s all about games.

Now the folder /retropie-mount should have some folders inside:

Folders structure after the first run

ROMs

All the game ROMs must go inside /retropie-mount/roms.

The ROMs are added instantly to EmulationStation. You’re gonna see them in the main menu of RetroPie under the console name. Now enjoy! Repeat steps 14-17 to add ROMs as much as the USB drive size allows you.

Specific setups

Following the steps above, you’ll have access to the most common consoles and games. But by following a few more steps you can go beyond.

Sega Megadrive/Genesis

By default, the Sega emulator is configured to recognize only 3 buttons (Megadrive joystick). In my case, I had installed 6 buttons in my arcade cabinet, so I had to activate all of them (like a Genesis joystick).

To do so:

  1. Launch a Megadrive/Genesis game and go to the RetroArch menu (“Select” + “X”).
  2. Go to “Quick Menu” -> “Options” and set the two input devices to 6 button pad.
  3. Exit the RetroArch menu.

Neo Geo

This emulator works a little different from other ones. Before copying ROMs, you need to:

  1. Get the Neo Geo BIOS. You’ll need a neogeo.zip file.
  2. Copy the zip file (compressed) to /retropie-mount/BIOS and /retropie-mount/roms/neogeo.
  3. Move ROMs as zip (compressed) to /retropie-mount/roms/neogeo.
  4. Restart EmulationStation.

Most of the games won’t work. But there is hope. When a game doesn’t work you can change the emulator for that specific game:

  1. Open a game and press any key before it loads.
  2. Go to “Select emulator for rom” -> “lr-fba” (or any other emulator) -> “Exit without launching”.
  3. Relaunch game manually.
  4. If game still doesn’t work, move on to another game.

For more info visit this complete video tutorial: How to Set Up And Use NEOGEO Emulator Retropie Raspberry pi 1 2 3 and Zero.

MS-DOS

Beyond this point, you’ll need to plug a keyboard.

  1. Connect the Raspberry Pi to the Internet.
  2. Check the board is online by looking into “Show IP” menu.
  3. Go to the RetroPie settings: “RetroPie” -> “Retropie setup”. The first time to get in there, can take several minutes.
  4. Install DosBox: “Manage packages” -> “manage optional packages” -> “dosbox” -> “install from binary”. It’s gonna take some time, because it needs to download packages from Internet.
  5. When it ends, go back to the main menu, then restart the system: “Perform reboot”.

Now MS-DOS is a console in the list of consoles. Also a new folder /retropie-mount/roms/pc will be created automatically on the USB drive.

For more info visit this complete video tutorial: Simple DOSBox Setup RetroPie MS-DOS Raspberry Pi.

MAME

I had the worst experience trying to understand this platform. I recommend to play arcade games on Neo Geo or find a version of the games for a more common console. In case you choose to use arcade games anyway, follow these steps.

There are different versions of MAME, that was launched in different years. So, for example, if you have the emulator for MAME 0.37b5, you must get games with the specific version 0.37b5. For some versions, the games are far more difficult to get than others. But there is another factor that forces to choose one version among other: the Raspberry Pi model.

Then to copy ROMs:

The first time a game is running, it will ask for an emulator to run:

And...

That’s all far I could go. I’ll update this guide as I find more and better solutions. Now I’m working on make that MS-DOS games run with the Xin Mo controller 👌.