Part II
Flying with FlightGear

4 Takeoff: How to start the program
 4.1 Environment Variables
 4.2 Launching the simulator under Unix/Linux
 4.3 Launching the simulator under Windows
 4.4 Launching the simulator under Mac OS X
 4.5 Command line parameters
 4.6 Joystick support
5 In-flight: All about instruments, keystrokes and menus
 5.1 Starting the engine
 5.2 Keyboard controls
 5.3 Mouse-controlled actions
 5.4 Menu entries
 5.5 The Instrument Panel
 5.6 The Head Up Display
6 Features
 6.1 Multiplayer
 6.2 Aircraft Carrier
 6.3 Atlas
 6.4 Multiple Displays
 6.5 Multiple Computer
 6.6 Recording and Playback
 6.7 Text to Speech with Festival
 6.8 Air-Air Refuelling

Chapter 4
Takeoff: How to start the program

4.1 Environment Variables

There are two environment variables that must be defined to run FlightGear. These tell FlightGear where to find its data and scenery.

You can set them in a number of ways depending on your platform and requirements.

4.1.1 FG_ROOT

This is where FlightGear will find data files such as aircraft, navigational beacon locations, airport frequencies. This is the data subdirectory of where you installed FlightGear. e.g. /usr/local/share/FlightGear/data or c:\Program Files\FlightGear\data.


This is where FlightGear will look for scenery files. It consists of a list of directories that will be searched in order. The directories are separated by “:” on Unix and “;” on Windows. e.g.



c:\Program Files\FlightGear\data\Scenery;c:\Program Files\FlightGear\data\WorldScenery.

4.1.3 Environment Variables on Windows and Mac OS X

The graphical wizard on Windows and the GUI launcher on Mac OS X internally define these environment variables so you don’t have to define these yourself. However, in case you launch FlightGear from command-line, you need to explicitly define these variables.

4.2 Launching the simulator under Unix/Linux


Fig. 3: Ready for takeoff: Waiting at the default startup position at San Francisco Intl., KSFO.

Before you can run FlightGear, you need to set a couple of environment variables:

To add these in the Bourne shell (and compatibles):

export FG_HOME  
export FG_ROOT  

or in C shell (and compatibles):

setenv LD_LIBRARY_PATH=\  
setenv FG_HOME=/usr/local/share/FlightGear  
setenv FG_ROOT=/usr/local/share/FlightGear/data  
setenv FG_SCENERY=\  

Once you have these environment variables set up, simply start FlightGear by running

fgfs --option1 --option2

Command-line options are described in Chapter 4.5.

4.3 Launching the simulator under Windows

The pre-built windows binaries come complete with a graphical wizard to start FlightGear. Simply double-click on the FlightGear Launcher Start Menu item, or the icon on the Desktop. The launcher allows you to select your aircraft, the start airport and runway, time of day, current weather, and lots of other settings.


Fig. 4: The FlightGear Launcher

The first time your run it, you will be asked to set your FG_ROOT variable (normally c:\Program Files\FlightGear\data) and FG_SCENERY. This should be a list of the directories where you have installed scenery, typically

c:\Program Files\FlightGear\data\Scenery.

If you set invalid values or change your scenery directories later, you can change the settings by pressing the ”Prev” button from the first page of the launcher.

4.3.1 Launching from the command line

Alternatively, you can run FlightGear from the command line. To do this, you need to set up the FG_ROOT and FG_SCENERY environment variables manually.

Open a command shell, change to the directory where your binary resides (typically something like c:\Program Files\FlightGear\bin\Win32), set the environment variables by typing

SET FG_HOME=~c:\Program Files\FlightGear~  
SET FG_ROOT=~c:\Program Files\FlightGear\data~  
SET FG_SCENERY=~c:\Program Files\FlightGear\data\Scenery~

and invoke FlightGear (within the same Command shell, as environment settings are only valid locally within the same shell) via

fgfs --option1 --option2Command-line options are described in Chapter 4.5. Of course, you can create a batch file with a Windows text editor (like notepad) using the lines above. For maximum performance it is recommended that you to minimize (iconize) the text output window while running FlightGear.

4.4 Launching the simulator under Mac OS X

The prebuilt binary package for Mac OS X comes with the GUI launcher. Simply double-click the FlightGear icon on /Applications folder shows up the GUI launcher window as shown in Fig. 5. The launcher allows you to :

The following sections describe the use of these features.

Fig. 5: The GUI Launcher for Mac OS X

4.4.1 Selecting an aircraft and an airport

At the launcher window, you can select an aircraft and an airport by clicking gear buttons at the right end of the airport/aircraft name. The thumbnail image of a selected aircraft will show up at the image panel on the window. The airport that you select here will be the starting point of your flight. FlightGear uses ICAO 4-letter airport code, which is composed with one or two prefix letters followed by a two or three letter airport code. For example, the ICAO code for San Francisco International Airport is KSFO. “K” in this case is the prefix for The United States, and SFO is the airport code for San Francisco International Airport. You can use Advanced features Position or Aircraft tab to find an airport or an aircraft.

4.4.2 Enabling on-the-fly scenery downloading

