Arcade icon

A complete guide to setting up RetroPie

by

Editor's note : I've made sure I've got up-to-date info here.

I spent one year building an arcade machine. I found myself installing and reinstalling RetroPie on my Raspberry Pi a million times to get it right for the type of work I wanted to do. Every time I needed to reinstall, I had to reconfigure the entire system by following the same steps repeatedly.

The reinstalling was mostly because of the lack of information about many setup choices you have to make if you want to get the most out of your Raspberry Pi.

Installing RetroPie

The first step is burning the RetroPie image into the SD card.

Games: SD card or external drive?

From here, you have two options: installing games into the SD card (efficient when your SD card is big enough) or installing them on an external drive (most ideal for small SD cards).

If you prefer to keep games and RetroPie on the same SD card, you can avoid the section "Setting up the external USB Storage".

To install games on an external USB drive, do not plug the SD card into the Raspberry Pi.

You'll notice the SD card is now called boot.

Setting up the external USB Storage

Keeping the games (ROMs) and the saved games progresses in an external source makes it easier to experiment with RetroPie in the SD card, keeping the critical data safe in a plug-n-play source.

It's also a good option when you have a small SD card with enough space for no other thing than RetroPie.

Find more info about this in the official RetroPie documentation.

Overclocking the Raspberry Pi

If you have an old model of Raspberry Pi or a Raspberry Pi Zero,it is recommendable to overclock your board. That way, you can run games that require more power. For example, a Raspberry Pi Model 1 and Zero can't run most of the Neo Geo or MS-DOS games, but an overclocked Pi can do it.

There are two ways to overclock a Raspberry Pi: the wrong one and the right one.

The wrong way lets you expand the core and memory as you wish, but it's dangerous to your board and voids the warranty.

Raspberry Pi provides an official way to do it right: Introducing Turbo Mode: up to 50% more performance for free.

I recommend you to do it in the right way:

Setting up an arcade controller

It took me a while to understand how to set up an arcade controller. Even though the documentation is right there, I didn't know the arcade controllers' name was Xin-Mo.

A Xin-Mo controller on my arcade machine

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

HDMI sound

If you're using a computer monitor like me, it probably doesn't have built-in speakers. In some 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:

The headphone jack's sound is a lot clearer with a lot less static using that configuration.

Now turn on the Raspberry Pi

Plug the SD card and the USB drive into the Raspberry Pi and turn it on. As it is the first time to run RetroPie, it will take some time to process.

The first screen to appear is to set up the controllers:

A screenshot of the screen with instructions to setup the controllers

Setting up the controllers

Sega Genesis controller

You can change this later and also set up different controller distributions for individual consoles and games.

The A button becomes the Enter key, and the B button becomes Escape.

To set up the controller for the second player:

Installing games

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

If you followed the steps to install games on the SD, follow the official documentation about all the possible ways to transfer ROMs.

To install games in the external USB drive and if you followed the steps detailed on Setting up the external USB Storage, then:

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

Folders structure after the first run

ROMs

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

The ROMs are now on EmulationStation. You're going to see them in the main menu of RetroPie under the console name. Repeat steps 14-17 to add more ROMs.

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 that.

Sega Megadrive/Genesis buttons

The Sega emulator recognizes only three buttons by default (Megadrive controller). In my case, I had installed six buttons in my arcade cabinet, so I activated all of the buttons (like a Genesis controller):

  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 six buttons pad.
  3. Exit the RetroArch menu.

Neo Geo BIOS

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

  1. Get the Neo Geo BIOS: There is plenty of sites where you can find the neogeo.zip file you need.
  2. Copy the zip file (compressed) to /retropie-mount/BIOS and /retropie-mount/roms/neogeo
  3. Move ROMs as zip files (compressed) to /retropie-mount/roms/neogeo
  4. Restart EmulationStation.

Note: Most of the games won't work the first time, but you can change the emulator for those specific games:

  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 the game manually.
  4. If the game still doesn't work, try the same steps with another version of the game.

Visit this complete video tutorial for more info:

MS-DOS emulator

Beyond this point, you'll need to use a keyboard.

  1. Connect the Raspberry Pi to the Internet.
  2. Go to the RetroPie settings: "RetroPie" → "Retropie setup". The first time getting there can take several minutes.
  3. Install DosBox: "Manage packages" → "manage optional packages" → "dosbox" → "install from binary". It will take some time because it needs to download packages from the Internet.
  4. 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. A new folder /retropie-mount/roms/pc will also be created automatically in the USB drive.

Visit this complete video tutorial for more info:

MAME emulators

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 MAME, this is what worked for me.

There are different versions of MAME that were 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 challenging to get than others. Another factor that determines which version you need is 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.