RetroArch
Emulated Systems:
Emulator last updated:
Current Official Version:
Overview
Development and History
Variants and Forks
Alternative Emulators
QuickStart
Installation
Download Locations
Pre-requisites
Hardware Considerations
Installation Process
Setup
General Settings
BIOS
Available Plugins
Graphics
Audio
Controllers
Netplay/Network
Operation
Hotkeys
Running Game Files
Command Line
Basic:
retroarch -L /path/to/libretro/core.so game.rom
Using a config file
By default, RetroArch looks for a config in various places depending on OS:
Linux/OSX: $XDG_CONFIG_HOME/retroarch/retroarch.cfg, then ~/.config/retroarch/retroarch.cfg, then ~/.retroarch.cfg, and finally, as a fallback, /etc/retroarch.cfg. Windows: retroarch.cfg in same folder as retroarch.exe, then %APPDATA%\retroarch.cfg. To override this, use retroarch --config customconfig.cfg. If you have some special options you want to store in separate config files, you can use retroarch --config baseconfig.cfg --appendconfig specialconfig.cfg. Be sure to pass --menu as well if you aren't loading content directly from the command-line, or RetroArch will close immediately after launching. See man-page and/or --help for detail.
Parameters
-h/--help: Show this help message. --menu: Do not require ROM or libretro core to be loaded, starts directly in menu. If no arguments are passed to RetroArch, it is equivalent to using --menu as only argument. --features: Prints available features compiled into RetroArch. -s/--save: Path for save file (*.srm). Required when rom is input from stdin. -f/--fullscreen: Start RetroArch in fullscreen regardless of config settings. -S/--savestate: Path to use for save states. If not selected, *.state will be assumed. -c/--config: Path for config file. By default looks for config in $XDG_CONFIG_HOME/retroarch/retroarch.cfg, $HOME/.config/retroarch/retroarch.cfg, and $HOME/.retroarch.cfg. --appendconfig: Extra config files are loaded in, and take priority over config selected in -c (or default). Multiple configs are delimited by '|'. -L/--libretro: Path to libretro implementation. Overrides any config setting. -g/--gameboy: Path to Gameboy ROM. Load SuperGameBoy as the regular rom. -b/--bsx: Path to BSX rom. Load BSX BIOS as the regular rom. -B/--bsxslot: Path to BSX slotted rom. Load BSX BIOS as the regular rom. --sufamiA: Path to A slot of Sufami Turbo. Load Sufami base cart as regular rom. --sufamiB: Path to B slot of Sufami Turbo. -N/--nodevice: Disconnects controller device connected to port (1 to 8). -A/--dualanalog: Connect a DualAnalog controller to port (1 to 8). -m/--mouse: Connect a mouse into port of the device (1 to 8). -p/--scope: Connect a virtual SuperScope into port 2. (SNES specific). -j/--justifier: Connect a virtual Konami Justifier into port 2. (SNES specific). -J/--justifiers: Daisy chain two virtual Konami Justifiers into port 2. (SNES specific). -4/--multitap: Connect a SNES multitap to port 2. (SNES specific). -P/--bsvplay: Playback a BSV movie file. -R/--bsvrecord: Start recording a BSV movie file from the beginning. -M/--sram-mode: Takes an argument telling how SRAM should be handled in the session. {no,}load-{no,}save describes if SRAM should be loaded, and if SRAM should be saved. Do note that noload-save implies that save files will be deleted and overwritten. -H/--host: Host netplay as player 1. -C/--connect: Connect to netplay as player 2. --port: Port used to netplay. Default is 55435. -F/--frames: Sync frames when using netplay. --spectate: Netplay will become spectating mode. Host can live stream the game content to players that connect. However, the client will not be able to play. Multiple clients can connect to the host. --nick: Picks a nickname for use with netplay. Not mandatory. --command: Sends a command over UDP to an already running RetroArch process. Available commands are listed if command is invalid. -r/--record: Path to record video file. Using .mkv extension is recommended. --recordconfig: Path to settings used during recording. --size: Overrides output video size when recording with FFmpeg (format: WIDTHxHEIGHT). -v/--verbose: Verbose logging. -U/--ups: Specifies path for UPS patch that will be applied to ROM. --bps: Specifies path for BPS patch that will be applied to ROM. --ips: Specifies path for IPS patch that will be applied to ROM. --no-patch: Disables all forms of rom patching. -X/--xml: Specifies path to XML memory map. -D/--detach: Detach RetroArch from the running console. Not relevant for all platforms.