Free FlightGear flight simulator

Above the Clouds

Article from Issue 234/2020

The free flight simulator FlightGear has improved in terms of stability and realism in recent years and offers joystick pilots massive potential for fun.

The FlightGear flight simulator [1] is one of the veterans of the Linux gaming world. More than 20 years after its initial release, the program has matured into complex simulation software that brings many aspects of flying to the screen in a realistic way. For this article, we used FlightGear v2018.3.

The images in this article were taken with the best possible graphic settings (see box, "Graphics Settings"). At a screen resolution of 2540x1440 pixels, this only utilized about half of an AMD RX 580 card's capacity (Figure 1). Even with slower cards, FlightGear remains playable, because after switching off rendering options like 3D clouds the simulator's resource requirements drop significantly.

Figure 1: The RadeonTop graphics performance monitor shows that with an AMD RX 580 graphics card, even at maximum rendering quality in FlightGear, there is still plenty of capacity.

Graphics Settings

In the graphics settings below View | Rendering Options (Figure 2), you can adapt the graphics to suit your graphics adapter's performance. Use point sprites for runway lights is enabled in General, which means you have three-dimensional rendered runway lights. Throttle frame rate restricts the frame rate to a maximum of 50 frames per second, helping the game to run more evenly. Compensate field of view for wider screens is another helpful setting.

Figure 2: The Rendering Options allow you to adapt FlightGear's resource consumption to an acceptable frame rate on your system.

In the Scenery Layers section you can decide whether FlightGear shows you Pylons and Power lines and objects such as barns (Scenery Objects), based on a database, and also adds Random Scenery Objects to the landscape. The dialog warns you about the memory consumption, which can climb to 8GB. You can also choose the vegetation density, and decide whether or not trees and bushes should throw shadows. The Region-specific option for Terrain Textures colors the terrain and vegetation to match the region, for example, the Blue Ridge Mountains actually look blue instead of green.

The Shader Effects have a noticeable influence on the frame rate. You would normally see a simple slide control here, but if the Custom Settings option is enabled, then the Shader options button opens a dialog for detailed settings (Figure 3) that govern the rendering quality of scenery display. Experience shows that the 3D clouds option consumes the most graphics capacity. Without 3D clouds, the FlightGear world appears far less vivid, but it is often sufficient to just reduce the density of the clouds or the distance at which they become visible.

Figure 3: After selecting Custom Settings, all Shader options were set to the maximum for the best possible graphics here.

Atmospheric Light Scattering computes the light color on the basis of the light scatter in the atmosphere. Without it, the FlightGear world is far paler at typical altitudes.

Artificial World

FlightGear features numerous aircraft types whose cockpits and exterior views the program renders as 3D models. This means that the aircraft appear realistic from different angles and in different lighting conditions. A huge amount of work was also put into representing the landscape. It is based on a model of the entire Earth's surface that processes data from the space shuttle program, the global coastline database GSHHG [2], and data from the European Environment Agency and OpenStreetMap. In addition, around 180 contributors have designed local features, such as airports or cities.

FlightGear renders landscapes around the world with natural-looking vegetation, including impressive mountain scenes from the North American Blue Ridge Mountains to the Himalayas (Figure 4). Compared to the brilliant nature scenes, low overflights over cities are somewhat disappointing. For example, in Nuremberg, Germany, the castle looks a bit different in reality than on the screen (Figure 5), which is only to be expected. While landscapes automatically generated from elevation data look quite realistic, the scenery developers have to design recognizable buildings by hand. From a normal overflight altitude of about 6,000 to 7,000 feet, the city views generated from OpenStreetMap data look at least halfway realistic.

Figure 4: You can fly above the Himalayas in FlightGear, for example, on a flight through Nepal from the Tenzing-Hillary Airport in Lukla (VNLK) to Kathmandu (VNKT).
Figure 5: This is the degree of realism you can expect in a low-level flight (which would be prohibited in real life) over a major city in Germany. If you are familiar with Nuremberg, you will not recognize it in FlightGear.