By checking Download scenery on the fly at the launcher window, the scenery data will be downloaded while you’re flying using TerraSync. The scenery downloader will install the scenery data into


4.4.3 Enabling Navigation Map (Atlas)

The Mac version of FlightGear includes Atlas, the navigation map that helps your flight plan, for your convenience. Checking this option will automatically launch Atlas when you start the flight. You don’t have to specify any Atlas options. The GUI launcher will specify these for you.

4.4.4 Launching FlightGear - the simulator

Clicking Start Flight button at the launcher window opens up another window - the FlightGear main window. FlightGear immediately starts loading tons of data required for simulation. It may take a while on slower machines to load everything.

4.4.5 Advanced Features

FlightGear has many features and options that you can specify at launch time. Some of these are not changeable from the menu in the FlightGear main window. To enable / disable these features, click the triangle-shaped button at the left-bottom of the launcher window. This displays the advanced features tabs. All settings are saved so you don’t have to respecify them.

General, Features, and Rendering tabs

These tabs let you specify some of FlightGear options:

Favorite tab

Favorite list provides a means of preserving a named set of current options like a book mark of a web browser. To save the current set of options, press “+” button on the top window or at the bottom of the Favorite tab. Once favorites are added, You can switch from one configuration to another by double-clicking a row in the table view in the Favorite tab. Pressing “-” button (or delete key) on a favorite in the table view deletes the selected favorite.

Position tab

You can find airports or aircraft carriers by searching with a keyword into the filter text area. Available keywords are:

Airports and carriers that match the keyword are shown at the table view below the filter text area. The airport name at the upper pane is synchronized with the currently selected airport or carrier. You can also open this tab by clicking the gear button at the right end of airport name on the top pane. When you choose an airport, available runways show up at the “runway” pop-up button. You can choose a runway or leave it as “default.”

Aircraft tab

You can find aircraft by searching with a keyword into the filter text area. Available keywords are:

A list of aircraft that match the keyword shows up at the table view below the filter text area. The aircraft name at the upper pane is synchronized with the currently selected aircraft. You can also open this tab by clicking the gear button at the right end of aircraft name on the top pane.

If you want to find more aircraft data from the internet, click “Get Aircraft” button at the bottom of the Aircraft tab. It opens a web browser to lead you to the Aircraft Links page on FlightGear Mac OS X web site. You can visit some links there and download an aircraft you want. Once an aircraft is downloaded, open “Others” tab to install it.

If you encounter some weird behavior in searching aircraft, removing a cache file for aircraft database might solve your problem. Open
/Applications/Utilities/ and type the following commands to remove the cache file:

  cd /Applications/  
  rm AircraftCache.rb

Note that you must not launch FlightGear from mounted disk image of a prebuilt binary package since the folder in the mounted disk image is read-only, which prevents you from installing any add-on data. Vou need to install FlightGear by copying the FlightGear icon from the mounted disk image to /Applications folder.

Network tab

This tab contains two network features of FlightGear. One is multi-player mode and another is FGCOM (a voice ATC). To enable multi-player mode, specify the followings:

FGCOM enables you to make a real voice communication using radio setting. You can talk at a selected radio frequency (COM1) while pressing space bar. You can listen to some other player’s talking in the frequency if some others are using the same frequency and you are in range. The options available for FGCOM are listed below:

For further instructions on FGCOM, and Multiplay, please see Chapter 6.

Others tab

You can specify any options other than aircraft, airport, and the options shown in the launcher. Entering space-separated options as shown in Figure 11 will pass additional options to FlightGear. You can see all available options by pressing “View Options.” Some options might cause FlightGear crash. If you encounter such crashes with a specific option, please let us know.

To install additional aircraft and scenery data, press "Install Add-on Data." You can specify multiple files and/or folders to install to the FlightGear data folder. Acceptable file types are:

You will see the message window when all the data is successfully installed, otherwise error message will show up. You can select both aircraft and scenery data at the same time. If you select an archived file that does not contain aircraft files, it will be extracted into the data folder, but will be ignored. When you finish installing new aircraft, you can select the aircraft on the “Aircraft” tab.

4.4.6 Launching from the command line

You can also launch the simulator from the command line on Mac OS X. To do so, open (located at /Applications/Utilities) and type the following commands:

  cd /Applications/  
  ./fgfs --option1 --option2 ....

See chapter 4.5 for detail information on command line options. Unlike the other platforms, you don’t have to manually specify the environment variables such as FG_ROOT and FG_SCENERY as long as you use a prebuilt binary package.

4.5 Command line parameters

Following is a complete list and short description of the numerous command line options available for FlightGear. Most of these options are exposed through the FlightGear launcher delivered with the Windows binaries.

If you have options you re-use continually, you can create a preferences file containing a set of command-line options that will be set automatically. You can create the file with any text editor (notepad, emacs, vi, if you like).

4.5.1 General Options

4.5.2 Features

4.5.3 Sound

4.5.4 Aircraft

4.5.5 Flight model

4.5.6 Initial Position and Orientation

4.5.7 Environment Options

4.5.8 Rendering Options

4.5.9 HUD Options

4.5.10 Aircraft System Options

4.5.11 Time Options

4.5.12 Network Options

4.5.13 Route/Waypoint Options

