DragonFly On-Line Manual Pages
RETROARCH(1) System Manager's Manual: retroarch RETROARCH(1)
NAME
retroarch - The reference frontend for the libretro API.
SYNOPSIS
retroarch [rom file(s)] [OPTIONS]...
DESCRIPTION
retroarch is the reference frontend for the libretro API. libretro is
an abstraction of a game system, and can be implemented by any
frontend. The libretro API is designed for games, emulators and
multimedia. retroarch focuses on exposing needed functionality for the
game system through the use of command line and configuration files.
It also features a simple built-in UI.
EXAMPLE COMMANDLINE
Load content, using a specific libretro core and config file.
retroarch --config ~/.config/retroarch/retroarch.cfg --libretro
/path/to/libretro/core.so /path/to/rom.rom --verbose
No command line options will start RetroArch in menu mode.
retroarch
Start RetroArch in menu mode, with verbose logging.
retroarch --menu --verbose
Menu
Refers to the built-in GUI system for RetroArch. It is aimed at being
controlled with a gamepad only.
DEFAULT CONTROLS
By default, only keyboard input is accepted.
GENERAL OPTIONS
[rom file]
If no rom file path is defined on the command line, retroarch
will try to load a core with no rom. This will only work with
some libretro cores. retroarch use uncompressed content, but
can uncompress content in the .zip/deflate format if support for
it is compiled in. Content types supported depend on the
libretro implementation used.
--help, -h
Prints help text.
--menu Starts directly in in-game menu if enabled. Does not require
content or libretro implementation to be set. These can be
loaded afterwards in the menu. If no arguments are passed to
retroarch, it is equivalent to calling retroarch with this as
only argument.
--features
Prints available features compiled into RetroArch, then exits.
-L PATH, --libretro PATH
Path to a libretro implementation which is to be used. This
option will override any setting in a config file. This option
is only available if RetroArch is compiled with dynamic libretro
loading.
--save PATH, -s PATH
Overrides the path used for save ram (*.srm). Without this
flag, the save ram path will be inferred from the rom path name,
and put in the same directory as the rom file with the extention
replaced with '.srm'. If PATH is a directory, RetroArch will
treat this as the save file directory, where the save file name
will be inferred from the rom name.
--savestate PATH, -S PATH
Overrides the path used for save states. Without this flag, the
save state path will be inferred from the rom path name, and put
in the same directory as the rom file with the extention replace
with '.state'. If PATH is a directory, RetroArch will treat
this as the save state directory, where the state file name will
be inferred from the rom name. Do note that save states are
bound to the libretro implementation being used. Using a
different libretro could invalidate the save state file.
--fullscreen, -f
Always starts RetroArch in fullscreen. Disregards settings in
configuration file.
--config PATH, -c PATH
Sets the configuration file path. retroarch will use this path
to load the configuration file. Should this not be defined,
retroarch will look in platform specific paths to attempt
finding the config file. /etc/retroarch.cfg (when installed),
or retroarch.cfg in the source tarball serves as a skeleton
configuration file. /etc/retroarch.cfg should serve as a
skeleton config only.
Unix-like systems will look in
$XDG_CONFIG_HOME/retroarch/retroarch.cfg first. If
$XDG_CONFIG_HOME is not defined, it is assumed to be
$HOME/.config as per specification. Then it will try
$HOME/.retroarch.cfg. If both paths fail, RetroArch will try to
create a new, default config file in
$XDG_CONFIG_HOME/retroarch/retroarch.cfg (or the $HOME/.config
default for $XDG_CONFIG_HOME). If all fails, default settings
will be assumed. If RetroArch creates a new default config
file, it will attempt to load the skeleton config file
/etc/retroarch.cfg and use that as a basis. This allows
distributions to set up default paths for libretro cores, and
similar things. A configuration file does not need to define
every possible option, only those which should be overridden.
If config_save_on_exit = true is set in the config file,
RetroArch will overwrite the config file on exit. Settings can
be changed from within the menu. If RetroArch overwrites a
config file, formatting, comments, etc will be lost. If
RetroArch creates a default config file, it will have
config_save_on_exit set automatically.
Windows will look in retroarch.cfg in same folder where
retroarch.exe resides. A default config file will also be
created in the same manner as Unix.
--appendconfig PATH
Appends a different set of config files to the config file
loaded in -c (or default). Multiple config files are delimited
by ','. Every config file will be appended in order where the
key-value pairs of the next config file takes priority over the
old ones.
--subsystem SUBSYSTEM
Use a subsystem of the loaded libretro core. Multiple content
files are loaded as multiple arguments. If content is skipped,
use a blank ("") command line argument. Content must be loaded
in an order which depends on the particular subsystem used. See
verbose log output to learn how a particular subsystem wants
content to be loaded.
--nodevice PORT, -N PORT
Disconnects an input device from port number PORT. Possible
values for PORT are 1 to 8. This may be needed for some odd
games to run properly. If set explicitly here, overrides config
file for that port.
--dualanalog PORT, -A PORT
Connects a DualAnalog controller into port PORT. Possible values
are 1 to 8. If set explicitly here, overrides config file for
that port.
--device PORT:ID, -d PORT:ID
Connects a generic input device ID into port PORT. Possible
values for port are 1 to 8. If set explicitly here, overrides
config file for that port. ID is an unsigned number
corresponding to the device for a libretro core.
--record PATH, -r PATH
Activates video recording of gameplay into PATH. Using .mkv
extension is recommended. Codecs used are (FFV1 or H264 RGB
lossless (x264))/FLAC, suitable for processing the material
further.
--recordconfig PATH
Sets path to a config file for use during recording.
--size WIDTHxHEIGHT
Allows specifying the exact output width and height of
recording. This option will override any configuration settings.
The video input is scaled with point filtering before being
encoded at the correct size.
--bsvplay PATH, -P PATH
Play back a movie recorded in the .bsv format (bSNES). Cart ROM
and movie file need to correspond. It also requires to play
back with the same libretro backend that was used for recording.
--bsvrecord PATH, -R PATH
Start recording a .bsv video to PATH immediately after startup.
--sram-mode MODE, -M MODE
MODE designates how to handle SRAM. The format of the second
parameter is {no,}load-{no,}save. These two boolean values tell
if SRAM loading and SRAM saving should take place. Note that
noload-save implies that the SRAM will be overwritten with new
data.
--verbose, -v
Activates verbose logging.
--host, -H
Be the host of netplay. Waits until a user connects. The host
will always assume user 1.
--connect SERVER, -C SERVER
Connect to a host of netplay. Will always assume user 2.
--frames FRAMES, -F FRAMES
Sync frames to use when using netplay. More frames allow for
more latency, but requires more CPU power. Set FRAMES to 0 to
have perfect sync. 0 frames is only suitable for LAN. Defaults
to 0.
--port PORT
Network port used for netplay. This defaults to 55435. This
option affects both TCP and UDP.
--spectate
If netplay is used, it will go into a spectator mode. Spectator
mode allows one host to live stream game playback to multiple
clients. Essentially, clients receive a live streamed BSV movie
file. Clients can connect and disconnect at any time. Clients
thus cannot interact as user 2. For spectating mode to work,
both host and clients will need to use this flag.
--command CMD
Sends a command over UDP to an already running RetroArch
application, and exit. The command is formatted as
"COMMAND;HOST;PORT". HOST and PORT are both optional.
"COMMAND;HOST" will set PORT to "network_cmd_port" default
setting. If only "COMMAND" is used, HOST and PORT will be
assumed to be "localhost" and "network_cmd_port" respectively.
The available commands are listed if "COMMAND" is invalid.
--nick NICK
Pick a nickname for use with netplay. This is purely cosmetic,
and only serves to help users identify each other.
--ups PATCH, -U PATCH
Attempts to apply an UPS patch to the current content image. No
files are altered. If this flag is not specified, RetroArch
will look for a .ups file with same basename as content
specified.
--bps PATCH
Attempts to apply a BPS patch to the current content image. No
files are altered. If this flag is not specified, RetroArch
will look for a .bps file with same basename as content
specified.
--ips PATCH
Attempts to apply a IPS patch to the current content image. No
files are altered. If this flag is not specified, RetroArch
will look for a .ips file with same basename as content
specified. Note that RetroArch cannot perform any error
checking if patching was successful due to how IPS works.
--no-patch
Disables all kinds of content patching.
-D, --detach
Detach from the current console. This is currently only relevant
for Microsoft Windows.
SEE ALSO
retroarch-joyconfig(1)
RETROARCH November 1, 2011 RETROARCH(1)