If you want to play all your favourite old games on your computer, RetroArch sets up a slick, all-in-one interface for any retro game you can imagine. RetroArch is easily the most powerful, cross-platform option for doing so, but it's obnoxiously difficult to set up. Here's how to do it. Music by Visager.
What Is RetroArch?
RetroArch is a program that combines emulators for tons of retro video game systems like the Nintendo, Super Nintendo, Genesis, and others. It's available for Windows, Mac, Linux, Android, iOS, and even hacked Wii consoles, among others. RetroArch has a menu that allows you to set up a gamepad, browse your library of games, and play anything from nearly any system with a few button presses.
Unfortunately, it's pretty hard to set up -- partially due to its sheer number of options (shaders, overlays, frame rate caps, and more). But RetroArch is constantly being updated, and it features tons of options for tinkering with settings to give you the exact experience you want from your emulators. Let's be up front here: RetroArch is for tweakers and people who love to tinker with every single option available. It's for people who want to use specific emulators for specific games. It's for people who want to set up custom visual settings for every game. It's less about just playing that old arcade game from back in the day, and more about reproducing it as accurately as possible.
RetroArch is pretty hard to set up and requires a lot of tinkering to get it working properly. Once you do, it works like a dream, but prepare yourself for an arduous set up process. There are easier options out there, but none have the customisation options of RetroArch.
Step One: Download RetroArch
Before you do anything, you need to download RetroArch. For this guide, we'll be concentrating on the desktop version (primarily Windows and Mac), but the basics are applicable across any platform.
For this guide, I recommend sticking to the stable build, which you can find for your operating system of choice here (as of this writing, the most current version is 1.2.2). Just select your operating system and download the software inside the folder. Once that's complete, unzip the file.
Step Two: Set Up Your Controllers
While you can navigate the RetroArch interface with a keyboard, it's made for a controller, so it makes sense to set that up before we do anything else. Once RetroArch is downloaded, go ahead and open it up, then plug in a USB controller to your computer (RetroArch works with a massive number of USB game controllers, from an Xbox controller to a PS4 controller, but I haven't been able to find an actual list of compatible controllers anywhere). RetroArch will automatically detect your controller (if it doesn't, you'll need to dig around in the forums for help), and in many cases, it might even automatically configure the buttons for you. But it's good to double-check.
When you first open up RetroArch, you'll see a pretty simple interface with a lot of nonsense words. We'll get to what all that means and how it works below, but for now, let's just make sure your controller works:
- Use the arrow keys on your keyboard to navigate down to Settings, then press X to select it. (You can press Z to go back a menu.) You can also use your controller, if it works out of the box.
- Scroll down to Input and press X to select it.
- Scroll down to User 1 Bind All and press X to select that. You'll get a graphic overlay to set up your controller. Pick up your controller and follow the on-screen prompts.
- Continue this process for any additional controllers you have, going down the list to input 2, 3, and so on.
You can now navigate with the A and B buttons on your controller (or whichever buttons you chose during the setup process) to go back and forth between menu items. As you'd expect, the d-pad will move you around the menu screen as well.
While you're in the Input menu, it's worth scrolling up to the Menu Toggle Gamepad Combo option. This option allows you to back out from any game into the RetroArch menu screen by tapping a combination of buttons on your controller. Pick one of the two combinations that work best for your controller of choice (for something like a PS4 controller, I like L3+R3 because I probably won't tap that combo by accident).
Step Three: Dig Into the Video Settings
You're almost ready to play games, but you'll want to make a couple of quick changes to the video settings before you do.
Head to Settings > Video. Here, you'll find a ton of options, mostly for stuff that doesn't matter right now. However, there are some settings you'll likely want to change (you change toggles with the left and right arrow keys/left and right on the d-pad):
- Full screen mode: On (unless you prefer RetroArch running in a window, of course)
- Full screen windowed mode: Off (decreases input lag)
- VSync: On
- Hard GPU Sync: On (this helps decrease input lag)
- Bilinear filtering: Off
Of course, there are tons of other options here, but this is all you'll need to get things moving. You can tweak more later if you want.
Step Four: Download Emulator "Cores" and Tweaking Tools
Finally, it's time to download some emulators in RetroArch:
- From the main menu screen, scroll down to "Online Updater" and select it.
- Select Core Updater. In RetroArch, emulators are referred to as "cores."
- Here, you'll see a long list of various emulators. RetroArch does not come with any emulators initially, so you'll need to download the ones you'll use. Scroll to one on the list, and press X to select and download it.
We're building a list of the best emulators on different operating systems, but for now, you'll need to do some trial-and-error to figure out which ones work best for your games on your computer. To start, I recommend grabbing a couple different ones for each console you want to emulate. That way, you can choose which emulator a game uses on a per-game basis. Some emulators are better with certain games than others.
From the Online Updater menu, you can also download various tweaking tools for RetroArch. This part's a little confusing because the word "Update" suggests you're, well, updating something, but right now you're actually downloading these various tweaks and settings. To do so, just select the Update [item] option and RetroArch will do the rest. I recommend downloading each of them once before you even try to load a ROM, but here's what each of various options mean:
- Update Core Info Files: This updates any files related to the emulators. If you're having trouble with a particular game, try updating here to see if a fix has been released.
- Update Assets: This updates logos, fonts, and other similar things that might change slightly in each iteration of RetroArch.
- Update Autoconfig Profiles: This is the automatic controller configuration file. Select this update if your controller doesn't seem to work.
- Update Cheats: As the name implies, this downloads all the various cheat files available for games.
- Update Databases: This updates the database files of games and emulators so when you scan for ROMs (in the next step), RetroArch can automatically detect them.
- Update Overlays: Overlays are an optional images that sit over the game screen. For example, you can add a Game Boy overlay that makes your screen look more like a classic Game Boy by adding the image of a Game Boy's case around the game (like this).
- Update Cg Shaders: These are the various shaders (basically filters) that you can run to make a game look more authentic (like running a CRT filter that simulates an old TV).
- Update GLSL Shaders: These function the same as Cg shaders, but exist where Cg support might not (like in Linux or Android).
Once you run those updates, you can set up your emulators.
Step Five: Set Up Your Emulators and ROM Directories
It's almost time to play some games, I promise. But first, you need to tell RetroArch where those games are located. You'll also likely want to play around with a couple of Settings before you load you first game. First though, let's point RetroArch to your various ROMs folders (From this step on, we're going to assume you already have a bunch of ROMs from your favourite ROM source):
- Head to Settings > Directory > File Browser Dir and pick the parent directory where your ROMs are located. This makes the next steps a little easier.
- Head back to the main menu screen and select Add Content > Scan Directory and then select a ROMs folder. If you have your ROMs grouped in folders by console, you'll need to scan each folder separately.
With that, RetroArch will automatically add your ROMs to the system. When you back out to the main menu, you'll now see an icon for each console you have ROMs for on the main screen. Just press right or left to cycle through them.
Step Six: Load a ROM
Now, you finally have RetroArch set up and ready to play some games.
Before you start, I recommend going to Settings > Configuration and set Configuration Per-Core to On. This allows you to customise settings on a per-emulator basis instead of a universal setting for everything. So, when you load a up a Game Boy game, you can set up filters specifically for that emulator. Then, you can pick different settings for your NES games, and so on:
- From the main menu screen, and scroll to the right to the console you want to play.
- Pick the game you want to play.
- Select the emulator you want to use.
- Select Start Content to start the game.
If all goes well, your game should start up. Yay! Now let's take a quick look at how to get into the in-game options. Tap the gamepad combo you set up in Step Two (mine's R3+L3). This pulls up the RetroArch in-game menu. There's a lot of different settings here to change the visuals, but for this beginner's guide, let's just stick to the one thing that really matters: save states.
To save a game, just back out to the menu with your gamepad combo, and select Save State. You can load up your game in the future by simply selecting Load State. Now you won't have to try and beat Battletoads in one sitting.
If this all sounds a bit cumbersome, don't worry. Once you get past the initial setup process, RetroArch does everything else automatically. Your settings for each emulator are carried over to every game you load into it, so all your NES games will look and play the same, while your Game Boy games will do the same with different settings. This means that once you get through the initial hump of setting everything up, playing games in the future is a simple process.
While this guide will get you up and running, we've barely scratched the surface of RetroArch here. There are countless other advanced menu items and settings to dig into if you want. We'll look into some of those in a future post, but for now, the RetroArch wiki, subreddit, and forums are all great resources for troubleshooting.