1
2RETROARCH(6) System Manager's Manual: retroarch RETROARCH(6)
3
4
5
7 retroarch - The reference frontend for the libretro API.
8
9
11 retroarch [rom file(s)] [OPTIONS]...
12
13
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
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
43 By default, only keyboard input is accepted.
44
45
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
296 retroarch-joyconfig(6)
297
298
299
300RETROARCH November 1, 2011 RETROARCH(6)