Command line options

From FlightGear wiki
Jump to navigation Jump to search

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.

Note that some command line options are not listed. The complete list can be found by examining the sources

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.

General Options

--help (-h)

Show the most relevant command line options.

--verbose (-v)

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

--version

Display the current FlightGear version.

--fg-root=path

Specify the root data path.

--fg-scenery=path[:path...]

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

--fg-aircraft=path

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

--addon=path

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

--download-dir=path

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

--data=path

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

--enable-terrasync
--disable-terrasync

Enable/disable automatic scenery downloads/updates.

--terrasync-dir=path

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

--language=code

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

--launcher

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

--enable-splash-screen
--disable-splash-screen

Enable/disable splash screen.

--enable-mouse-pointer
--disable-mouse-pointer

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

--browser-app=path

Specify path to your web browser.

--prop:[type:]property=value

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

--prop:browser=property

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:
 --prop:browser=/sim/presets
 --prop:browser[1]=/devices/status/keyboard/event

which will open two dialogs with the given properties.

--config=path

Load additional properties from path.

--no-default-config

Do not load any default configuration files (like fgfsrc) unless explicitly specified with --config.

--units-feet
--units-meters

Use feets (default) or meters for distances.

--allow-nasal-read=path[:path...]

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.

--read-only

Make $FG_HOME read-only.

--ignore-autosave

Ignore 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-save-on-exit
--disable-save-on-exit

Allow/Disallow save preferences upon program exit.

--restore-defaults

Reset all user settings to their defaults (rendering options etc.)

--disable-gui

Enable headless mode.

--jsbsim-output-directive-file=file

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.

Features

--composite-viewer={1|0}

Enable (1), disable (0) CompositeViewer (extra view windows).

--enable-panel
--disable-panel

Enable/disable 2D instrument panel.

--enable-freeze
--disable-freeze

Start in a pause state or unpause.

--enable-fuel-freeze
--disable-fuel-freeze

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

--enable-clock-freeze
--disable-clock-freeze

do not advance clock or clock advances normally.

--ai-scenario=scenario

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

--enable-ai-models
--disable-ai-models

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

--enable-ai-traffic
--disable-ai-traffic

Enable/disable the autogenerated traffic subsystem.

--enable-vr
--disable-vr

Enable/disable the Virtual Reality.

--restart-launcher

Open Launcher automatically when exiting the FlightGear.

--load-tape={name|url}

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.

--load-tape-create-video

Encode video while replaying tape specified by --load-tape.

--load-tape-fixed-dt=value

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

Aircraft

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

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

--aircraft-dir=path

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.

--show-aircraft

Print a list of the currently available aircraft types.

--min-status={alpha|beta|early-production|production}

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

--enable-auto-coordination
--disable-auto-coordination

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

--livery=name

Select aircraft livery.

--state=value

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.

--aero=name

Select aircraft aerodynamics model to load.

--model-hz=n

Run the FDM this rate (iterations per second).

--speed=n

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

--trim
--notrim

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

--on-ground
--in-air

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

Initial Position and Orientation

--airport=ICAO

Specify airport (e.g. KOAK).

--runway=rwy_no

Specify starting runway (must also specify an airport).

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

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

--carrier={name|ID}

Specify starting position on an AI carrier.

--carrier-position={abeam|FLOLS|name}

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.

--vor=ID

Specify starting position relative to a VOR.

--vor-frequency=frequency

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

--ndb=ID

Specify starting position relative to an NDB.

--ndb-frequency=frequency

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

--fix=ID

Specify starting position relative to a fix.

--offset-distance=nm

Specify distance to reference point (nautical miles).

--offset-azimuth=degrees

Specify heading to reference point.

--lon=degrees

Starting longitude (west = -).

--lat=degrees

Starting latitude (south = -).

--altitude=value

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

--heading=degrees

Specify heading (yaw) angle (Psi).

--roll=degrees

Specify roll angle (Phi).

--pitch=degrees

Specify pitch angle (Theta).

--vc=knots
--mach=num

Specify initial airspeed in knots or mach number.

--glideslope=degrees

Specify flight path angle (can be positive).

--roc=fpm

Specify initial climb of rate (can be negative).

--uBody=units_per_sec

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

--vBody=units_per_sec

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

--wBody=units_per_sec

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

--vNorth=units_per_sec

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

--vEast=units_per_sec

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

--vDown=units_per_sec

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

Audio Options

--show-sound-devices

Show a list of available audio device.

--sound-device=name

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

--enable-sound
--disable-sound

Enable/disable sound.

Rendering Options

--prop:/sim/rendering/multi-sample-buffers={true|false}

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

--prop:/sim/rendering/multi-samples=value

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

--aspect-ratio-multiplier=factor

Specify a multiplier for the aspect ratio.

--bpp=depth

Specify the bits per pixel.

--compositor=path

Specify the path to XML file for multi-pass rendering. The path is relative to $FG_ROOT (defaults to Compositor/default.xml).

--enable-horizon-effect
--disable-horizon-effect

Enable/disable celestial body growth illusion near the horizon.

--enable-distance-attenuation
--disable-distance-attenuation

Enable/disable runway light distance attenuation.

--enable-specular-highlight
--disable-specular-highlight

