1
2RETROARCH(6)          System Manager's Manual: retroarch          RETROARCH(6)
3
4
5

NAME

7       retroarch - The reference frontend for the libretro API.
8
9

SYNOPSIS

11       retroarch [rom file(s)] [OPTIONS]...
12
13

DESCRIPTION

15       retroarch  is the reference frontend for the libretro API.  libretro is
16       an abstraction of a game system, and can be implemented  by  any  fron‐
17       tend.   The  libretro API is designed for games, emulators and multime‐
18       dia.  retroarch focuses on exposing needed functionality for  the  game
19       system  through  the  use  of command line and configuration files.  It
20       also features a simple built-in UI.
21
22

EXAMPLE COMMANDLINE

24       Load content, using a specific libretro core and config file.
25              retroarch --config ~/.config/retroarch/retroarch.cfg  --libretro
26              /path/to/libretro/core.so /path/to/rom.rom --verbose
27
28
29       No command line options will start RetroArch in menu mode.
30              retroarch
31
32
33       Start RetroArch in menu mode, with verbose logging.
34              retroarch --menu --verbose
35
36
38       Refers  to  the built-in GUI system for RetroArch. It is aimed at being
39       controlled with a gamepad only.
40
41

DEFAULT CONTROLS

43       By default, only keyboard input is accepted.
44
45

GENERAL OPTIONS

