Dummies Guide: RetroArch

From Emulation General Wiki
Jump to navigation Jump to search

If someone linked you here, they probably thought you were being a dummy. So go ahead, take your time, and start from the top.

Downloading RetroArch[edit]

The latest stable version of RetroArch can be found on the libretro site, [1]. Or the latest experimental build from [2]

For Linux intructions read Using RetroArch.

Open the .7z file with 7zip or WinRAR, or the archiver of your choice and extract the files to where you want to install RetroArch, or if on console/phone, install it using the standard method for that system.


The menu is controlled mainly by the RetroPad, which is libretro's gamepad abstraction that uses SNES-style face buttons and PlayStation DualShock-style shoulder buttons and analog sticks. The default keybinds for the RetroPad are as follows:

RetroPad Keyboard PlayStation Xbox
Retro Dpad.png Key Arrow-Up.png
Key Arrow-Left.pngKey Arrow-Down.pngKey Arrow-Right.png
PS3 Dpad.png 360 D-pad.png
Retro A Round.png Key X.png PS3 Circle.png 360 B.png
Retro B Round.png Key Z.png PS3 Cross.png 360 A.png
Retro X Round.png Key S.png PS3 Triangle.png 360 Y.png
Retro Y Round.png Key A.png PS3 Sqaure.png 360 X.png
Retro L1.png Key Q.png PS3 L1.png 360 Left-Bumper.png
Retro R1.png Key W.png PS3 R1.png 360 Right-Bumper.png
Retro Start.png Key Enter.png PS3 Start.png 360 Start.png
Retro Select.png Key Shift.png PS3 Select.png 360 Back.png
Retro Menu.png Key F1.png PS3 Home.png 360 Guide.png

The R2, L2, R3, and L3 buttons, and left/right analog sticks are not mapped to the keyboard by default. Gamepads can be mapped manually in the menu under SettingsInputInput User 1 BindsUser 1 Bind All, but automatic configuration is possible with autoconfig profiles. On Windows, all XInput and some DirectInput gamepads will be mapped automatically when detected to the RetroPad using the included autoconfig profiles. Touchscreen controls and light gun peripherals use the mouse.

In the menu, the following buttons are used:

  • A button = Confirm
  • B button = Cancel
  • X button = Search prompt
  • Y button = Delete input bind
  • D-Pad = Navigation
  • Start button = Reset option to default
  • Select button = Show tooltip for a particular option
  • R and L buttons = Fast scrolling through files by jumping to the next letter.

By default, the keys used to navigate the menu are the following:

  • Enter = Confirm
  • Backspace = Cancel
  • Slash = Search prompt
  • Delete = Delete input bind
  • Arrow keys = Navigation
  • Spacebar = Reset option to default
  • Right Shift = Show tooltip for a particular option
  • Page Up and Page Down = Fast scrolling through files by jumping to the next letter.

If "Unified Menu Controls" are enabled under SettingsInput , then the keybinds for the RetroPad are used instead for menu control; this was the original behavior before v1.4.1.

There are also various hotkeys that are mapped by default. The most important ones to remember are the following:

  • Quit = Escape
  • Menu toggle = F1
  • Save State = F2
  • Load State = F4
  • Fullscreen toggle = F
  • Fast-Forward toggle = Spacebar
  • Screenshot = F8

All hotkey binds can be viewed and changed at SettingsInputInput Hotkey Binds. Additionally, if you map Enable Hotkeys to a keyboard key, it will require that key to be held in order to trigger any hotkeys, which may be needed for cores that use the keyboard for input. Hotkeys can also be mapped to RetroPad buttons as well.

Some people may not like having Escape key quit the program instantly and are used to having Escape bring up a menu instead. Since the hotkeys are configurable, you can change behavior of the Escape key in your config:

input_exit_emulator = "nul"
input_menu_toggle = "escape" 

The quit hotkey will be unmapped, and the menu toggle hotkey will become Escape instead of F1.

Downloading Cores[edit]