4.5.14 IO Options

NB: These options are rather geared to the advanced user who knows what he is doing.

More detailed descriptions of the various IO parameters can be found in the README.IO file within the Docs directory of your FlightGear installation.

4.5.15 Debugging options

NB: These options are rather geared to the advanced user who knows what he is doing.

4.6 Joystick support

Could you imagine a pilot in his or her Cessna controlling the machine with a keyboard alone? For getting the proper feeling of flight you will need a joystick/yoke plus rudder pedals.

FlightGear has integrated joystick support, which automatically detects any joystick, yoke, or pedals attached. Simply plug in your joystick and start the simulator.

You can see how FlightGear has configured your joystick by selecting Help -> Joystick Configuration from the menu. This dialog shows the name of your joystick, and what each of the buttons and control axes have been set to. You can press a button or move the joystick to see exactly what control it maps to.

If you have a common joystick, there’s every chance that someone has already set up FlightGear specific configuration for it, and you can simply go and fly! If you wish to change the configuration of a particular button/axis, simply edit it using the Joystick Configuration dialog.

If your joystick is more unusual, then FlightGear will by default use a simple joystick configuration for it. To change the configuration, simply use the Joystick Configuration dialog to select what you wish each button or movement to do. The configuration takes effect immediately and will be saved for your next flight.

Chapter 5
In-flight: All about instruments, keystrokes and menus

The following is a description of the main systems for controlling the program and piloting the plane. It is assumed that the reader is already familiar with flying, possibly from experience on other simulators. If you are completely new to flying, the tutorials in section 7 are a better resource for learning to fly using FlightGear.

A short leaflet showing the standard keys and designed to be printed can be found at

A reference to most of the keyboard controls can be found under the Help menu in the simulator.

5.1 Starting the engine

Depending on the type of aircraft, you may have to start the engine(s) before you can go flying. The instructions below are generic. Check the aircraft help or aircraft tutorials for more specific instructions.

Once you’ve started the engine, you should check whether the parking brakes are engaged. If so, press the ‘B’ key to release them.

5.1.1 Piston Aircraft

For piston-engined aircraft, the magnetos are controlled by the ‘{’ and ‘}’ keys. On most aircraft, the starter is engaged using the ‘s’ key. On multi-engined aircraft you can select which engines to control. Use ‘˜’  to select all the engines at once. Most magnetos have 4 positions - OFF, LEFT, RIGHT and BOTH. So, to start the selected engine, press the ‘}’ key three times, then hold down ‘s’.

Note that the starting procedure for powerful WWII-era fighter aircraft is often more complex. See the aircraft help for details.

5.1.2 Turboprop Aircraft

Starting a turbo-prop engine generally requires simply moving the condition lever from Off to Idle, using ’m’.

5.1.3 Jet Aircraft

Starting a jet aircraft is significantly more complex, and the controls vary between different aircraft.

  1. Set cutoff ON
  2. Engage the starter
  3. Once the engines spools up to approximately 5% N1, set cutoff OFF
  4. Disengage the starter once the engine has reached operational speed.

5.2 Keyboard controls

While joysticks, yokes and rudder pedals are supported, you can fly FlightGear using the keyboard alone or in conjunction with a mouse, described below. However you control the aircraft, you will need to use the keyboard for at least some controls.

These key bindings are not hard-coded, but user-adjustable. You can check and change these setting via the file keyboard.xml which can be found in the main FlightGear directory. This is a human-readable plain ASCII file. Although it’s perhaps not the best idea for beginners to modify this file, more advanced users will find it useful to change key bindings according to their wishes, e.g. to match other simulators.

5.2.1 Aircraft controls

In order to have full control of the plane during flight using the keyboard you should ensure that NumLock is on, and the FlightGear window is in focus. The following keys control the primary aircraft surfaces.

Key Action

9 / 3 Throttle
4 / 6 Aileron
8 / 2 Elevator
0 / Enter Rudder
5 Center aileron/elevator/rudder
7 / 1 Elevator trim

Table 1: Primary aircraft controls

The following keys control the engines.

Key Action

! Select 1st engine
@ Select 2nd engine
# Select 3rd engine
$ Select 4th engine
~ Select all engines

{ Decrease magneto on selected engine
} Increase magneto on selected engine
s Fire starter on selected engine(s)
M / mLean/Enrich selected engine mixture
N / n Decrease/Increase selected propeller RPM

Table 2: Engine control keys

The following keys control secondary aircraft systems.

Key Action

b Apply all brakes
, / . Apply left/right brake
(useful for differential braking)
l Toggle tail-wheel lock
B Toggle parking brake
g/G Raise/lower landing gear
Space Push To Talk (PTT)
- / _ MP text chat menu/entry
[ / ] Retract/extend flaps
j / k Retract/extend spoilers
Ctrl-BToggle speed brakes

Table 3: Secondary aircraft controls

5.2.2 Simulator controls

To change the view direction, you must de-activate NumLock. The available controls are as follows:

Numpad KeyView direction

Shift-8 Forward
Shift-7 Left/forward
Shift-4 Left
Shift-1 Left/back
Shift-2 Back
Shift-3 Right/back
Shift-6 Right
Shift-9 Right/forward

