Dummies Guide: RetroArch
If someone linked you here, they probably thought you were being a dummy. So go ahead, take your time, and start from the top.
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:
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 Settings → Input → Input User 1 Binds → User 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 Settings → Input , 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 Settings → Input → Input 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.
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
After downloading a core you can run a game by selecting Load Content → Select 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
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 Settings → Directory → System/BIOS Dir (or find
system_directory in the config file) and make sure it points to the system folder.
Core Options, Core Specific Settings
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.
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
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 Settings → Saving) so game saves will be written to your hard drive while RetroArch is running.
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.
There are 3 different menu drivers for RetroArch to choose from, RGUI, GLUI, and the default XMB. To switch between them go Settings → Driver 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.