Chapter 1
Want to have a free flight? Take FlightGear!

1.1 Yet another Flight Simulator?

Did you ever want to fly a plane yourself, but lacked the money or ability to do so? Are you a real pilot looking to improve your skills without having to take off? Do you want to try some dangerous maneuvers without risking your life? Or do you just want to have fun with a more serious game not killing any people? If any of these questions applies, PC flight simulators are just for you.

You already may have some experience using Microsoft’s © Flight Simulator or any other of the commercially available PC flight simulators. As the price tag of those is usually within the $50 range buying one of them should not be a serious problem given that running any serious PC flight simulator requires a hardware within the $1500 range, despite dropping prices, at least.

Why then that effort of spending hundreds or thousands of hours of programming to build a free simulator? Obviously there must be good reason to do so:

The above-mentioned points make FlightGear superior to its competitors in several respect. FlightGear aims to be a civilian, multi-platform, open, user-supported, user-extensible platform.

Fig. 1: FlightGear under UNIX: Bad approach to San Francisco International - by one of the authors of this manual. . .

Without doubt, the success of the Linux project initiated by Linus Torvalds inspired several of the developers. Not only has it shown that distributed development of even highly sophisticated software projects over the Internet is possible.

1.2 System requirements

In comparison to other recent flight simulators the system requirements for FlightGear are not extravagant. A decent PII/400 or something in that range should be sufficient, given you have a proper 3-D graphics card. On the other hand, any modern UNIX-type workstation with a 3D graphics card will handle FlightGear as well.

One important prerequisite for running FlightGear is a graphics card whose driver supports OpenGL. If you don’t know what OpenGL is, the overview given at the OpenGL web site

http://www.opengl.org

says it best: ”Since its introduction in 1992, OpenGL has become the industry’s most widely used and supported 2-D and 3-D graphics application programming interface (API)...”.

FlightGear does not run (and will never run) on a graphics board supporting Direct3D only. Contrary to openGL, Direct3D is a proprietary interface, being restricted to the Windows operating system.

You may be able to run FlightGear on a computer that features a 3-D video card not supporting hardware accelerated OpenGL - and even on systems without 3-D graphics hardware at all. However, the absence of hardware accelerated OpenGL support can force even the fastest machine to its knees. The typical signal for missing hardware acceleration are frame rates below 1 frame per second.

Any more recent 3-D graphics featuring hardware OpenGL will do. For Windows video card drivers that support OpenGL, visit the home page of your video card manufacturer. You should note, that sometimes OpenGL drivers are provided by the manufacturers of the graphics chip instead of by the makers of the board. If you are going to buy a graphics card for running FlightGear, one based on a NVIDIA chip (TNT X/Geforce X) might be a good choice.

To install the executable and basic scenery, you will need around 50 MB of free disk space. In case you want/have to to compile the program yourself you will need additional about 500 MB for the source code and for temporary files created during compilation. This does not yet include the development environment, which possibly may have to be installed under Windows yet, and which amounts to additional around 300 MB, depending on the installed packages.

For the sound effects any capable sound card should suffice. Based on its flexible concept, FlightGear supports a wide range of joysticks or yokes as well esd rudder pedals under Linux as well as under Windows.

FlightGear is being developed primarily under Linux, a free UNIX clone (together with lots of GNU utilities) developed cooperatively over the Internet in much the same spirit as FlightGear itself. FlightGear also runs and is partly developed under several flavors of Windows. Building FlightGear is possible on a Macintosh (OSX) and on several UNIX/X11 workstations, as well. Given you have a proper compiler installed, FlightGear can be built under all of these platforms. The primary compiler for all platforms is the free GNU C++ compiler (the Cygnus compiler under Win32).

If you want to run FlightGear under Mac OS X we suggest a Power PC G3 300 MHz or better. As a graphics card we would suggest an ATI Rage 128 based card as a minimum. Joysticks are supported under Mac OS 9.x only; there is no joystick support under Max OSX available (yet).

1.3 Which version should I use?

Concerning the FlightGear source code there exist two branches, a stable one and a developmental branch. Even version numbers like 0.6, 0.8, and (someday hopefully) 1.0 refer to stable releases, while odd numbers like 0.7, 0.9, and so on refer to developmental releases. The policy is to only do bug fixes in the even versions, while new features are generally added to odd-numbered versions which, after all things have stabilized, will become the next stable release with a version number calculated by adding 0.1.

To add to the confusion, there usually are several versions of the ”unstable” branch. First, there is a ”latest official release” which the pre-compiled binaries are based on. It is available from

For developers there exist CVS snapshots of the source code, available from

ftp://www.flightgear.org/pub/flightgear/Devel/Snapshots/.

While theses are quite recent, they may still be sometimes a few days back behind development. Thus, if you really want to get the very latest and greatest (and, at times, buggiest) code, you can use a tool called anonymous cvs available from