Table 4: View directions

Additionally, the following keys allow you to control the display:

Key Action

P Toggle instrument panel on/off
c Toggle3D/2D cockpit (if both are available)
S Cycle panel style full/mini
Ctrl-C Toggle panel/cockpit hotspot visibility
h Toggle HUD
H Change HUD brightness
i / I Minimize/maximize HUD

x / X Zoom in/out
v / V Cycle view modes forth and back
Ctrl-V Reset view modes to pilot view
z / Z Increase/Decrease visibility (fog)
F10 Toggle menu on/off
Shift-F10Toggle fullscreen mode on/off

Table 5: Display options

Finally, the following general simulator controls are available.

Key Action

p Pause simulator
a / A Simulation speed up/slow down
t / T Clock speed up/slow down
Ctrl-RInstant replay
F3 Save screen shot
ESC Exit program

Table 6: General simulator controls.

5.2.3 Autopilot controls

FlightGear supports two types of autopilot - a generic autopilot that works with all aircraft (even those that would not normally have an autopilot), and aircraft-specific autopilots that are controlled from within the cockpit.

The generic autopilot is controlled via the following keys:

Key Action

BackspaceToggle autopilot
Ctrl-A Toggle altitude lock
Ctrl-G Toggle glide slope lock (NAV 1)
Ctrl-H Toggle heading hold
Ctrl-N Toggle NAV 1 lock
Ctrl-S Toggle autothrottle
Ctrl-T Toggle terrain follow (AGL) lock
Ctrl-U Add 1000 ft. to your altitude (emergency)
F6 Toggle autopilot heading mode
F11 Autopilot altitude dialog

8 / 2 Altitude adjust
4 / 6 Heading adjust
9 / 3 Autothrottle adjust

Tab. 7: Autopilot controls.

Ctrl + T is especially interesting as it makes your aircraft behave like a cruise missile, and follow the terrain. Ctrl + U might be handy in case you feel you’re just about to crash.

5.3 Mouse-controlled actions

As well as selecting menu items and clicking on controls in the cockpit, your mouse can be used for a variety of other valuable functions in FlightGear.

There are three mouse modes: Normal (the default), Control and View. You can change between them by using Tab.

5.3.1 Normal mode

In normal mode, you can control the menus and the panel controls. This mode is indicated by a normal arrow cursor.

To change a switch or toggle, simply click on it with the left or middle mouse button.

To change a knob on a radio or linear control such as the throttle, click on the left hand side to decrease the value, and the right hand side to increase the value. Click with the left mouse button to make a small adjustment, or the middle button to make a large one. Some controls, such as radios, also support using the mouse wheel, while others, such as throttles, support dragging the mouse with the left button pressed..

Pressing Ctrl-C highlights the clickable hotspots and objects.

5.3.2 Control mode

In control mode you can control the aircraft flight controls by moving the mouse. This mode is indicated by a cross-hair mouse cursor.

In this mode, moving the mouse left or right controls the ailerons and rolls the aircraft. Moving the mouse forwards and or backwards controls the elevator and changes the pitch of the aircraft.

Holding the left mouse button down changes the behaviour so that moving the mouse left/right controls the rudder. Holding the middle mouse button down and moving the mouse forwards/backwards controls the throttle.

Finally, the scroll-wheel may be used to set the elevator trim.

This mode is particularly useful if you do not have a joystick, as it provides much better control of the aircraft than using the keyboard. If you intend to use the mouse to control the aircraft regularly, it is recommended that you enabled auto-coordination, so the ailerons are linked to the rudder. This can be done using --enable-auto-coordination when launching the simulator, or selecting auto-coordination from the launcher.

5.3.3 View mode

In view mode you can look around using the mouse. This mode is indicated by a double-headed arrow cursor.

Simply moving the mouse pans and tilts your view in the current position. This is particularly useful for looking around the cockpit, or out a side window. The scroll-wheel can be used to zoom in or out. Clicking the left mouse button resets the view back to its initial position, usually straight ahead.

Holding down the middle mouse button and moving the mouse allows you to move the viewpoint itself left/right and up/down. Moving the mouse while both the middle button and Ctrl are held down allows you to move the viewpoint forwards and backwards.

5.4 Menu entries

The menu bar provides access to a variety of options for the simulator and the aircraft. Many aircraft have their own menu items, for changing their registration to automatically starting their engines. These can be found at the end of the menu bar.

To display or hide the menu bar, press F10. You can also display the menu automatically by moving your mouse to the top of the screen.

The menu bar provides the following menus and options.

5.5 The Instrument Panel


Fig. 6: The 3D cockpit of the Cessna 172.

Aircraft within FlightGear can have both a 2-dimensional instrument panel and a 3-dimensional cockpit. The 3-dimensional cockpit provides a much more realistic pilot-eye view, but can be difficult to read with small monitors.

The default Cessna 172P (c172p) has both a 3-dimensional and 2-dimensional cockpit. The 3-dimensional cockpit is activated by default when you start FlightGear, but you can overlay the 2-dimensional instrument panel by selecting View->Display Options->Show 2D Panel from the menu, or pressing the “P” key.