RetroArch doesn't come with emulation cores, so you have to download them yourself. However, RetroArch does have a built-in updater. So to download up to date cores, scroll down to Online Updater, and select Core Updater. RetroArch will download a list of available cores to download, and you can individually download them. To see what core does what, see this list.

If for whatever reason RetroArch can't download cores, or won't display a list of available cores for download, you can get them from the buildbot here.

Running a Game[edit]

After downloading a core you can run a game by selecting Load ContentSelect File And Detect Core and selecting your game.

If you have only have 1 core that can run the selected game, then RetroArch will automatically load that core. If you have multiple cores that are capable of running the game you'll be given the choice between them.

BIOS and System files[edit]

Some emulation cores require special system files or BIOSes. These can be downloaded here. Extract the system folder in that archive to where you installed RetroArch (the folder where the retroarch program is. retroarch.exe on Windows).

If it doesn't find the BIOS, go to SettingsDirectorySystem/BIOS Dir (or find system_directory in the config file) and make sure it points to the system folder.

Core Options, Core Specific Settings[edit]

To edit options or settings specific to a core, you must start a game with that core. After loading a game, press F1 or the Home/Guide button on your 360/PS3 controller to get back to RetroArch's menu. From there you can change Core Options, set core specific input options, cheats, and change shader settings.

Shader Settings[edit]

Shaders usually either come in single .cg files or as a group of files controlled by a .cgp preset file. If you want to use a preset, like CRT-Royale or Super-XBR, simply select Load Shader Preset under Shader Options and select a .cgp file. If you want to select individual .cg files, increase the Shader Passes and select a .cg file through Shader #0 (or #1, #2, etc.).

After selecting your shader setup, hit Apply Shader Changes.

Saves and Saving Settings[edit]

By default, RetroArch will save settings when it closes and will do so unless you put RetroArch in a directory that needs elevated privileges without running as administrator/root. Save New Config will save a new, different, config that won't be loaded the next time RetroArch starts.

It's probably a good idea to enable SaveRAM Autosave Interval (under SettingsSaving) so game saves will be written to your hard drive while RetroArch is running.

Mednafen PSX[edit]

This particular core requires some specific care. You should have the correct BIOS (if not follow the BIOS and System files section), you'll also need to make sure your game has a metadata file in the form of a .cue, .toc, .ccd, or .m3u file. The most common metadata people use is .cue, and if your PS1 game lacks a metafile, you can create one.
An easier way to get around metadata issues is to get your games from a better source. Redump PS1 games come in .bin/.cue format and work on mednafen without issue, but other sets that come in .bin/.cue/.mp3 format might need editing their cue file with Notepad with the correct filenames for them to work correctly.

Customizing RetroArch[edit]

There are 4 different menu drivers for RetroArch to choose from, RGUI, GLUI, Ozone and the default XMB. To switch between them go SettingsDriver Settings and switch Menu Driver. You'll need to restart RetroArch for changes to take effect.

You can change your wallpaper, text color settings, text size (DPI Override, GLUI only), toggle mouse support, and whether to display the boxart in the Menu Settings.

You can change RetroArch's menu font, but it'll only work for the GLUI menu driver (only on 1.2.2, newer builds have changed GLUI significantly and it no longer uses the OSD font). To change it, under Onscreen Display Settings hit OSD Message Font and select a .ttf font file.
Should be noted that Onscreen Display Settings are for the yellow popup messages that RetroArch displays and GLUI happen to use fonts from it, all of the other settings here only change the popup message.

XMB loads its font from $assets_directory/xmb/monochrome/font.ttf, so you can replace the default font .ttf with a custom one. The same can be done with the default backgrounds and icons.


Not all cores support cheats, you can check the Libretro wiki for which cores do. By default RetroArch comes with a fairly large cheat database, so to make a new cheat file, you can find files in the cheats folder of RetroArch's install directory for reference. To enable cheats, load the game, toggle RetroArch's menu, load a cheat file in the Core Cheat Options and you'll get a list of cheats available which you can toggle. After setting your cheats, hit Apply Cheat Changes. Some cheats may require you to Restart Content to take effect.