Command line options

From FlightGear wiki
Jump to navigation Jump to search
Note  This article presents the current command line options, including the development version. To check the options for FlightGear version 2020.3.x, see the Command line options 2020.3 article.

Command line options are a common way to tell applications what to do/how to act on startup. With FlightGear they are used for many things, from simple ones like selecting an aircraft up to complex stuff like network traffic and weather parameters.

The easiest way to handle those options for FlightGear is using a tool with a graphical user interface like the FlightGear Qt launcher. This way one doesn't have to bother about them at all.

However, there are users who don't want or are not able to run a GUI and therefore are interested in this. Those who need them or just want to learn more about FlightGear, but have no idea what we are talking about, may read the wiki page on the general usage of the command line. The launcher GUI works by setting command-line options for the options you choose. Try different options and see what the launcher sets from menu in Qt launcher *** > View command-line or by use Ctrl+L keyboard shortcut.

A good place to store the personal options is a file called fgfsrc. This file is read by FlightGear on each startup.

The following lists show the options for FlightGear including a short description and sorted by categories. Please have in mind that keeping those lists up to date on the wiki is not an easy task. Also there are different versions of FlightGear out there which don't share exactly the same options. Therefore you better also check your versions ones with fgfs --help --verbose. If this command fails, you may add the option --fg-root=[path] as well, see below.

It is sad but true, not even this command is, at least in Git, up to date all the time. At the time of writing at least one option which is supported is not shown with fgfs --help --verbose. So if you have serious issues with an option, the source code is, as always, also the best source for info. In the file src/Main/options.cxx all the options are listed with their hard coded default setting and type.

The file $FG_ROOT/options.xml is used to generate the output for fgfs --help [--verbose]. That's the reason why --fg-root=[path] has to be added to this, if it is not set as environmental variable or as option in fgfsrc.

Usage in terminal: fgfs [OPTION [OPTION ...]]

The way to use options by Qt Launcher: go to the "Settings" tab and in the "Additional Settings" section enter the following options, each on a new line. The options entered there take precedence over those defined by Qt Launcher. To see the entire list of command line options used by Qt Launcher, use the keyboard shortcut Ctrl+L or select "View command-line" from the Launcher menu.

Legend how to read the following options

  1. --option1 (--option2) - in this case --option2 is the aliast for --option1 which is exactly the same as --option1.
  2. --option1
    --option2 - two different options, mutually exclusive. They cannot be used simultaneously, but are connected due to a common description.
  3. --option1, --option2 - two different options that can be used simultaneously and are connected due to a common description.

Values for options

Some options do not require a value, such as --help, but there are options for which we must specify a value, such as --fg-root, as well as there are options for which we can optionally specify a value, such as for --launcher. We can separate the value from the option with either the = sign or a space, such as:

   --fg-root /path/to/fgdata

Options that act like an enable/disable switch take optional values as true, 1, yes (enable) or false, 0, no (disable). If we don't specify any value next to such an option, it will work by default as if we passed true, 1 or yes, i.e. enabled it, e.g:


will enable Launcher, which is equivalent to:


On the other hand, we can also pass a value that disables the option, e.g.:


which will cause Launcher not to be launched. In addition, most of such options have two additional versions without a value, but preceded by the prefix enable- and disable-, e.g.:


will also enable Launcher.

General Options

--help (-h)

Show the most relevant command line options.

--verbose (-v)

Show all command line options when combined with --help or -h.


Display the current FlightGear version.


Specify the root data path.


Specify the base scenery path. Defaults to $FG_ROOT/Scenery.


Specify additional aircraft directory path(s) (alternatively, you can use --aircraft-dir to target a specific aircraft in a given directory).


Specify a path to addon. Multiple instances can be used.


Store aircraft and scenery downloaded via the simulator in path. The TerraSync directory may be specifically set with the --terrasync-dir option.


Specify an additional base data directory (FGData), before the $FG_ROOT directory.


Enable/disable automatic scenery downloads/updates.


Specify the TerraSync scenery path. Defaults to $FG_HOME/TerraSync.


Select the language for this session. Available codes: ca, de, en, es, fr, it, nl, pl, pt, ru, tr, sk, zh.


Enable/disable Qt Launcher. Without this option or with enabled it, it will immediately start the simulator in the default configuration or in the configuration read from the fgfsrc file - if it exists.


Enable/disable splash screen.


Enable/disable extra mouse pointer (i.e. for full screen Voodoo based cards).


Specify path to your web browser.


Set the given property to the given value. Type can be one of string, double, float, long, int, or bool.


After starting the simulator, open the properties dialog immediately on the given property. If you need more windows, just add more browser indexes like browser[1], browser[2] etc., for example:
which will open two dialogs with the given properties.


Load additional properties from path.