All panel levers and knobs can be operated with the mouse. To change a control, just click with the left/middle mouse button on the corresponding knob/lever. For controls that have a range of positions, use the middle mouse button for larger adjustments. In general, clicking on the right side of a control will increase the value, while clicking the left side of the control will decrease the value.

Some instruments (particularly radios) also support use of a mouse scroll-wheel to change values. Other controls (such as throttle) can also be dragged using the left mouse button.

5.6 The Head Up Display

FlightGear also provides a HUD (Head Up Display) . HUDs are generally found in military aircraft and some very advanced jets. However, FlightGear also allows you to use a HUD on many GA aircraft. To activate the HUD, press ‘h’.

The HUD shown in Fig. 7 displays all main flight parameters of the plane. In the center you find the pitch indicator (in degrees) with the aileron indicator above and the rudder indicator below. A corresponding scale for the elevator can be found to the left of the pitch scale along with a pitch trim indicator. On the bottom there is a simple turn indicator.

There are two scales at the extreme left: The inner one displays the speed (in kts) while the outer one indicates position of the throttle. The two scales on the extreme right display your height - the left one shows the height above ground while the right of it displays height above sea-level, both being displayed in feet.

Besides this, the HUD delivers some additions information. On the upper left you will find date and time, along with your current position, in latitude and longitude.

You can change color of the HUD using the “H” or “’h” key. Pressing the toggle “i/I” minimizes/maximizes the HUD.


Fig. 7: The HUD, or Head Up Display.

Chapter 6

FlightGear contains many special features, some of which are not obvious to the new user. This section describes how to enable and make use of some of the more advanced features.

Many of the features are under constant development, so the information here may not be completely up-to-date. For the very latest information (and new features), see the FlightGear Wiki, available from

6.1 Multiplayer

FlightGear supports a multiplayer environment, allowing you to share the air with other flight-simmers. For server details and to see who is online (and where they are flying), have a look at the excellent multiplayer map, available from

Click on the ‘server’ tab to see a list of multiplayer servers.

6.1.1 Quick Start

You can connect to the MP environment from the MP Settings dialog under the Multiplayer menu. Simply select the server closest to you from the list, enter a callsign (which will be seen by other players), and click ”Connect”.

To see a list of other pilots are in the area, select Pilot List from the Multiplayer menu.

All the standard MP servers are interconnected, so there is no need to be on the same server as people you are flying with.

6.1.2 Other Methods

If you are connecting to a non-standard server, or the above method does not work, you can also connect using the methods below.

Using the FlightGear Launcher

The final screen of the FlightGear Launcher has a section for Multiplayer. Simply select the checkbox, enter the hostname and port number you noted above and choose a callsign to identify yourself. Your callsign can be up to 7 characters in length. You must also check The AI models checkbox under Features to make other aircraft visible.

Using the Command Line

The basic arguments to pass to fgfs for multiplayer are these:



  1. <portnumber> is the TCP port number of the server e.g. 5000.
  2. <server> is the name of the multiplayer server e.g.
  3. <client> is the name of your computer, or the IP address ip address of the network interface being used by FG to connect to the server - even if that’s a local 192.168 type address. e.g.
  4. <callsign> is the call sign to identify yourself, up to 7 characters, e.g. N-FGFS.

Once the simulator has loaded, you should see yourself displayed on the map. If you don’t, check the console for error messages and see the Troubleshooting section below.

6.1.3 Troubleshooting

To get multiplayer to work, we need information about the IP address of our computer and the ability to communicate with the server. How to get this information depends on your configuration and is described below.

Those using a USB modem to connect to the Internet

First of all, you need to know the IP address of the network interface you’re going to be running FG multiplayer over. If your Internet connection is via an ADSL modem that plugs directly into your computer with a USB connection, you should be able to find your IP address by visiting . Please note that this address may very well change every now and again - if MP stops working, check this first.

Those using some kind of Ethernet router to connect to the Internet

Otherwise, your connection is likely via some kind of router that connects to your computer via an RJ-45, or "Ethernet" connector (similar shape to most Western telephone plugs), or by a wireless link. You need to find the IP address of that network interface.

Under Linux, this can be found by logging in as root and typing "ifconfig". You may find more than one interface listed, beginning with "lo" - ignore that one. You should have something like "eth0" or "wlan0" also listed - look through this block of text for "inet addr". This will be followed directly by the number you’re looking for, e.g. "inet addr:"

Under Windows XP, click start, run, and type "cmd". In the terminal window which appears, type "ipconfig" This should show you your IP address - note it down.

With Windows 98, click start, run, and type "winipcfg" to get information about your IP address.

If It Still Doesn’t Work

You MUST give your local, behind-the-router IP address for MultiPlayer to work. Trust me on this one!

You should check that your firewall is not causing problems - either turn it off temporarily or add an exception to allow incoming connections on port 5000.

If it’s still just not working for you, ask nicely on the FlightGear IRC channel and someone should be able to assist.

6.2 Aircraft Carrier

FlightGear supports carrier operations on the Nimitz, (located near San Fransisco), Vinson, San Antonio, Foch, and Eisenhower. The carriers are equipped with working catapult, arrester wires, elevators, TACAN and FLOLS.

