FlightGear 7 min read

How do I use FlightGear command-line options?

Ian Stephens
In short

Learn how to list and use FlightGear command-line options for aircraft, airports, scenery, weather, networking and troubleshooting.

FlightGear command-line options are switches passed to the fgfs executable to select an aircraft, airport, scenery path, weather source, display mode or network service. Start with fgfs --help --verbose, then add options in --name=value form. The executable’s own help is the definitive list for that installed build.

How can I list every FlightGear command-line option?

Run FlightGear from a terminal or command prompt and ask the installed fgfs executable for its supported options.

  • fgfs --help displays the commonly used switches.
  • fgfs --help --verbose displays the extended option list in builds that support verbose help.
  • fgfs --version identifies the executable whose options you are checking.
  • fgfs --show-aircraft lists the aircraft IDs available through the configured aircraft search paths.

You can save a long help listing with fgfs --help --verbose > fgfs-options.txt. Available switches change between FlightGear builds, particularly rendering and integration options, so we recommend trusting this output over a command copied from an older guide.

How do I start FlightGear with command-line options?

Launch the actual fgfs simulator executable and place each option after it, separated by spaces.

  1. Open a terminal. On Linux and macOS, use a terminal window; on Windows, use Command Prompt or PowerShell. If fgfs is not on the system path, use its full installed path.
  2. Check the executable. Run fgfs --version before building a complicated command. This catches the common problem of invoking an older installation.
  3. Add the required switches. For example, fgfs --aircraft=c172p --airport=KSFO --runway=28R --timeofday=noon selects an installed aircraft, runway and time preset.
  4. Run and verify. Check that the aircraft, location and settings shown after loading match the command. Add further options one at a time if something fails.

In Windows Command Prompt, quote an executable path containing spaces: "full path to fgfs.exe" --aircraft=c172p --airport=KSFO. In PowerShell, put the invocation operator before the quoted path: & "full path to fgfs.exe" --aircraft=c172p --airport=KSFO. A packaged macOS application may not expose fgfs on the shell path, in which case use the application’s launcher or invoke its actual simulator binary.

Use two ordinary ASCII hyphens and prefer --option=value. Boolean options normally use paired switches such as --enable-fullscreen and --disable-fullscreen, not --enable-fullscreen=true. Quote any path or value containing spaces.

Which FlightGear options are most useful?

The most useful FlightGear command-line switches control startup position, aircraft selection, data paths, environmental conditions, display settings and external connections.

PurposeCommon optionsHow they are used
Aircraft--aircraft=<id>, --show-aircraftSelect an installed aircraft by its internal ID, which may differ from its displayed title.
Airport and position--airport=<ICAO>, --runway=<id>, --parkpos=<name>, --lat=<degrees>, --lon=<degrees>, --altitude=<feet>, --heading=<degrees>Start on a runway, at a parking position or at custom coordinates.
Time and weather--timeofday=noon, --timeofday=real, --enable-real-weather-fetchChoose a time preset or allow FlightGear to obtain real-world weather data.
Data paths--fg-root=<path>, --fg-scenery=<path>, --fg-aircraft=<path>Set the base-data, scenery or aircraft search location. These paths serve different purposes and are not interchangeable.
Display and workload--geometry=1280x720, --enable-fullscreen, --disable-fullscreen, --disable-ai-traffic, --disable-random-objects, --disable-soundSet the window mode or disable selected workload sources. Confirm older rendering switches against verbose help.
Scenery downloads--enable-terrasync, --disable-terrasyncEnable or prevent automatic scenery retrieval during a session.
Networking--callsign=<id>, --multiplay=<parameters>, --httpd=<port>, --telnet=<port>Configure multiplayer identity, multiplayer connections, the web interface or property access. Multiplayer parameters use a comma-separated format shown by the installed build’s help.
Configuration and diagnosis--config=<file.xml>, --prop:/property/path=value, --log-level=debug, --consoleLoad an additional property configuration, assign a property or expose more diagnostic output.

For manually installed scenery, --fg-scenery should point to the parent containing recognised scenery folders such as Terrain, Objects and, where supplied, Buildings. Our guide to FlightGear’s required scenery folder structure explains how to avoid selecting a directory one level too high or too low. Lists of paths use platform-dependent separators, so quoting one complete path is the safest starting test.

If --enable-terrasync produces no scenery, the switch may be working while the download path, permissions or network connection is not. Use our TerraSync cache, path and permission checks rather than adding unrelated command-line flags.

The --httpd=<port> option starts FlightGear’s local web service. Our instructions for setting up the local map and web interface cover the browser side. Do not expose HTTP or property-control ports directly to an untrusted network; they are simulator interfaces, not hardened public web services.

Disabling traffic or random objects can reduce CPU and rendering work, but command-line switches are only part of performance tuning. Use our FlightGear graphics and performance adjustments for the renderer settings that should be changed inside the simulator.

Which starting-position options should I choose?

Use an airport with either a runway or a parking position, and use latitude and longitude only when you need a custom location.

  • Runway start: combine --airport=<ICAO> with --runway=<id>.
  • Gate or stand: combine --airport=<ICAO> with --parkpos=<name>.
  • Custom coordinates: use --lat and --lon, adding altitude and heading if required.

A mistake we see constantly is mixing runway, parking and coordinate selectors in one command. They describe competing starting positions, and the result may depend on processing order or later aircraft initialisation. Choose one method and confirm that the runway or parking identifier exists at that airport.

When should I use --prop or --config?

Use a dedicated command-line option when one exists; reserve --prop for a known FlightGear property and --config for a reusable XML property configuration.

The generic form is --prop:/property/path=value. Property paths and types matter: a spelling error can create an unused property instead of changing the intended one, sometimes without an obvious error. A configuration file passed through --config must use FlightGear’s XML property format; it is not a text file containing one command-line switch per line.

Why is a FlightGear option ignored or not recognised?

An ignored option usually comes from the wrong executable, unsupported syntax, an invalid identifier, a misplaced data path or a setting that is overridden after startup.

  • “Command not found” or “not recognised”: the shell cannot locate fgfs. Use the full executable path or correct the system path.
  • Unknown command-line option: check fgfs --help --verbose for that exact build. Replace copied en dashes or em dashes with two standard hyphens.
  • Aircraft not found: use the internal ID reported by --show-aircraft, then check --fg-aircraft if the package is outside the normal search path.
  • Scenery still missing: verify the directory level and permissions. Changing --fg-root is not a substitute for setting the correct scenery path.
  • Setting accepted but ineffective: remove competing switches and test the option alone. Aircraft systems, configuration files and startup scripts can change properties after initial command-line processing.
  • Old graphics switch has no effect: rendering systems and option names change. Use the switches listed by the installed executable rather than assuming a legacy flag still controls the active renderer.
  • Network service does not open: check for a port conflict, firewall rule or malformed multiplayer parameter. Avoid opening additional ports until the basic local test works.

Can I save FlightGear command-line options permanently?

You can preserve a working command in a shell script, Windows batch file, desktop shortcut or launcher profile instead of typing it for every flight.

For a Windows shortcut, keep the executable path inside quotes and append the switches after the closing quote. On Linux or macOS, a small executable shell script is usually clearer. Use --config=<file.xml> for a maintained set of FlightGear properties, but avoid modifying files inside the base-data installation because an update may replace them.

Keep permanent commands short and purpose-specific. Separate profiles for normal flying, development logging, multiplayer and performance diagnosis are easier to troubleshoot than one command containing dozens of interacting switches.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members