Enable/Disable not loading any default configuration files (like fgfsrc) unless explicitly specified with --config.


Use feets (default) or meters for distances.


Allow Nasal scripts to read files from directories listed as path (separate multiple paths with a semicolon (Windows) or a colon (UNIX)). By default, for security reasons, Nasal scripts can only read data from certain directories, such as $FG_ROOT, $FG_HOME, etc.


Enable/disable folder $FG_HOME read-only.


Enable/disable ignoring the autosave file, i.e. the settings saved in this file will not be loaded during startup, nor will the settings be saved to this file when closing the simulator.


Enable/Disable saving preferences at program exit.


Enable/Disable resetting all user settings to their defaults (rendering options etc.)


Enable/Disable GUI (disabling GUI enables headless mode.)


Log JSBSim properties. An output directives file contains an <output> element, within which should be specified the parameters or parameter groups that should be logged. See JSBSim Logging.



Enable/disable CompositeViewer (extra view windows.)


Enable/disable 2D instrument panel.


Start in a pause state or unpause.


Fuel tank quantity forced to remain constant or fuel is consumed normally.


Do not advance clock or clock advances normally.


Add and enable a new scenario. Multiple options are allowed. Scenarios are in $FG_ROOT/AI/.


Enable/disable the AI subsystem. When disabled this also disables showing the models of other multiplayer aircraft.


Enable/disable the autogenerated traffic subsystem.


Enable/disable the Virtual Reality.


Enable/Disable automatic opening of the Launcher when exiting FlightGear.