To enable the carrier, you must edit your preferences.xml file in $FG_ROOT using a text editor (e.g. Notepad under Windows). Search for the word “nimitz”. You ought to find something that looks like this;


You should remove the “comment” marks so that it looks like this;


Also ensure that the line above that referring to ai being enabled is set to "true"

Save the file and quit the text editor.

6.2.1 Starting on the Carrier

You are now ready to start FlightGear. To position your aircraft on the carrier at startup, use the following command line options:

--carrier=Nimitz --aircraft=seahawk

Please note the uppercase “N’ in “Nimitz’.

If you are using the Windows or OS X launcher to run FG, you should find a text entry box in the gui that allows you to specify command line options, add the above options there.

Note that several FG aircraft are carrier capable, but the seahawk is possibly the easiest to fly to begin with.

6.2.2 Launching from the Catapult

Once FlightGear has started, you should ensure that the parking brakes are off and press and hold “L” to engage the launchbar. You must hold down “L” until the launch bar has engaged. You should notice the aircraft being pulled into alignment with the catapult and see the strops appear and hold down the aircraft. This will only happen if your aircraft is close enough to the correct spot on the catapult; as a rough guide, for the default parking position the seahawk’s nose should be rougly level with the deck observation bubble.

To get the carrier into as good a position as possible for launch, select the “ATC/AI” menu, then check the “Turn into wind” box under the “AI Carrier” section. You should now notice the carrier begin to pick up speed and turn into the wind, and naturally the deck may tilt somewhat as it turns. You should wait for this maneuver to finish and the deck to return to level before moving on to the next stage.

Being attached to the catapult, you should spool up the engines to full power, ensure the brakes are off and that all flight controls are in a suitable position for launch (stick held right back with the seahawk.) When ready, press “C” to release the catapult. Your aircraft will be hurled forward off the deck, and you should be able to raise the undercarriage and climb slowly away, being careful to avoid stalling.

6.2.3 Finding the Carrier - TACAN

Actually finding the carrier in a vast expanse of open water can be very difficult, especially if visibility is poor. To assist with this task, Nimitz is equipped with TACAN, which allows a suitably-equipped aircraft (including the Seahawk) to obtain a range and bearing to the carrier. First, you must set the appropriate TACAN channel, 029Y in this case, in the radios dialogue (ctrl-r or choose Equipment/Radio Settings from the FG menubar). You should, if within range, notice the DME instrument show your distance from the carrier, and the ADF instrument (next to the DME in the seahawk) should indicate a bearing to the carrier. Turn to the indicated heading and you should see the DME dial indicate your closing in on the carrier.

6.2.4 Landing on the Carrier

This is the most difficult part of the operation, as in real life. You might well find Andy Ross’ tutorial on operating the A4 Skyhawk useful. It is available from here:

Once you have used the TACAN to locate the carrier, you must line up with the rear of the flight deck. As this part of the deck is at an angle to the course of the vessel, you may need to correct your alignment often. Ensure that the aircraft is in the correct configuration for approach (the Help/Aircraft Help menu should contain useful data for your aircraft) and that the gear and the arrestor hook are down.

As you approach you should see, on the left hand side of the deck, a set of brightly coloured lights - called the Fresnel Lens Optical landing System (FLOLS). This indicates your position on the landing glideslope. You will see a horizontal row of green lights, and when approximately on the glideslope, an orange light (known in some circles as the “meatball”) approximately in line with the green lights. When approaching correctly, the meatball appears in line with the green lights. If you are high it is above, and when low it is below. If you are very low the meatball turns red. If you fly to keep the meatball aligned you should catch number 3 wire.

Carrier landings are often described as “controlled crashes” and you shouldn’t waste your time attempting to flare and place the aircraft gently on the deck like you would with a conventional landing - ensuring that you catch the wires is the main thing.

Immediately your wheels touch the deck, you should open the throttles to full power, in case you have missed the wires and need to “go around” again; the wires will hold the aircraft if you have caught them, even at full power.

If you wish, you can then raise the elevators from the ATC/AI menu, taxi onto one of the elevators, lower it (uncheck the box on the menu) and taxi off into the hangar.

Don’t be discouraged if you don’t succeed at first - it’s not an easy maneouver to master. If after a little practice you find the Seahawk too easy, you could move on to the Seafire for more of a challenge!

6.3 Atlas

Atlas is a "moving map" application for FlightGear. It displays the aircraft in relation to the terrain below, along with airports, navigation aids and radio frequencies.

Further details can be found on the Atlas website:

6.4 Multiple Displays

FlightGear supports multiple displays. Using some straightforward XML, you can configure multiple "slave cameras" that are offset from the main view, so you can use multiple monitors to display a single view of the simulator. For example, you can have one display showing the view straight ahead, while two additional displays show the view to either side.

Information on configuring multiple displays can be found in the README.multiscreen file in the docs directory of your FlightGear installation.

6.5 Multiple Computer

FlightGear allows you to connect multiple instances of the program using the very flexible I/O subsystem, and display completely different views and controls on different computers. This can be used in combination with the Multiple Display support to create a more sophisticated environment with separate cockpit panel displays and even a separate control station allowing an instructor to fail instruments, change the weather etc.