There are also differences in the degree of realism in the interiors of the aircraft models: The cockpit surfaces of the Cessna 172P almost look as if you could touch them. The soft reflections in the instrument glasses may impair readability, but this is no different in reality. The cockpits of the Boeing 777-300 (Figure 6) and MDD F-15C do not look quite as fresh, although they are still above-average FlightGear models that make flying fun.

Figure 6: The cockpit of a Boeing 777 (first flight in 1995) is now based almost entirely on screens. The analog dials are only backup instruments.

Flight Machine

FlightGear not only simulates the landscape and the appearance of the aircraft, but also many technical conditions (Figure 7). Navigation instruments like the VHF Omnidirectional Range (VOR) actually work. (This is a rotary radio beacon that emits angle information. In combination with a radio-based rangefinder, the aircraft position can be precisely determined.)You are confronted with a dreaded stall scenario, where the aircraft stalls after dropping below the minimum speed with the resulting need to permanently monitor the airspeed, just like a real pilot.

Figure 7: Navigation instruments in the Cessna model look and work just like the real thing.

Time to launch the flight simulator and a Cessna 172P: This veteran aircraft has been one of the best maintained models in FlightGear from the outset. In recent versions, the developers have once again polished its cockpit. The single-engine high wing aircraft is not only relatively easy to fly in reality, but also in FlightGear. It is a good model with which to learn flying skills.

If you run FlightGear with the --launcher parameter, a friendly dialog appears to let you select the aircraft, the starting airport, the weather, and other FlightGear settings (Figure 8). In the Aircraft section, click on the Cessna 172P Skyhawk (1982) that I mentioned earlier.

Figure 8: The --launcher start option opens a convenient wizard that lets you select the airport, aircraft, and many other FlightGear settings.

How about an afternoon flight over the beautiful scenery of the Blue Ridge Mountains in South Carolina? Enter ICAO Identifier 33A in the Location category and select the picturesque Fairview airfield. ICAO stands for The International Civil Aviation Organization, which – among other things – assigns globally unique codes to airports. In the next screen, select Runway 32. This runway points, as its name indicates, in the direction of 320 degrees (northwest) that is straight to the Blue Ridge Mountains.

You can choose the weather in FlightGear. We ordered a summer afternoon in the Environment section below Time & Date (Time of day: Afternoon, Season: Summer). In Weather, owners of newer computers can enable Advanced weather modeling. We disabled the Real-world weather option – it evaluates the weather data of a METAR report, a standardized weather report for airports. Instead we chose fair weather as the Weather scenario, to avoid cloud cover blocking our view of the landscape.

If you have an Internet connection with at least one megabit bandwidth, you can select the default Download scenery automatically [3] setting in the Settings section. In Multiplayer, you can also enable a connection to a FlightGear multiplayer server, which integrates other players' planes into your simulated world.

The simulator is normally launched in full screen mode (Start full screen). The Renderer I would recommend is Atmospheric Light Scattering. This method calculates the light scattering in the atmosphere, which makes the simulation look far more realistic for the large visibility ranges of high-altitude flights. Owners of more-or-less up-to-date graphics cards can treat themselves to Anti-Aliasing 4x, which completely irons out the ugly jagged diagonal lines that otherwise appear.

