fgfs - the FlightGear flight simulator
fgfs is the main executable for FlightGear, a free,
open-source, multi-platform and sophisticated flight simulator framework for
the development and pursuit of interesting flight simulator ideas.
Options are first read from the command-line arguments passed to
fgfs. The program then checks for the existence of
~/.fgfsrc.hostname (where hostname is the hostname of
the machine) and of ~/.fgfsrc; if at least one of those files exists,
it is read and parsed (see the fgfsrc(5) man page for the full
specifications of the file format).
If conflicting options are given, the ones read last will
prevail.
- --help,
-h
- Display usage information about the most relevant command-line options and
exit.
- --verbose,
-v
- When combined with --help/-h, display usage information
about all command-line options, not just the most relevant ones.
- --version
- Display version information about fgfs and some of the libraries
used by the program (SimGear, OpenSceneGraph, PLIB), then exit.
- --fg-root=path
- Set the FlightGear data root directory ($FG_ROOT) to path.
If this option is not set, fgfs uses the path specified in the
FG_ROOT environment variable or, absent that, the FlightGear data
directory chosen at the time the program was compiled.
- --fg-scenery=path
- Set the FlightGear scenery directories ($FG_SCENERY) to
path.
You can specify multiple directories by separating them with
colons (:), as in /first/path:/second/path
(on Microsoft Windows operating systems, multiple paths should be
separated by semicolons instead): in that case, fgfs will follow
the order the paths are written in to search for scenery files, stopping
as soon as a match is found.
If this option is not set, fgfs uses the path specified
in the FG_SCENERY environment variable or, absent that, the
Scenery subdirectory inside $FG_ROOT.
- --fg-aircraft=path
- Load additional aircraft from path besides the Aircraft
subdirectory inside $FG_ROOT. Alternatively, you can use
--aircraft-dir to target a specific aircraft in a given
directory.
- --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.
- --allow-nasal-read=dirs
- Allow Nasal aircraft scripts to read files from the directories listed in
dirs (separate multiple paths with colons, or semicolons on
Microsoft Windows operating systems).
By default, Nasal scripts are allowed to read data only from
$FG_ROOT and $FG_HOME, as a security measure.
- --read-only
- Make $FG_HOME (the location where user-specific FlightGear data is
stored) read-only.
- --language=code
- Set the language used by the simulator to code, where code
is an ISO 639-1 two-letter locale code (for example, en or
it).
- --restore-defaults
- Reset all user settings to their defaults.
- --enable-save-on-exit,
--disable-save-on-exit
- Save/do not save user settings when the program exits.
- --ignore-autosave
- Ignore the user settings saved the previous time FlightGear was run. This
option implies --disable-save-on-exit.
- --browser-app=path
- Use the Web browser specified in path to open aircraft
documentation.
- --prop:[type:]name=value
- Set the property name to value. You can optionally specify
the property type by setting type to string, double,
float, long, int or bool.
- --config=path
- Load additional configuration directives from path. The file should
follow the format described in fgfsrc(5).
- --no-default-config
- Do not load any configuration files unless they were explicitly specified
with --config.
- --units-feet
- Use feet as the internal measure unit for distances.
- --units-meters
- Use meters as the internal measure unit for distances.
- --console
- Display a console window for simulator/aircraft debugging purposes.
This option is recognized only on Microsoft Windows operating
systems; on other systems, debug messages are always printed to standard
output/standard error.
- --launcher
- Start the FlightGear Launcher, a graphical Qt-based interface to the
simulator.
This option is available only if FlightGear was compiled with
Qt support enabled.
- --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.
- --enable-panel,
--disable-panel
- Enable/disable the pop-up aircraft instrument panel if the chosen airplane
has it.
- --enable-hud,
--disable-hud
- Enable/disable the heads-up display (HUD) if the chosen airplane has
it.
- --enable-anti-alias-hud,
--disable-anti-alias-hud
- Enable/disable heads-up display antialiasing.
- --enable-hud-3d,
--disable-hud-3d
- Enable/disable the 3D version of the heads-up display.
- --hud-tris
- Display the number of triangles rendered when painting the heads-up
display.
- --hud-culled
- Display the number of triangles culled when painting the heads-up
display.
- --enable-random-objects,
--disable-random-objects
- Show/hide random scenery objects, such as buildings. Scenery objects
increase realism, but require more resources (memory and graphic card
power).
- --enable-random-vegetation,
--disable-random-vegetation
- Show/hide random vegetation.
- --enable-random-buildings,
--disable-random-buildings
- Show/hide random buildings.
- --enable-ai-models,
--disable-ai-models
- Enable/disable the internal AI subsystem, which is required for
multiplayer gaming, AI traffic and many other animations. Disabling the
internal AI subsystem is deprecated.
- --enable-ai-traffic,
--disable-ai-traffic
- Enable/disable artificial plane traffic.
- --ai-scenario=scenario
- Add and enable the AI scenario scenario. This option may be
repeated multiple times to enable multiple scenarios.
- --enable-freeze
- Start the simulator in a frozen (paused) state.
- --disable-freeze
- Start the simulator in a running (unpaused) state.
- --enable-fuel-freeze
- Do not consume any fuel (keep its quantity in the tanks constant).
- --disable-fuel-freeze
- Consume fuel normally.
- --enable-clock-freeze
- Do not let the clock advance while running the simulation.
- --disable-clock-freeze
- Let the clock advance normally.
- --failure=pitot|static|vacuum|electrical
- Fail the aircraft pitot, static, vacuum or electrical systems. This option
may be repeated multiple times to fail more than one system.
- --load-tape=tape
- Load and replay the flight recorder tape tape.
- --terrain-engine=tilecache|pagedLOD
- Choose the terrain engine to use. tilecache is the
"traditional" terrain engine (recommended); pagedLOD is a
new, experimental terrain engine designed to minimize memory usage by
loading more detailed versions of scenery objects on demand.
The pagedLOD engine is available only if FlightGear was
compiled with GDAL support.
- --lod-levels=levels
- Set the level of detail levels to levels, where levels is a
space-separated list of numeric levels. This option is available only if
the terrain engine in use is pagedLOD.
- --lod-res=resolution
- Set the terrain mesh resolution to resolution. This option is
available only if the terrain engine in use is pagedLOD.
- --lod-texturing=bluemarble|raster|debug
- Set the terrain texture method. This option is available only if the
terrain engine in use is pagedLOD.
- --lod-range-mult=multiplier
- Set the range multiplier (the breakpoint from a low to a high level of
detail) to multiplier. This option is available only if the terrain
engine in use is pagedLOD.
- --enable-rembrandt,
--disable-rembrandt
- Enable/disable the
Rembrandt
engine, which adds deferred shading (rendering all properties of an
object, such as shading, lighting, fog) in more than one pass.
- --renderer=name
- If the Rembrandt engine is enabled, use the rendering pipeline described
in $FG_ROOT/Effects/name.xml.
- --enable-splash-screen,
--disable-splash-screen
- Show/hide the simulator splash screen while loading the
aircraft/scenery.
- --enable-mouse-pointer,
--disable-mouse-pointer
- Force enable display/do not force display the mouse pointer at
startup.
- --max-fps=frequency
- Limit the maximum frame rate of the simulator to frequency Hz
(frames per second).
- --bpp=depth
- Use a color depth of depth bits per pixel to display the aircraft
and scenery.
- --fog-disable,
--fog-fastest, --fog-nicest
- Choose the fog/haze rendering technique. --fog-disable will disable
fog/haze entirely; --fog-fastest will explicitly ask the graphics
card driver to choose the most efficient, but possibly less accurate,
fog/haze rendering algorithm; --fog-nicest will leave the algorithm
choice to the driver, leading to higher quality results.
- --enable-enhanced-lighting,
--disable-enhanced-lighting
- Enable/disable enhanced runway lighting. This option is
deprecated.
- --enable-distance-attenuation,
--disable-distance-attenuation
- Enable/disable runway light distance attenuation (the runway lights become
less intense as distance increases).
- --enable-horizon-effect,
--disable-horizon-effect
- Enable/disable the celestial body growth illusion near the horizon.
- --enable-specular-highlight,
--disable-specular-highlight
- Enable/disable specular reflections on textured objects.
- --fov=degrees
- Set the field of view angle (FOV) to degrees. High field of view
angles allow you to see a wider part of the world; low angles allow you to
"zoom in" on details.
- --aspect-ratio-multiplier=factor
- Set the horizontal and vertical aspect ratio multiplier to
factor.
- --enable-fullscreen,
--disable-fullscreen
- Enable/disable fullscreen mode.
- --shading-flat,
--shading-smooth
- Use flat/smooth shading. If flat shading is active, the simulator uses the
same color to paint the face of an object: this is faster, but makes edges
more pronounced. Smooth shading smooths color changes between vertices,
leading to higher-quality results, at an expense in performance.
- --materials-file=file
- Load the definitions of the materials used to render the scenery from
file. By default, materials are loaded from
$FG_ROOT/regions/materials.xml.
- --texture-filtering=value
- Set the anisotropic texture filtering to value. The acceptable
values are 1 (default), 2, 4, 8 or
16.
- --enable-wireframe,
--disable-wireframe
- Enable/disable the wireframe drawing mode (in which only object edges are
painted).
- --geometry=widthxheight
- Set the window geometry (size) to widthxheight (both
width and height are in pixels).
- --view-offset=LEFT|RIGHT|CENTER|value
- Specify the default forward view direction as an offset from straight
ahead. The allowed values are LEFT (-90°), RIGHT
(90°), CENTER (0°) or a specific number in
degrees.
- --aircraft=name,
--vehicle=name
- Load an aircraft/vehicle from a set file named name-set.xml. The
file is searched for in $FG_ROOT/Aircraft, in the directory pointed
to by the environment variable FG_AIRCRAFT and in the directories
passed to fgfs(1) using the --fg-aircraft option.
- --aircraft-dir=path
- Explicitly specify the directory in which the -set.xml file should
be searched for. If this argument is used, the path cache stored in
~/.fgfs/autosave_X_Y.xml, the directories passed with the
--fg-aircraft option and the directory specified in the
FG_AIRCRAFT environment variable are not taken into account.
- --show-aircraft
- Print a list of available aircraft and exit.
- --min-status=alpha|beta|early-production|production
- Do not list aircraft having a status level (development status) lower than
the one specified. See
the
FlightGear wiki "Aircraft rating system" page for an
extended description of aircraft ratings.
- --fdm=jsb|larcsim|yasim|magic|balloon|ada|external|null
- Select the core flight dynamics model to use among the following
ones:
- jsb: the JSBSim flight
dynamics model, which takes a data-driven approach to modeling: given
the performance data for an aircraft (mass and balance, ground reactions,
propulsions, aerodynamics...), it assembles it together to produce the
global aircraft dynamics;
- larcsim: the LaRCsim
flight dynamics model, the original model used in FlightGear up to
2000, developed at NASA, now inactive;
- yasim: the
YASim flight
dynamics model, which, given the physical and flying characteristics
of an aircraft, attempts to solve for them;
- magic: the "Magic Carpet" flight model;
- balloon: a hot air balloon simulation;
- ada: an externally-driven flight dynamics model designed by the
Aeronautical Development Agency of Bangalore, India;
- external/null: use an external flight dynamics model (the
external option has the same meaning as null and is
maintained for backward compatibility purposes).
- --aero=name
- Load the aircraft aerodynamics model from the file name.xml in the
aircraft directory.
- --model-hz=n
- Run the flight dynamics model at a frequency of n Hz (n
times per second).
- --speed=n
- Run the flight dynamics model n times faster than real time.
- --trim,
--notrim
- Trim/do not attempt to trim the model. This option is only valid if the
flight dynamics module in use is JSBSim.
- --on-ground
- Start the aircraft on the ground. This is the default option.
- --in-air
- Start the aircraft in the air. This option is implied if --altitude
is specified.
- --enable-auto-coordination,
--disable-auto-coordination
- Enable/disable auto coordination (joint control of rudder and
ailerons).
- --livery=name
- Load the aircraft livery from a file named name.
- --state=value
- Set the initial aircraft state to value. The states that can be
used are aircraft-dependent.
- --airport=ID
- Start the simulator at the airport having ID as its ICAO code.
- --parking-id=name
- Place the aircraft at the parking position name. This option
requires the --airport option to be present.
- --runway=number
- Place the aircraft on runway number. This option requires the
--airport option to be present.
- --carrier=name|ID
- Place the aircraft on the AI carrier named name/having the ID
ID.
- --parkpos=name
- Place the aircraft at the starting position name. This option
requires the --carrier option to be present.
- --vor=ID
- Place the aircraft over the VOR ID.
- --vor-frequency=frequency
- Set the frequency of the VOR to frequency. This option requires the
--vor option to be present.
- --ndb=ID
- Place the aircraft over the NDB ID.
- --ndb-frequency=frequency
- Set the frequency of the NDB to frequency. This option requires the
--ndb option to be present.
- --fix=ID
- Place the aircraft over the fix ID.
- --offset-distance=nm
- Place the aircraft nm statute miles away from the reference point
specified by the previous options.
- --offset-azimuth=degrees
- Place the aircraft at a heading of degrees degrees with respect to
the reference point specified by the previous options.
- --lon=degrees,
--lat=degrees
- Place the aircraft at the point with the coordinates (lat,
lon). Northern longitudes/eastern latitudes must be positive;
southern longitudes/western latitudes must be negative.
- --altitude=value
- Place the aircraft at an altitude of value feet (meters if the
--units-meters option was specified).
- --heading=degrees
- Specify the initial heading (yaw) angle (psi) of the aircraft.
- --roll=degrees
- Specify the initial roll angle (phi) of the aircraft.
- --pitch=degrees
- Specify the initial pitch angle (theta) of the aircraft.
- --uBody=units_per_sec
- Specify the initial velocity along the body X axis.
- --vBody=units_per_sec
- Specify the initial velocity along the body Y axis.
- --wBody=units_per_sec
- Specify the initial velocity along the body Z axis.
- --vNorth=units_per_sec
- Specify the initial velocity along the body North-South axis.
- --vEast=units_per_sec
- Specify the initial velocity along the body West-East axis.
- --vDown=units_per_sec
- Specify the initial velocity along the body vertical axis.
- --vc=knots
- Set the initial airspeed of the aircraft to knots knots.
- --mach=number
- Set the initial airspeed of the aircraft to Mach number.
- --glideslope=degrees
- Set the flight path angle to degrees degrees. The value can be
positive.
- --roc=fpm
- Set the initial rate of climb to fpm feet per minute. The value can
be negative.
- --wp=ID[@alt]
- Enter the waypoint (VOR, NDB, fix) ID into the autopilot. The
optional part @alt can be used to specify the altitude at
which ID should be crossed.
- --flight-plan=file
- Read a flight plan from file.
- --com1=frequency
- Set the COM1 frequency to frequency MHz.
- --com2=frequency
- Set the COM2 frequency to frequency MHz.
- --nav1=[radial:]frequency
- Set the NAV1 frequency to frequency MHz. You can optionally specify
a radial by prefixing the frequency with the heading and a colon.
- --nav2=[radial:]frequency
- Set the NAV2 frequency to frequency MHz. You can optionally specify
a radial by prefixing the frequency with the heading and a colon.
- --adf1=[rotation:]frequency,
--adf=[rotation:]frequency
- Set the ADF1 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.
- --adf2=[rotation:]frequency
- Set the 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.
- --dme=nav1|nav2|frequency
- Slave the automatic direction finder to the NAV1/NAV2 radio or set its
internal frequency to frequency.
- --metar=METAR
- Simulate the weather conditions described by the METAR string
METAR. This option implies
--disable-real-weather-fetch.
- --enable-real-weather-fetch,
--disable-real-weather-fetch
- Enable/disable METAR-based real weather fetching. This feature requires an
active Internet connection.
- --enable-clouds,
--disable-clouds
- Enable/disable 2D (flat) cloud layers.
- --enable-clouds3d,
--disable-clouds3d
- Enable/disable 3D (volumetric) cloud layers.
- --visibility=meters
- Set the initial visibility to meters meters.
- --visibility-miles=miles
- Set the initial visibility to miles miles.
- --wind=dir[:maxdir]@speed[:gust]
- Specify the direction the wind blows from (dir) and its speed
(speed knots). If the wind is not meant to blow from a fixed
direction, but rather from a range of directions, specify the range as
dir:maxdir, where dir and maxdir are
the minimum and maximum angles in degrees. If you want the simulator to
model wind gusts as well, set gust to their maximum intensity in
knots.
- --random-wind
- Randomize the direction and speed of the wind.
- --turbulence=intensity
- Set the turbulence intensity to intensity. The intensity can range
from 0.0 (calm) to 1.0 (severe).
- --ceiling=ft_asl[:thickness_ft]
- Create an overcast ceiling at a height of ft_asl feet above the
mean sea level. You can optionally specify a thickness by appending a
colon (:) and the desired thickness in feet; if you omit it, the
simulator will default to 2000 ft.
- --callsign=value
- Set the multiplayer callsign to value. The callsign must be at most
ten characters long and must contain only numbers, letters of the English
alphabet, dashes (-) and underscores (_); longer callsigns
are truncated, and characters not matching those listed above are replaced
with dashes.
- --multiplay={in|out},hz,address,port
- Specify the multiplayer communication settings.
The first field specifies whether the settings apply to
inbound (in) or outbound (out) communications. The second
field (hz) specifies the frequency (in Hz, times per second) at
which data should be sent. The third field (address) must be set
to the IP address of the network interface that FlightGear should use to
send/receive data, or left blank to let the simulator use all available
interfaces. The fourth field (port) should be set to the port to
use (usually 5000).
- --proxy=[username:password@]host:port
- Specify the proxy server and port to use. The username and password are
optional; if they are present, they should be given as MD5 hashes.
This option is only useful if --real-weather-fetch is
enabled.
- --httpd=[address:]port
- Enable the Phi interface (HTTP server) on the specified address and port.
The address is optional.
- --telnet=port
- Enable the Telnet interface on the specified port.
- --jpg-httpd=port
- Enable the screenshot HTTP server interface on the specified port.
This option is deprecated: use the Phi interface
instead.
- --enable-terrasync,
--disable-terrasync
- Enable/disable automatic scenery/object downloads.
- --terrasync-dir=directory
- Set the directory where the downloaded scenery will be stored to
directory.
- --enable-fgcom,
--disable-fgcom
- Enable/disable the FGCom (voice ATC) integration.
- --generic=params,
--atlas=params, --atcsim=params,
--AV400=params, --AV400Sim=params,
--AV400WSimA=params, --AV400WSimB=params,
--garmin=params, --hla=params,
--hla-local=params, --igc=params,
--joyclient=params, --jsclient=params,
--native-ctrls=params, --native-gui=params,
--native-fdm=params, --native=params,
--nmea=params, --opengc=params,
--props=params, --pve=params,
--ray=params, --rul=params
- Open a connection to drive external programs or hardware.
Specify the protocol by using the correct command-line
option:
- generic: a predefined communication interface and a preselected
communication protocol;
- atlas: the Atlas protocol;
- atcsim: the ATCsim (atc610x) protocol;
- AV400: the Garmin AV400 protocol, required to drive a Garmin
196/296 series GPS;
- AV400Sim: the set of AV400 strings required to drive a Garmin
400-series GPS;
- AV400WSimA, AV400WSimB: the set of strings required to drive
a Garmin WAAS GPS (where the A channel uses a variant of the
AVSim400 protocol and the B channel communicates with the GPS
unit);
- garmin: the Garmin GPS protocol;
- hla, hla-local: the HLA protocol, either remote or
local;
- igc: the International Glider Commission protocol;
- joyclient: the protocol used by Agwagon joysticks;
- native-ctrls: the FlightGear Native Controls protocol;
- native-gui: the FlightGear Native GUI protocol;
- native-fdm: the FlightGear Native FDM protocol;
- native: the FlightGear Native protocol;
- nmea: the NMEA protocol (used to drive most GPS units);
- opengc: the protocol used by OpenGC, a software used to render
high-quality glass cockpit displays for simulated flightdecks;
- props: the interactive property manager protocol;
- pve: the PVE protocol;
- ray: the Ray Woodworth motion chair protocol;
- rul: the RUL protocol.
The parameters (params) must be in the form
medium,direction,hz,medium_options
where medium is the medium used by the protocol (serial,
socket, file...), direction is the communication
direction (in, out or bi), hz is the frequency the
channel should be processed at (floating point values are accepted) and
medium_options are:
- for serial protocols, device,baud, where
device is the device name to be opened and baud is the
communication baud rate;
- for socket protocols,
machine,port,style, where
machine is the machine name or the IP address of the server (if the
simulator should act as a client) or is left empty (if the simulator
should act as a server), port is the port to use (or is left empty
to ask the operating system to choose an available port) and style
is tcp or udp;
- for file protocols, filename, where filename is the name of
the file data should be written to.
- --enable-fpe
- Abort when a floating-point exception is encountered.
- --fgviewer
- View the scenery and the aircraft in a simple model viewer, without
loading the entire simulator.
- --log-level=bulk|debug|info|warn|alert
- Set the minimum logging level. Log messages having a severity greater than
or equal to the specified value are recorded; the others are
discarded.
- --log-class=all|none|ai|environment|flight|general|io|network|sound|terrain|...
- Log only events belonging to the specified log classes (all logs
all events, none logs none). Multiple classes can be specified by
separating them with commas or pipes, for example:
--log-class=ai,flight.
- --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-write=property
- Trace the reads/writes for a property (print a log message whenever
property is read from/written to).
- --developer
- Enable developer mode.
fgfs exits with 0 if the execution completes
successfully, or with another status (usually 1 or -1) if an
error occurred.
- COMPUTERNAME
- Specifies the hostname of the system in use. This environment variable is
only taken into account on Microsoft Windows operating systems.
- FG_AIRCRAFT
- Specifies the path in which aircraft should be searched for.
- FG_LAUNCHER
- If this environment variable is set and is not 0, the Qt launcher
will be shown. The variable is mainly used on Mac OS X operating systems
to avoid the use of wrapper scripts.
- FG_ROOT
- Specifies the root data directory to use.
- FG_SCENERY
- Specifies the scenery directory to use.
- HTTP_PROXY
- Specifies the HTTP proxy to use. Must be in the form
http://host:port/.
- LANG
- Specifies the language to use.
- ~/.fgfs
- The main directory where FlightGear configuration files and data
(downloaded aircraft/scenery) are stored.
- ~/.fgfsrc.hostname, ~/.fgfsrc
- Configuration files containing command-line options for
fgfs(1).