An example of this is the 747 cockpit project.

6.5.1 Setup

Each instance of FlightGear can support a single display. Due to the complexity of the FDM and graphics, FlightGear is very processor-intensive, so running multiple instances of FlightGear on a single machine is not recommended.

You will therefore need a computer for each view of the simulation you wish to display, including the panel. The computers obviously must be networked and for simplicity should be on the same subnet.

One computer is designated as the master. This computer will run the FDM and be connected to controls such as yokes, joysticks and pedals. As the machine is running the FDM, it usually only displays a simple view, typically the main panel, to maximize performance.

All other computers are designated as slaves. They are purely used for display purposes and receive FDM information from the master.

6.5.2 Basic Configuration

Creating a basic configuration for multiple displays is straightforward. The master computer needs to broadcast the FDM and control information to the slaves. This is done using the following command line options:


The slave computers need to listen for the information, and also need to have their own FDMs switched off:


6.5.3 Advanced Configuration

The options listed above will simply show the same view on both machines. You will probably also want to set the following command-line options on both master and slave computers.

--enable-game-mode  (full screen for glut systems)  
--enable-full-screen (full screen for sdl or windows)  
--prop:/sim/menubar/visibility=false (hide menu bar)  
--prop:/sim/ai/enabled=false (disable AI ATC)  
--prop:/sim/ai-traffic/enabled=false (disable AI planes)  

If using the master computer to display a panel only, you may wish to create a full-screen panel for the aircraft you wish to fly (one is already available for the Cessna 172), and use the following options.

--prop:/sim/rendering/draw-otw=false (only render the panel)  

6.6 Recording and Playback

As well as the Instant Replay feature within the simulator, you can record your flight for later analysis or replay using the I/O system. Technical details of how to record specific FDM information can be found in the $FG_ROOT/protocol/README.protocol file.

To record a flight, use the following command line options:


This will record the FDM state at 20Hz (20 times per second), using the playback protocol and write it to a file flight.out.

To play it back later, use the following command line options:


The playback.xml protocol file does not include information such as plane type, time of day, so you should use the same set of command line options as you did when recording.

6.7 Text to Speech with Festival

