Provided by: retroarch_1.4.1+dfsg1-1_amd64 bug

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) (deprecated).  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 extension 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 (deprecated).  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 extension 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(6)