Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RETROARCH(6)	       System Manager's Manual: retroarch	    RETROARCH(6)

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 con-
     trolled 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 li-
	    bretro cores.  retroarch use uncompressed content,	but  can  uncom-
	    press  content  in the .zip/deflate format if support for it is com-
	    piled in.  Content types supported depend on the libretro  implemen-
	    tation used.

     --help, -h
	    Prints help text.

     --menu
	    Starts  directly  in in-game menu if enabled.  Does not require con-
	    tent or libretro implementation to be set.	These can be loaded  af-
	    terwards  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  exten-
	    sion  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 re-
	    place 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  con-
	    figuration 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_CON-
	    FIG_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_CON-
	    FIG_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  li-
	    bretro  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  or-
	    der 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  exten-
	    sion  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 in-
	    put  is scaled with point filtering before being encoded at the cor-
	    rect size.

     --play-replay PATH, -P PATH
	    Play back a movie recorded in the .replay format. Cart ROM and movie
	    file need to correspond.  It also requires to  play  back  with  the
	    same libretro backend that was used for recording.

     --record-replay PATH, -R PATH
	    Start recording a .replay video to PATH immediately after startup.

     --sram-mode MODE, -M MODE
	    MODE  designates how to handle SRAM.  The format of the second para-
	    meter 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 per-
	    fect 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 replay 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 applica-
	    tion, 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 success-
	    ful due to how IPS works.

     --xdelta PATCH
	    Attempts  to  apply an Xdelta patch to the current content image. No
	    files are altered.	If this flag is not  specified,  RetroArch  will
	    look  for  a  .xdelta  file with same basename as content specified.
	    Only available if RetroArch was built with Xdelta support.

     --no-patch
	    Disables all kinds of content patching.

     -D, --detach
	    Detach from the current console. This is currently only relevant for
	    Microsoft Windows.

ENVIRONMENT
     retroarch honors the following environment variables:

     LIBRETRO_DIRECTORY
	    Specify the directory where RetroArch looks for core and info files,
	    overriding the value of the "libretro_directory" configuration  file
	    option.

     LIBRETRO_ASSETS_DIRECTORY
	    Specify  the  directory where RetroArch looks for assets, overriding
	    the value of the "assets_directory" configuration file option.

     LIBRETRO_AUTOCONFIG_DIRECTORY
	    Specify the directory where RetroArch looks for controller auto-con-
	    figuration files,  overriding  the	value  of  the	"joypad_autocon-
	    fig_dir" configuration file option.

     LIBRETRO_CHEATS_DIRECTORY
	    Specify  the  directory where RetroArch looks for cheat files, over-
	    riding the value of the "cheat_database_path" configuration file op-
	    tion.

     LIBRETRO_DATABASE_DIRECTORY
	    Specify the directory where  RetroArch  looks  for	database  files,
	    overriding	the  value  of the "content_database_path" configuration
	    file option.

     LIBRETRO_SYSTEM_DIRECTORY
	    Specify the directory where RetroArch looks for system files,  over-
	    riding  the  value	of the "system_directory" configuration file op-
	    tion.

     LIBRETRO_VIDEO_FILTER_DIRECTORY
	    Specify the directory where RetroArch looks for video filters, over-
	    riding the value of the "video_filter_dir"	configuration  file  op-
	    tion.

     LIBRETRO_VIDEO_SHADER_DIRECTORY
	    Specify the directory where RetroArch looks for video shaders, over-
	    riding  the  value	of the "video_shader_dir" configuration file op-
	    tion.

RETROARCH			January 20, 2025		    RETROARCH(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=retroarch&sektion=6&manpath=FreeBSD+Ports+15.1.quarterly>

home | help