FlightGear supports Text To Speech (TTS) for ATC and tutorial messages through the festival TTS engine ( This is available on many Linux distros, and can also be installed easily on a Cygwin Windows system. At time of writing, support on other platforms is unknown.

6.7.1 Installing the Festival system

  1. Install festival from
  2. Check if Festival works. Festival provides a direct console interface. Only the relevant lines are shown here. Note the parentheses!
    $ festival  
    festival> (SayText ~FlightGear~)  
    festival> (quit)

  3. Check if MBROLA is installed, or download it from here:

    See under "Downloads"m "MBROLA binary and voices" (link at the bottom; hard to find). Choose the binary for your platform. Unfortunately, there’s no source code available. If you don’t like that, then you can skip the whole MBROLA setup. But then you can’t use the more realistic voices. See below for details of more voices. Run MBROLA and marvel at the help screen. That’s just to check if it’s in the path and executable.

    $ mbrola -h

6.7.2 Running FlightGear with Voice Support

First start the festival server:

$ festival --server

Now, start FlightGear with voice support enabled. This is set through the /sim/sound/voices/enabled property. You can do this through the command line as follows.

$ fgfs --aircraft=j3cub \  
       --airport=KSQL \  

Of course, you can put this option into your personal configuration file. This doesn’t mean that you then always have to use FlightGear together with Festival. You’ll just get a few error messages in the terminal window, but that’s it. You cannot enable the voice subsystem when FlightGear is running.

To test it is all working, contact the KSFO ATC using the ’ key. You should hear "your" voice first (and see the text in yellow color on top of the screen), then you should hear ATC answer with a different voice (and see it in light-green color).

ou can edit the voice parameters in the preferences.xml file, and select different screen colors and voice assignments in $FG_ROOT/Nasal/voice.nas. The messages aren’t written to the respective /sim/sound/voices/voice[*]/text properties directly, but rather to aliases /sim/sound/voices/atc,approach,ground,pilot,ai-plane.

6.7.3 Troubleshooting

On some Linux distros, festival access is restricted, and you will get message like the following.

client(1) Tue Feb 21 13:29:46 2006 : \  
  rejected from localhost.localdomain  
not in access list

Details on this can be found from:

You can disable access restrictions from localhost and localhost.localdomain by adding the following to a .festivalrc file in $HOME:

(set! server_access_list ’(~localhost~))  
(set! server_access_list ’(~localhost.localdomain~))

Or, you can just disable the access list altogether:

(set! server_access_list nil)

This will allow connections from anywhere, but should be OK if your machine is behind a firewall.

6.7.4 Installing more voices

I’m afraid this is a bit tedious. You can skip it if you are happy with the default voice. First find the Festival data directory. All Festival data goes to a common file tree, like in FlightGear. This can be /usr/local/share/festival/ on Unices. We’ll call that directory $FESTIVAL for now.

  1. Check which voices are available. You can test them by prepending "voice_":
    $ festival  
    festival> (print (mapcar (lambda (pair) (car pair)) \  
    (kal_diphone rab_diphone don_diphone us1_mbrola \  
                       us2_mbrola us3_mbrola en1_mbrola)  
    festival> (voice_us3_mbrola)  
    festival> (SayText ~I’ve got a nice voice.~)  
    festival> (quit)

  2. Festival voices and MBROLA wrappers can be downloaded here:

    The "don_diphone" voice isn’t the best, but it’s comparatively small and well suited for "ai-planes". If you install it, it should end up as directory $FESTIVAL/voices/english/don_diphone/. You also need to install "festlex_OALD.tar.gz" for it as $FESTIVAL/dicts/oald/ and run the Makefile in this directory. (You may have to add "–heap 10000000" to the festival command arguments in the Makefile.)

  3. Quite good voices are "us2_mbrola", "us3_mbrola", and "en1_mbrola". For these you need to install MBROLA (see above) as well as these wrappers: festvox_us2.tar.gz, festvox_us3.tar.gz, and festvox_en1.tar.gz. They create directories $FESTIVAL/voices/english/us2_mbrola/ etc. The voice data, however, has to be downloaded separately from another site:
  4. MBROLA voices can be downloaded from the MBROLA download page (see above). You want the voices labeled "us2" and "us3". Unpack them in the directories that the wrappers have created: $FESTIVAL/voices/english/us2_mbrola/ and likewise for "us3" and "en1".

6.8 Air-Air Refuelling

As the name suggests, Air-Air Refueling (AAR) involves refueling an aircraft (typically a short-range jet fighter) from a tanker aircraft by flying in close formation. There are two types of refueling system supported. The KC135-E tanker has a boom that connects to a receiver on the refueling aircraft. The smaller KA6-D deploys a hose, into which the refueling aircraft inserts a probe.

A number of aircraft support AAR, including the T-38, Lightning, A-4F, Vulcan, Victor (which can also act as a tanker) and A-6E. You can tell if a particular aircraft support AAR by looking at the AI/ATC menu. If the “Tanker” menu item is enabled, the aircraft support AAR.

6.8.1 Setup

To set up AAR, simply start FlightGear with an AAR-enabled aircraft, take-off and climb to 15,000ft. Once cruising at this altitude, select AI/ATC->Tanker, and select “Request”, which will spawn a new tanker in clear air at approximately your altitude.

FlightGear will report the altitude, speed, and TACAN identifier of the tanker. Program your TACAN with the TACAN identifier reported by the tanker (from the Equipment->Radio Settings dialog, or your cockpit controls). Depending on your aircraft, the tanker may also appear on your radar. If you require more help to find the tanker, you can select “Get Position” to be told the tanker location relative to yourself

Turn to an appropriate heading, guided by the TACAN bearing (you should try a "leading" approach to close in on the tanker) and look for the tanker on the radar or nav. screen. Around 5nm away, you should reduce your speed to around 20kts faster than the tanker - a "slow overtake". The KC135 will be visible from about 10nm, the KA6-D, being smaller, just over 1 nm. If you find yourself overshootng, deploy your airbrakes.

Close to within 50ft of the tanker (don’t get too close, or you may collide with the tanker itself). You should see indication in the cockpit that you are receiving fuel - there is a green light in the A4 fuel gauge, and you should see the indicated tank load increase.

Once your tanks are full, or you have taken as much fuel as you wish, close the throttle a little, back away from the tanker and continue your intended flight.

Successfully refueling is not easy and can take a lot of practise, as in real life. Here are some helpful hints for making contact.

  1. Approach the tanker slowly. It is very easy to overshoot and be unable to spot where the tanker has gone.
  2. If you are having difficulty matching the speed of the tanker due to the throttle being too sensitive, try deploying your airbrakes. This will require more power to achieve the same speed and will reduce the throttle sensitivity.
  3. To reduce your workload, you may be able to use the autpilot to stay at the correct altitude and/or speed. This is technically cheating, though NASA recently demonstrated that an advanced autopilot can perform AAR without pilot intervention.
  4. Bear in mind that as you receive fuel your aircraft will become heavier and the center of gravity will move, affecting the trim of the aircraft.
  5. The tanker aircraft fly a clock-wise "race-track" pattern in the sky. While it is possible to stay connected during these turns, you may find it easier to wait until the tanker has settled on its new course before refueling. The tanker aircraft provide warnings when they are intending to turn.

6.8.2 Multiplayer Refueling

Refuelling is possible within a Multiplayer session using the KC135 or Victor. The pilot of this aircraft should use the callsign "MOBIL1", "MOBIL2" or "MOBIL3". Other numbers are acceptable, but only these three have A-A TACAN channels assigned. These are 060X, 061X and 062X respectively.

If the receiving aircraft uses a YASim FDM, there are no further complications. Should the receiving aircraft be JSBSim based, the user must make sure that there are no AI tankers in their configuration. This means disabling (commenting out) all refuelling "scenarios" in the relevant aircraft-set.xml and in preferences.xml.

MP refuelling works in exactly the same way as AI refuelling and is a fun challenge. It is best to ensure that your network connection is as free from interruptions as possible; the MP code does a degree of prediction if there is a "blip" in the stream of packets and this can make close formation flight very difficult or even impossible.