47       [rom file]
48              If no rom file path is defined on the  command  line,  retroarch
49              will  try  to  load a core with no rom. This will only work with
50              some libretro cores.  retroarch use  uncompressed  content,  but
51              can uncompress content in the .zip/deflate format if support for
52              it is compiled  in.   Content  types  supported  depend  on  the
53              libretro implementation used.
54
55
56       --help, -h
57              Prints help text.
58
59
60       --menu Starts  directly  in  in-game menu if enabled.  Does not require
61              content or libretro implementation to  be  set.   These  can  be
62              loaded  afterwards  in  the menu.  If no arguments are passed to
63              retroarch, it is equivalent to calling retroarch  with  this  as
64              only argument.
65
66
67       --features
68              Prints available features compiled into RetroArch, then exits.
69
70
71       -L PATH, --libretro PATH
72              Path  to  a  libretro  implementation which is to be used.  This
73              option will override any setting in a config file.  This  option
74              is only available if RetroArch is compiled with dynamic libretro
75              loading.
76
77
78       --save PATH, -s PATH
79              Overrides the path  used  for  save  ram  (*.srm)  (deprecated).
80              Without  this  flag, the save ram path will be inferred from the
81              rom path name, and put in the same directory  as  the  rom  file
82              with  the  extension  replaced with '.srm'.  If PATH is a direc‐
83              tory, RetroArch will treat this  as  the  save  file  directory,
84              where the save file name will be inferred from the rom name.
85
86
87       --savestate PATH, -S PATH
88              Overrides  the  path used for save states (deprecated).  Without
89              this flag, the save state path will be  inferred  from  the  rom
90              path  name,  and  put in the same directory as the rom file with
91              the extension replace with '.state'.  If PATH  is  a  directory,
92              RetroArch will treat this as the save state directory, where the
93              state file name will be inferred from the  rom  name.   Do  note
94              that  save states are bound to the libretro implementation being
95              used. Using a different libretro could invalidate the save state
96              file.
97
98
99       --fullscreen, -f
100              Always  starts  RetroArch  in fullscreen. Disregards settings in
101              configuration file.
102
103
104       --config PATH, -c PATH
105              Sets the configuration file path. retroarch will use  this  path
106              to  load  the  configuration  file.  Should this not be defined,
107              retroarch will look in platform specific paths to attempt  find‐
108              ing  the  config  file.  /etc/retroarch.cfg (when installed), or
109              retroarch.cfg in the source tarball serves as a skeleton config‐
110              uration  file.   /etc/retroarch.cfg  should  serve as a skeleton
111              config only.
112
113
114              Unix-like     systems      will      look      in      $XDG_CON‐
115              FIG_HOME/retroarch/retroarch.cfg  first.  If $XDG_CONFIG_HOME is
116              not defined, it is assumed to be $HOME/.config as per specifica‐
117              tion. Then it will try $HOME/.retroarch.cfg. If both paths fail,
118              RetroArch will try to create  a  new,  default  config  file  in
119              $XDG_CONFIG_HOME/retroarch/retroarch.cfg  (or  the $HOME/.config
120              default for $XDG_CONFIG_HOME).  If all fails,  default  settings
121              will  be  assumed.   If  RetroArch  creates a new default config
122              file,  it  will  attempt  to  load  the  skeleton  config   file
123              /etc/retroarch.cfg and use that as a basis.  This allows distri‐
124              butions to set up default paths for libretro cores, and  similar
125              things.  A configuration file does not need to define every pos‐
126              sible option, only those which should be overridden.
127
128              If config_save_on_exit  =  true  is  set  in  the  config  file,
129              RetroArch  will  overwrite the config file on exit. Settings can
130              be changed from within the menu.  If RetroArch overwrites a con‐
131              fig  file, formatting, comments, etc will be lost.  If RetroArch
132              creates a default config file, it will have  config_save_on_exit
133              set automatically.
134
135
136              Windows   will  look  in  retroarch.cfg  in  same  folder  where
137              retroarch.exe resides.  A default config file will also be  cre‐
138              ated in the same manner as Unix.
139
140
141       --appendconfig PATH
142              Appends  a  different  set  of  config  files to the config file
143              loaded in -c (or default).  Multiple config files are  delimited
144              by  ','.   Every config file will be appended in order where the
145              key-value pairs of the next config file takes priority over  the
146              old ones.
147
148
149       --subsystem SUBSYSTEM
150              Use  a  subsystem  of the loaded libretro core. Multiple content
151              files are loaded as multiple arguments.  If content is  skipped,
152              use  a blank ("") command line argument.  Content must be loaded
153              in an order which depends on the particular subsystem used.  See
154              verbose  log  output  to  learn how a particular subsystem wants
155              content to be loaded.
156
157
158       --nodevice PORT, -N PORT
159              Disconnects an input device from port number PORT. Possible val‐
160              ues  for  PORT are 1 to 8. This may be needed for some odd games
161              to run properly.  If set explicitly here, overrides config  file
162              for that port.
163
164
165       --dualanalog PORT, -A PORT
166              Connects a DualAnalog controller into port PORT. Possible values
167              are 1 to 8.  If set explicitly here, overrides config  file  for
168              that port.
169
170
171       --device PORT:ID, -d PORT:ID
172              Connects a generic input device ID into port PORT. Possible val‐
173              ues for port are 1 to 8.  If set explicitly here, overrides con‐
174              fig  file for that port.  ID is an unsigned number corresponding
175              to the device for a libretro core.
176
177
178       --record PATH, -r PATH
179              Activates video recording of  gameplay  into  PATH.  Using  .mkv
180              extension  is  recommended.   Codecs  used are (FFV1 or H264 RGB
181              lossless (x264))/FLAC, suitable for processing the material fur‐
182              ther.
183
184
185       --recordconfig PATH
186              Sets path to a config file for use during recording.
187
188
189       --size WIDTHxHEIGHT
190              Allows  specifying  the exact output width and height of record‐
191              ing. This option will override any configuration settings.   The
192              video  input is scaled with point filtering before being encoded
193              at the correct size.
194
195
196       --bsvplay PATH, -P PATH
197              Play back a movie recorded in the .bsv format (bsnes). Cart  ROM
198              and  movie  file  need  to correspond.  It also requires to play
199              back with the same libretro backend that was used for recording.
200
201
202       --bsvrecord PATH, -R PATH
203              Start recording a .bsv video to PATH immediately after startup.
204
205
206       --sram-mode MODE, -M MODE
207              MODE designates how to handle SRAM.  The format  of  the  second
208              parameter is {no,}load-{no,}save.  These two boolean values tell
209              if SRAM loading and SRAM saving should take  place.   Note  that
210              noload-save  implies  that the SRAM will be overwritten with new
211              data.
212
213
214       --verbose, -v
215              Activates verbose logging.
216
217
218       --host, -H
219              Be the host of netplay. Waits until a user  connects.  The  host
220              will always assume user 1.
221
222
223       --connect SERVER, -C SERVER
224              Connect to a host of netplay. Will always assume user 2.
225
226
227       --frames FRAMES, -F FRAMES
228              Sync  frames  to  use  when using netplay. More frames allow for
229              more latency, but requires more CPU power.  Set FRAMES to  0  to
230              have  perfect  sync. 0 frames is only suitable for LAN. Defaults
231              to 0.
232
233
234       --port PORT
235              Network port used for netplay.  This  defaults  to  55435.  This
236              option affects both TCP and UDP.
237
238
239       --spectate
240              If netplay is used, it will go into a spectator mode.  Spectator
241              mode allows one host to live stream game  playback  to  multiple
242              clients.  Essentially, clients receive a live streamed BSV movie
243              file.  Clients can connect and disconnect at any time.   Clients
244              thus  cannot  interact  as user 2.  For spectating mode to work,
245              both host and clients will need to use this flag.
246
247
248       --command CMD
249              Sends a command over UDP to an already running RetroArch  appli‐
250              cation,   and   exit.    The   command  is  formatted  as  "COM‐
251              MAND;HOST;PORT".   HOST  and  PORT  are  both  optional.   "COM‐
252              MAND;HOST"  will set PORT to "network_cmd_port" default setting.
253              If only "COMMAND" is used, HOST and PORT will be assumed  to  be
254              "localhost" and "network_cmd_port" respectively.
255
256              The available commands are listed if "COMMAND" is invalid.
257
258
259       --nick NICK
260              Pick  a nickname for use with netplay.  This is purely cosmetic,
261              and only serves to help users identify each other.
262
263
264       --ups PATCH, -U PATCH
265              Attempts to apply an UPS patch to the current content image.  No
266              files  are  altered.   If  this flag is not specified, RetroArch
267              will look for a .ups file with same basename as  content  speci‐
268              fied.
269
270
271       --bps PATCH
272              Attempts  to  apply a BPS patch to the current content image. No
273              files are altered.  If this flag  is  not  specified,  RetroArch
274              will  look  for a .bps file with same basename as content speci‐
275              fied.
276
277
278       --ips PATCH
279              Attempts to apply a IPS patch to the current content  image.  No
280              files  are  altered.   If  this flag is not specified, RetroArch
281              will look for a .ips file with same basename as  content  speci‐
282              fied.   Note that RetroArch cannot perform any error checking if
283              patching was successful due to how IPS works.
284
285
286       --no-patch
287              Disables all kinds of content patching.
288
289
290       -D, --detach
291              Detach from the current console. This is currently only relevant
292              for Microsoft Windows.
293
294

SEE ALSO

296       retroarch-joyconfig(6)
297
298
299
300RETROARCH                      November 1, 2011                   RETROARCH(6)
Impressum