http://www.cvshome.org/

to get the recent code. A detailed description of how to set this up for FlightGear can be found at

http://www.flightgear.org/cvsResources/.

Unfortunately, the system implemented above does not really work as it should. As a matter of fact, the stable version is usually so much outdated, that it does not at all reflect thee stated of development FlightGear has reached. Given that the recent developmental versions on the other hands may contain bugs (. . . undocumented features), we recommend using the ”latest official (unstable) release” for the average user. This is the latest version named at

http://www.flightgear.org/News/;

usually this is also the version which the binary distributions available at

http://www.flightgear.org/Downloads/

are based on. If not otherwise stated, all procedures in this ”Installation and Getting Started” will be based on these packages.

1.4 Flight models

Historically, FlightGear has been based on a flight model it inherited (together with the Navion airplane) from LaRCsim. As this had several limitations (most important, many characteristics were hard wired in contrast to using configuration files), there were several attempts to develop or include alternative flight models. As a result, FlightGear supports several different flight models, to be chosen from at runtime.

The most important one is the JSB flight model developed by Jon Berndt. Actually, the JSB flight model is part of a stand-alone project called JSBSim, having its home at

http://jsbsim.sourceforge.net/.

Concerning airplanes, the JSB flight model at present provides support for a Cessna 172, a Cessna 182, a Cessna 310, and for an experimental plane called X15. Jon and his group are gearing towards a very accurate flight model, and the JSB model has become FlightGear’s default flight model.

As an interesting alternative, Christian Mayer developed a flight model of a hot air balloon. Moreover, Curt Olson integrated a special slew mode called Magic Carpet, which helps you to quickly fly from point A to point B.

Recently, Andrew Ross contributed another flight model called YASim for Yet another simulator. At present, it sports another Cessna 172, a Turbo 310, a fairly ggod DC-3 model, along with a Boeing 747, Harrier, and A4. YASim takes a fundamentally different approach since it’s based on geometry information rather than aerodynamic coefficients. Where JSBSim will be exact for every situation that is known and flight tested, but may have odd and/or unrealistic behavior outside normal flight, YASim will be sensible and consistent in almost every flight situation, but is likely to differ in performance numbers.

As a further alternative, there is the UIUC flight model, developed by a team from the University of Illinois, independently from FlightGear in the beginning (while now using it for their simulations). This project aims at studying the simulation of aircraft icing. Its home is at

http://amber.aae.uiuc.edu/ jscott/sis/.

The UIUC provides a host of different aircraft including several Cessna C172, a Learjet 24, a Twin Otter and much more. To get an idea, you may check the folder Aircraft-UIUC of the FlightGear path.

Please note, that the UIUC models do not have a working gear. So you might experience some difficulties when starting from a runway. At least the nose gear will be too weak and the airplane will fall on it’s nose. This can be circumvented by pulling the stick more than usual for a while.

It is even possible to drive FlightGear’s scene display using an external FDM running on a different computer - although this might not be a setup recommended to people just getting in touch with FlightGear.

1.5 To whom this guide is addressed and how it is organized

There is little, if any, material in this Guide that is presented here exclusively. You could even say with Montaigne that we ”merely gathered here a big bunch of other men’s flowers, having furnished nothing of my own but the strip to hold them together”. Most (but fortunately not all) of the information can as well be obtained from the FlightGear web site located at:

http://www.flightgear.org/

Please, keep in mind that there are several mirrors to all FlightGear Web sites, being listed on this page. Sometimes it is preferred to download from them than from the original place.

However, a neatly printed manual is arguably preferable over loosely scattered Readme files by some people, and those people may acknowledge the effort.

This FlightGear Installation and Getting Started manual is intended to be a first step towards a more complete FlightGear documentation (with the other parts, hopefully, to be written by others). The target audience is the end-user who is not interested in the internal workings of OpenGL or in building his or her own scenery, for instance. It is our hope, that someday there will be an accompanying FlightGear Programmer’s Guide (which could be based on some of the documentation found at

http://www.flightgear.org/Docs;

a FlightGear Scenery Design Guide, describing the Scenery tools now packaged as TerraGear; and a FlightGear Flight School, at least.

As a supplement, we recommend reading the FlightGear FAQ to be found at

http://www.flightgear.org/Docs/FlightGear-FAQ.html

which has a lot of supplementary information to (and, at times, more recent than) the present document.

We kindly ask you to help me refine this document by submitting corrections, improvements, and more. Any user is invited to contribute descriptions of alternative setups (graphics cards, operating systems etc.). We will be more than happy to include those into future versions of this Installation and Getting Started (of course not without giving credit to the authors).

While we intend to continuously update this document at least for the foreseeable future, supposedly we will not be able to produce a new one for any single release of FlightGear. While we are watching the mailing lists, it would help if developers adding new functionality would send us a short note.