If you enter the --http=8080 option in Additional Settings, you can retrieve an OpenStreetMap-based moving map from the IP address of the FlightGear computer on port 8080 (http://<FlightGear-IP>:8080) via web browser (Figure 9). This lets you turn a tablet into a GPS device with a map display, like the one many amateur pilots take with them to facilitate navigation in their Cessnas.

Figure 9: As a web server, FlightGear delivers an HTTP-based map view that you can open on a laptop or a tablet.

Getting Airborne

Now press Fly! This launches the simulation, which will take a number of seconds. The first task is to start the aircraft's engine. Fortunately, a Cessna 172 is easy to start. First zoom out (Shift+X) until you can see the whole of the Cessna cockpit. Ctrl+X switches back to the default zoom level later on. Pressing Ctrl+C highlights all the mouse-controllable cockpit elements in yellow and also shows you the names of the instruments (Figure 10). Pressing the same shortcut again disables this help feature. Press Y to hide the yoke, which is just annoying in this view. You can press the same key again later, if so desired, to display it again.

Figure 10: Pressing Ctrl+C highlights all the clickable points in the cockpit in yellow and (in the Cessna) additionally shows you the names of the elements.

Then click on the two red toggle switches bottom left (MASTER ) and additionally the shift lever right next to the ignition key (AVIONICS POWER). Then click six times on the Primer pull to the left below the red toggle switches to pump some fuel into the carburetor. Next, set the black throttle lever (THROT PUSH OPEN) bottom center to 25 percent. To do this, mouse over it and adjust the lever with the mouse wheel; a small pop-up shows you the percentage. Then push the adjacent red lever for MIX PULL LEAN all the way in (100 percent). Finally, press S for the starter for a few seconds to wake up the engine. In the menu with the aircraft name, there is usually an Autostart entry that handles all of these steps, but experienced pilots would never use it.

Theoretically, FlightGear can be controlled completely by keyboard, but serious flying is only possible with a joystick (see "Joystick" box). For control functions for which you cannot use the joystick buttons, there are also the FlightGear keyboard shortcuts, which you will find in the Help menu. An introduction to flying itself is given in the official FlightGear manual [4], chapter 8, A Basic Flight Simulator Tutorial.

All you have to do now is accelerate to take off. But will you find your way back to the airport of departure? Although our simple airfield does not have its own radio beacon for the approach to land, an antenna station nearby can be used to navigate to a position within sight of the runway. Equipment | Map lets you open the flight map, without which a pilot would never take off. But thanks to FlightGear's Map feature, you don't have to have it on paper. The shortcut for this is Ctrl+J, even if the Equipment menu tells you it is Ctrl+M.

If you check the Navaids (navigation aids) box on the left side of the map, then the SPA VOR in Spartanburg appears on the right side below the aircraft. If you also enable the Data option, then you will see its frequency 115.7 MHz on the map. F12 opens the radio settings, where you can enter this frequency in Selected for NAV1, the first navigation device. The SPA station will then turn light blue on the map. A light blue line also appears through the aircraft location, the line is known as the radial.

Now mouse over the dial of the NAV 1 display, and adjust it with the mouse wheel until the horizontal pointer moves to the center and the display TO appears to the right of it at the same time. The pointer may first move to the center in the case of an FR display ("from"). Then turn 180 degrees further, in our example up to 130 degrees.

A VOR always guides an aircraft along the set radial line, which now also runs through the current aircraft location on the map. To determine the position, combine the radial with the Distance Measuring Equipment (DME) display. This is a radio-based distance measuring device, often used in combination with a VOR (VOR/DME). In Fairview, the DME shows a distance of 12 miles to the Spartanburg station. VOR and DME together define a traceable position. If you center the needle of the VOR instrument at Radial 130 and move 12 miles away from SPA on Radial, you will fly over Fairview.

Now you can press Shift+B to release the parking brake, open up the throttle, and fly off to the northwest into the Blue Ridge Mountains.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Palomino: Competition for Flightgear

    The GPL flight simulator Palomino from Jim Brooks has, with the integration of OSSIM and the 3D graphic tool OpenSceneGraph, become serious competition for Flightgear.

  • Free Software Projects

    Projects on the Move Free software covers such a diverse range of utilities,applications,and other assorted projects that it can be hard to find the perfect tool.We pick the best of the bunch.This month we cover the Amarok player,Flightgear, Debian’s third revision of Woody,and Skolelinux.

  • FOSSPicks

    This month Graham looks at MScSim, Ticker, vizex, and more!

  • Introduction

    This month in Linux Voice.

  • Pi Flight Simulator

    A Raspberry Pi 4B with Linux can solve the equations for a real-time nonlinear aircraft simulation, including the emulation of modern aircraft flight displays.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More