Load recording of earlier flightgear session. For <name>, if <name> ends with .fgdata it is treated as the local path of the recording file; otherwise we form the local path by prepending <name> with the tape directory and appending ".fgtape". For <url> (starting with http:// or https://) we download the remote recording (which must be a Continuous recording) in the background to a url-dependent filename while replaying it; if the url-dependent filename already exists it is assumed to be a truncated download and we only download any remaining data.


Enable/Disable encode video while replaying tape specified by --load-tape.


Set fixed-dt mode while replaying tape specified by --load-tape.


--aircraft=name (--vehicle=name)

Select an aircraft profile as defined by a top level -set.xml.


Specify the exact directory to use for the aircraft (normally not required, but may be useful). Interpreted relatively to the current directory. Causes the <path-cache> from autosave_X_Y.xml, as well as --fg-aircraft options and the FG_AIRCRAFT environment variable to be bypassed.


Enable/disable printing a list of the currently available aircraft types.


Allows you to define a minimum status level (=development status) for all listed aircraft by --show-aircraft option.


Enable/disable auto coordination. Disabled as default. If enabled, the rudder will respond according to the movement of the ailerons.


Select aircraft livery.


Specify the initial state of the aircraft to the given value. The states that can be used depend on the aircraft. For example, the Cessna 172P has only one state: auto.

Flight Model

--fdm={ada | acms | aisim | balloon | jsb | larcsim | magic | network | pipe | ufo | yasim | external | null}

Select the core flight dynamics model.


Select aircraft aerodynamics model to load.


Run the FDM this rate (iterations per second).


Run the FDM 'n' times faster than real time.


Trim or do not attempt to trim the model (only with --fdm=jsbsim).


Start at ground level (default) or in air (implied when using --altitude).

Initial Position and Orientation


Specify airport (e.g. KOAK).


Specify starting runway (must also specify an airport).

--parking-id=name (--parkpos=name)

Specify a gate at the airport (e.g. 747d11).


Specify starting position on an AI carrier.


Specify a starting position relative to the carrier where you can use the predefined abeam (start on downwind abeam) or FLOLS (start on final approach) values, or specify the name of the carrier's parking position. Must also specify a carrier by --carrier.


Specify starting position relative to a VOR.


Specify the frequency of the VOR. Use with --vor=ID.


Specify starting position relative to an NDB.


Specify the frequency of the NDB. Use with --ndb=ID.


Specify starting position relative to a fix.


Specify distance to reference point (nautical miles).


Specify heading to reference point.


Starting longitude (west = -).


Starting latitude (south = -).


Starting altitude (in feet unless --units-meters specified).


Specify heading (yaw) angle (Psi).


Specify roll angle (Phi).


Specify pitch angle (Theta).


Specify initial airspeed in knots or mach number.


Specify flight path angle (can be positive).


Specify initial climb of rate (can be negative).


Specify velocity along the body X axis (in feet unless --units-meters specified).


Specify velocity along the body Y axis (in feet unless --units-meters specified).


Specify velocity along the body Z axis (in feet unless --units-meters specified).


Specify velocity along a South-North axis (in feet unless --units-meters specified).


Specify velocity along a West-East axis (in feet unless --units-meters specified).


Specify velocity along a vertical axis (in feet unless --units-meters specified).

Audio Options


Enable/disable the display of the list of audio devices.


Explicitly specify the audio device to use. To get available names use --show-sound-devices.


Enable/disable sound.

Rendering Options


Enable/disable multi sample buffer (anti-aliasing).


Specify number of multi samples (anti-aliasing). Valid values is 2, 4, 8, 16.


Specify a multiplier for the aspect ratio.


Specify the bits per pixel.


Specify the path to XML file for multi-pass rendering. The path is relative to $FG_ROOT (defaults to Compositor/default.) For enable HDR pipeline use Compositor/HDR/hdr path.


Enable/disable celestial body growth illusion near the horizon.


Enable/disable runway light distance attenuation.


Enable/disable specular reflections on textured objects.


Enable/disable 2D (flat) cloud layers.


Enable/disable 3D (volumetric) cloud layers.


Enable/disable texture cache (DDS).


Set the DDS texture cache directory to be different than the default location.


Enable/disable fullscreen mode.


Enable/disable random scenery objects (buildings, etc.)


Enable/disable wireframe drawing mode.


Set the fog. The --fog-disable option will turn off the fog, resulting in increased visibility and a decrease in performance (more terrain to render). The --fog-fastest option will enable fog rendering in a less realistic way, but improving performance. By default, the --fog-nicest option is used to render a realistic fog, at the expense of performance. These options are deprecated.


Specify field of view angle.


Specify window geometry/resolution (640x480, etc).


Specify a graphic preset.


Specify the materials file used to render the scenery (default: Materials/regions/materials.xml).


Maximum frame rate in Hz.


Enable smooth or flat shading. These options are deprecated.


Specify anisotropic filtering of terrain textures. Valid values is 1, 2, 4, 8, 16. Default is 1.


Specify the default forward view direction as an offset from straight ahead. Allowable values are LEFT, RIGHT, CENTER, or a specific number in degrees.


Specify the terrain engine you want to use: tilecache or pagedLOD.


Specify the detail levels, where levels are a space-separated numeric list of levels. The default is "1 3 5 7 9". Use with --terrain-engine=pagedLOD.


Specify the resolution of the terrain grid. Defaults is 1. Use with --terrain-engine=pagedLOD.


Specify the method of texturing the terrain. The default is bluemarble. Use with --terrain-engine=pagedLOD.


Specify the range multiplier (point from low to fine detail). Defaults is 2. Use with --terrain-engine=pagedLOD.



Activate the use of World Scenery 3.0.

Hud Options


Enable/disable Heads Up Display (HUD).


Enable/disable anti-aliased HUD.


Enable/disable 3D HUD.


Hud displays number of triangles rendered or percentage of triangles culled.

Time Options

The following time and date setting options are not compatible with each other, so only one of them should be given.


Specify a time of day.


Add this time offset to --time-match-real.


Synchronize time with current time at chosen airport.


Synchronize time with system time of computer.


Specify a starting date/time with respect to system time.


Specify a starting date/time with respect to Greenwich Mean Time.


Specify a starting date/time with respect to Local Aircraft Time.

Network Options


Specify the proxy server and port to be used. Username and password are optional. If present, they should be listed as MD5 hashes. This option is only useful when --real-weather-fetch is enabled.


Enable HTTP server on the specified port.

--telnet={port|socket,bi,hz,localhost,port,tcp} (--props={port|socket,bi,hz,localhost,port,tcp})

Enable telnet server on the specified port. Optionally, you can change the hz (number of packets per second).


Enable screen shot HTTP server on the specified port. This option has been withdrawn, instead use --httpd and /screenshot URL.


Enable/disable allowing executing Nasal scripts from sockets. Enable means that network connections will be allowed full access to the simulator including running arbitrary scripts. Ensure you have adequate security such as a firewall which blocks external connections.


Enable/disable crash and error reports from being sent to the development team for analysis.

MultiPlayer Options


Assign a unique name to a player. A call sign must be at most 10 characters long and can only contain numbers, letters of the English alphabet, hyphens (-) and underscores (_). Longer call signs are truncated, and characters that do not match those listed above are replaced with hyphens.


Specify multipilot communication settings. Multiple instances can be used.


Enable/disable built-in FGCom (voice communication with ATC.)


In multiplayer mode, when you select an initial position on the runway, you will be moved by default to the hold-short position (--hold-short), which is on the taxiway, just in front of the runway. The --disable-hold-short option allows you to disable this behavior, but keep in mind that this is undesirable, as it may interfere with others taking off or landing.

Route/Way Point Options


Specify a waypoint for the GC autopilot. Multiple instances can be used.


Read all waypoints from a file.

IO Options


Open connection using a predefined communication interface and a preselected communication protocol.


Open connection using the Atlas protocol.


Open connection using the ATC sim protocol (atc610x).


Emit the Garmin AV400 protocol required to drive a Garmin 196/296 series GPS.


Emit the set of AV400 strings required to drive a Garmin 400-series GPS from FlightGear.

--AV400WSimA=params, --AV400WSimB=params

The Garmin WAAS GPS uses 2 serial channels to communicate with the simulator. These 2 channels are represented by the FGAV400WSimA and the FGAV400WSimB classes. The "A" channel is similar to the previous AVSim400 protocol. The "B" channel is considered the "GPS" channel and uses a different protocol than the "A" channel. The GPS unit expects input on the "B" channel at two different frequencies (1hz and 5hz, normally). The "B" channel also expects responses to certain output messages.


Open connection using the FLARM protocol, which includes NMEA/GPS and traffic reporting messages.


Open connection using the Garmin GPS protocol.


Open a remote connection using the HLA protocol. Currently, this option is disabled.


Open a local connection using the HLA protocol. Currently, this option is disabled.


Open connection using the International Gliding Commission (IGC) protocol.


Open connection to an Agwagon joystick.


Open connection to a remote joystick.


Open connection using the FG Native protocol.


Open connection using the FG Native Controls protocol.


Open connection using the FG Native FDM protocol.


Open connection using the FG Native GUI protocol.


Open connection using the NMEA protocol.


Open connection using the OpenGC protocol.


Open connection using the interactive property manager (same as --telnet).


Open connection using the PVE protocol (ProVision Entertainment - some sort of motion platform).


Open connection using the Ray Woodworth motion chair protocol.


Open connection using the RUL protocol (some sort of motion platform some guy was building).

Under Windows, you must use a special escape sequence if you need to specify a COM port higher than 9.

Example: --generic=\\.\COM10,out,1,/tmp/data.xml,myproto

This is per the Microsoft KB article here:

Avionics Options

--com1=frequency, --com2=frequency

Set the COM1 and COM2 radio frequency.

--nav1=[radial:]frequency, --nav2=[radial:]frequency

Set the NAV1 and NAV2 radio frequency, optionally preceded by a radial.

--adf1=[rotation:]frequency, --adf2=[rotation:]frequency

Set the ADF1 and ADF2 frequency to frequency kHz. You can optionally specify the rotation angle of its compass card by prefixing the frequency with the angle and a colon. The --adf option is deprecated.


Slave the ADF to one of the NAV radios, or set its internal frequency.

Environment Options


Enable/disable METAR based real weather fetching. Enable requires an open internet connection.


Enable/disable celestial body growth illusion near the horizon.


Specify initial visibility in meters or in statute miles. It works only with Basic Weather.


Specify the direction from which the wind is blowing (DIR in degrees) and its SPEED (in knots). If the wind direction is variable, specify the range as DIR:MAXDIR, as a minimum and maximum angle in degrees. If you want the simulator to also model wind gusts, set the maximum :GUST rate in knots.


Specify turbulence where value must to be from 0.0 (calm) to 1.0 (severe).


Create an overcast ceiling, optionally with a specific thickness (defaults to 2000 ft). This option looks like it has been broken for a long time and doesn't work at all.


Set up random wind direction and speed.

--metar="metar string"

Starts with a certain METAR string. Only works if live weather is disabled.

Situation Options


Fail the pitot, static, vacuum, or electrical system (repeat the option for multiple system failures).

Debugging Options

--console[={true|false|1|0|yes|no}] (-c)

Enable/Disable displaying console (Windows specific.) Short -c always enable console.


Enable/Disable developer mode which will log more events.


Enable/Disable aborting on encountering a floating point exception.

--fgviewer file

Use a model viewer rather than load the entire simulator.


Enable/Disable printing a report in JSON format on the standard output. The report will give useful information for debugging purposes, such as the FlightGear version, the scenery/aircraft paths in use, the TerraSync and the data download directories and the paths to navigation data files.


Set the logging level for this session. 0 = verbose, 5 = alerts only. See also Commonly used debugging tools#fgfs.log.

--log-class={none|ai|aircraft|astro|atc|autopilot|clipper|cockpit| environment|event|flight|general|gl|gui|headless|input|instrumentation| io|math|nasal|navaid|network|osg|particles|sound|systems|terrain| terrasync|undefined|view|all}

Specify which logging class(es) to use.


Save the logs in the given directory. If desktop is entered instead of the path, the logs are saved on the Desktop. This option may be given several times, using a different directory each time. Inside the specified directory, the log file will be named FlightGear_YYYY-MM-DD_num.log, where YYYY-MM-DD is the current date and num is a progressive number starting at 0.


Trace the reads for a property; multiple instances can be used.


Trace the writes for a property; multiple instances can be used.


Remove $FG_HOME directory. For Windows, it additionally removes TerraSync, Aircraft and TextureCache directories from download directory.

Related content

Wiki articles

Source files