Enable/disable specular reflections on textured objects.

--enable-clouds
--disable-clouds

Enable/disable 2D (flat) cloud layers.

--enable-clouds3d
--disable-clouds3d

Enable/disable 3D (volumetric) cloud layers.

--enable-texture-cache
--disable-texture-cache

Enable/disable texture cache (DDS).

--texture-cache-dir=path

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

--enable-fullscreen
--disable-fullscreen

Enable/disable fullscreen mode.

--enable-random-objects
--disable-random-objects

Include/exclude random scenery objects (buildings, etc.)

--enable-wireframe
--disable-wireframe

Enable/disable wireframe drawing mode.

--fog-disable
--fog-fastest
--fog-nicest

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.

--fov=degrees

Specify field of view angle.

--geometry=WidthxHeight

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

--graphics-preset={minimal-quality|low-quality|medium-quality|high-quality|ultra-quality}

Specify a graphic preset.

--materials-file=file

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

--max-fps=Hz

Maximum frame rate in Hz.

--shading-smooth
--shading-flat

Enable smooth or flat shading. These options are deprecated.

--texture-filtering=value

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

--view-offset=value

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

--terrain-engine={tilecache|pagedLOD}

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

--lod-levels=levels

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.

--lod-res=resolution

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

--lod-texturing={bluemarble|raster|debug}

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

--lod-range-mult=multiplier

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

--season={summer|winter}

Enable summer season or winter - default summer. Available until FG 2020.3.

Hud Options

--enable-hud
--disable-hud

Enable/disable Heads Up Display (HUD).

--enable-anti-alias-hud
--disable-anti-alias-hud

Enable/disable anti-aliased HUD.

--enable-hud-3d
--disable-hud-3d

Enable/disable 3D HUD.

--hud-tris
--hud-culled

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.

--timeofday={real|dawn|morning|noon|afternoon|dusk|evening|midnight}

Specify a time of day.

--time-offset=[+-]hh:mm:ss

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

--time-match-real

Synchronize time with current time at chosen airport.

--time-match-local

Synchronize time with system time of computer.

--start-date-sys=yyyy:mm:dd:hh:mm:ss

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

--start-date-gmt=yyyy:mm:dd:hh:mm:ss

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

--start-date-lat=yyyy:mm:dd:hh:mm:ss

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

Network Options

--proxy=[user:password@]host:port

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.

--httpd=port

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).

--jpg-httpd=port

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

--allow-nasal-from-sockets

Remove security flag, which 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-sentry
--disable-sentry

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

MultiPlayer Options

--callsign=name

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.

--multiplay={in|out},hz,address,port

Specify multipilot communication settings. Multiple instances can be used.

--enable-fgcom
--disable-fgcom

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

--disable-hold-short

In multiplayer mode, when you select an initial position on the runway, you will be moved by default to the hold-short position, 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

--wp=ID[@alt]

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

--flight-plan=file

Read all waypoints from a file.

IO Options

--generic=params

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

--atlas=params

Open connection using the Atlas protocol.

--atcsim=params

Open connection using the ATC sim protocol (atc610x).

--AV400=params

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

--AV400Sim=params

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.

--flarm=params

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

--garmin=params

Open connection using the Garmin GPS protocol.

--hla=params

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

--hla-local=params

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

--igc=params

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

--joyclient=params

Open connection to an Agwagon joystick.

--jsclient=params

Open connection to a remote joystick.

--native=params

Open connection using the FG Native protocol.

--native-ctrls=params

Open connection using the FG Native Controls protocol.

--native-fdm=params

Open connection using the FG Native FDM protocol.

--native-gui=params

Open connection using the FG Native GUI protocol.

--nmea=params

Open connection using the NMEA protocol.

--opengc=params

Open connection using the OpenGC protocol.

--props=params

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

--pve=params

Open connection using the PVE protocol.

--ray=params

Open connection using the Ray Woodworth motion chair protocol.

--rul=params

Open connection using the RUL protocol.

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: http://msdn.microsoft.com/en-us/library/aa363858%28v=vs.85%29.aspx

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.

--dme={nav1|nav2|frequency}

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

Environment Options

--enable-real-weather-fetch
--disable-real-weather-fetch

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

--enable-horizon-effect
--disable-horizon-effect

Enable/disable celestial body growth illusion near the horizon.

--visibility=meters
--visibility-miles=miles

Specify initial visibility in meters or in statute miles.

--wind=DIR[:MAXDIR]@SPEED[:GUST]

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.

--turbulence=value

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

--ceiling=FT_ASL[:THICKNESS_FT]

Create an overcast ceiling, optionally with a specific thickness (defaults to 2000 ft).

--random-wind

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

--failure={pitot|static|vacuum|electrical}

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

Debugging Options

--console

Display console (Windows specific).

--developer

Enable developer mode which will log more events.

--enable-fpe

Abort on encountering a floating point exception.

--fgviewer file

Use a model viewer rather than load the entire simulator.

--json-report

Print 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.

--log-level={bulk|debug|info|warn|alert}

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.

--log-dir=dir

Save the logs in the directory dir. If dir is desktop, 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-read=property

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

--trace-write=property

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

--uninstall

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

Related content

Wiki articles

Source files