fgfs - Man Page
the FlightGear flight simulator
Synopsis
fgfs [options...]
Description
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
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.
General options
- --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.
Features
- --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.
Audio options
- --show-sound-devices
Show a list of available audio devices and exit.
- --sound-device=name
Set the sound device to use to name, where name is the device name shown by the --show-sound-devices option.
- --enable-sound, --disable-sound
Enable/disable sound in the simulator.
Rendering options
- --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 options
- --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.
Time options
- --timeofday=real|dawn|morning|noon|afternoon|dusk|evening|midnight
Start the simulator at the specified time of day:
- real: real clock time;
- dawn: the time when the Sun is 90° E on the horizon;
- morning: the time when the Sun is 75° E on the horizon;
- noon: the time when the Sun is 0° on the horizon;
- afternoon: the time when the Sun is 75° W on the horizon;
- dusk: the time when the Sun is 90° W on the horizon;
- evening: the time when the Sun is 100° W on the horizon;
- midnight: the time when the Sun is 180° on the horizon.
- --season=summer|winter
Load summer/winter textures.
- --time-offset=[+|-]hh:mm:ss
Add a time offset to the startup time specified with the --timeofday option.
- --time-match-real
Synchronize the simulator time with real world GMT time.
- --time-match-local
Synchronize the simulator time with real world local time.
- --start-date-sys=yyyy:mm:dd:hh:mm:ss
Specify the simulator starting date and time with respect to the local timezone of the system.
- --start-date-gmt=yyyy:mm:dd:hh:mm:ss
Specify the simulator starting date and time with respect to the Greenwich Mean Time.
- --start-date-lat=yyyy:mm:dd:hh:mm:ss
Specify the simulator starting date and time with respect to the timezone of the starting airport.
Initial position and orientation
- --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.
Route/waypoint options
- --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.
Avionics options
- --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.
Environment options
- --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.
Network options
- --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.
I/O options
- --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.
Debugging options
- --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.
Exit Status
fgfs exits with 0 if the execution completes successfully, or with another status (usually 1 or -1) if an error occurred.
Environment
- 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.
Files
- ~/.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).
Referenced By
fgcom(1), fgelev(1), fgfsrc(5), fgjs(1), fgpanel(1), fgviewer(1), GPSsmooth(1), JSBSim(1), js_demo(1), metar(1), MIDGsmooth(1), UGsmooth(1).