Frequently asked questions: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (→‎The FAQ: DRM / contentt protection (this needs some TLC ... but seems like a recurring topic))
Line 223: Line 223:
* [[New to FlightGear]]
* [[New to FlightGear]]
* Also see the FlightGear/docs-mini/ directory in the source distribution for various other helpful documents.
* Also see the FlightGear/docs-mini/ directory in the source distribution for various other helpful documents.
== Contributing ==
=== Content Protection ===
Do other sims offer content encryption or content protection? For instance, I've been able to locate and test a blender plugin that can open up many MSFS aircraft models. How about xplane? It's been a *long* *long* time since I fiddled with their package, but at the time I was paying attention, all their 3d formats were open and well defined. Often the commercial sims will store things in their own binary formats, but in most cases these aren't encrypted and the end users figure these out pretty quickly -- so they can either edit the content or create new content with the same format. I wouldn't consider a binary format much of a content protection scheme ... especially in an open source project where the source to load and store the binary format is readily available. I understand the desire for content creators to not get "ripped off". But also understand that one of the main reasons that FlightGear can be successful is because we make all the source code and content open. If we didn't make everything open, then we wouldn't get nearly the same amount of volunteer contributions and high quality volunteer contributions is the critical reason why FlightGear has been so successful. If we were a closed off commercial outfit, who would want to pitch in and help someone else make money? But with everything open, you know that your contributions can be enjoyed equally by everyone else, just as much as you are enjoying everyone else's contributions. There are some low-lifes out there that try to make a profit on other people's work, and will gladly lie and misrepresent things to swindle as much money as possible from unsuspecting end users. But the truth is that these people have always existed, and will always exist. They are remarkably good and persistent at copying things ... going so far as to break copy protection schemes, reverse engineer hardware designs, copy the exact look of products (even including the logo.) This isn't a problem that is unique to the FlightGear project -- and it's something we would still face no matter how hard we worked to create copy protection schemes. If you designed a binary content format, someone will reverse engineer it. If you design an encryption scheme, someone will just modify the sim code to dump out the decrypted version after it's been loaded into memory by the proprietary decrypting plugin. (If not outright break the encryption scheme or steal your encryption keys.) In all these case, the content can still be easily copied, replicated, sold, etc. The best scheme I've seen is something that has a node-lock key that will only run on a single PC (key'd to mac address, or processor id.) But this implies a more complicated 2 step install where the user must come back to you after installing the product, report their unique id, get a key, and then install that key before they are able to run. And the problem with all of this is that in an open source project, someone could simply compile a new version of the simulator that skips the key check or accepts a trivial key, or any key. I'm just thinking down various avenues here, but hopefully you can see that what seems like a simple request at first is actually quite complex and creates all kinds of down stream issues (both technically and with user support.) And at the end of the day, the bad guys can usually find work arounds anyway and aren't slowed down too much. When farmers grow crops, they have to put up with weeds. We can try reasonable things to minimie the weeds, but if you are too aggressive at killing the weeds and don't tolerate a single one, then you most likely end up killing much of your crop too. So it's my view that this is something we just have to put up with. We can try to take reasonable steps to minimize the problem, but we can't eliminate all the bad guys without harming all the good things about our project.<ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/27998023/
  |title  =  <nowiki> Re: [Flightgear-devel] Content protection for modders? </nowiki>
  |author =  <nowiki> Curtis Olson </nowiki>
  |date  =  Aug 25th, 2011
  |added  =  Aug 25th, 2011
  |script_version = 0.37
  }}</ref>
Once you have distributed source code under the GPL you explicitely declared that it's everyones right to redistribute and modify it - as long as he/she doesn't distribute it under a different license But you, as the copyright holder, can change the license for new versions you haven't yet distributed under the GPL - as long as those modifications weren't made by others, i.e., as long as you are still the sole copyright holder (or you'd have to come to an agreement with the other contributors, but you can only ask nicely). You, as the sole copyright holder, also can distribute it under several licenses at once, e.g. the GPL and some propiratory li- cense (making it worth the money people may pay for it by faster bug fixes, only distributed to the paying customers etc.).<ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35073990/
  |title  =  <nowiki> Re: [Flightgear-devel] can i distribute my airplane as a shared
library, and what legislation issues would that ensue? </nowiki>
  |author =  <nowiki> Jens Thoms Toerring </nowiki>
  |date  =  May 9th, 2016
  |added  =  May 9th, 2016
  |script_version = 0.37
  }}</ref>
Another thing to consider is that distributing your aircraft as a .dll or .so doesn't hide or obfuscate your code and textures after they have been loaded into the simulator structures for rendering. The rest of FlightGear is open-source so it wouldn't take much effort to insert an OSG function call to save out the aircraft (models and textures) in some other common 3d format. There would be some loss in terms of the organiation of the source files, but even so, it would give someone who's intention is to copy or modify the work a place to start. All the xml config should be there for free in the property tree. The licensing of nasal (I believe) is written in a way that makes it difficult to distribute proprietary nasal code. So there would be some really significant challenges to making a FlightGear aircraft that is secure from modification, not to mention copying.<ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35073896/
  |title  =  <nowiki> Re: [Flightgear-devel] can i distribute my airplane as a shared
library, and what legislation issues would that ensue? </nowiki>
  |author =  <nowiki> Curtis Olson </nowiki>
  |date  =  May 9th, 2016
  |added  =  May 9th, 2016
  |script_version = 0.37
  }}</ref>


[[Category:FlightGear]]
[[Category:FlightGear]]

Revision as of 13:28, 9 May 2016

Thank you for your interest in FlightGear! This FAQ lists some of the most commonly asked questions. Please create a topic at our forum if you cannot find the answer on your problem(s).

Distribution

Where can I get FlightGear?

The official download page is http://www.flightgear.org/download/. Precompiled binaries are available for Windows, and most Linux users will find that most distributions have a packaged version of FlightGear (the package name could be fgfs or flightgear.)

How do I install FlightGear on Linux?

Many distributions include FlightGear in their repositories. If you can't find a packaged version for you, consider downloading and compiling from sources.

Where can I find the latest development source code?

The latest development code is available for everyone through our Git repository.

Where do I get the scenery? What is available?

While the base package only comes with scenery for the San Francisco Bay area, you can currently fly just about anywhere in the world. Currently Terrasync is the best option: it downloads the latest scenery while flying. See its page for usage information.

However the latest scenery could be too demanding if you have a low end computer or not much RAM, so consider instead to manually install the old scenery from the "graphical interface" available at the scenery download page.

Where can I get different 3D models for my plane?

Official FlightGear aircraft can be found at Download central. Other aircraft in development can be found in the official FGAddon aircraft repository, and some other aircraft can be found in 3rd party FlightGear hangars.

Why are the aircraft at FlightGear.org out of date?

The official aircraft downloads are only updated at the time of a new release of FlightGear. This is done because aircraft that are currently in development are usually developed on development/unreleased versions of FlightGear. Those development versions have lots of features that are not supported by the (older) stable release. Would we update the aircraft downloads more often, most aircraft wouldn't work on the stable release of FlightGear.

How current is the data in FlightGear compared to the real world?

We use the same navaid and airport dataset that X-Plane uses. The current dataset can be found in the $FG ROOT/Navaids/ and $FG ROOT/Airports/ directories. The maintainer can be found at X-Plane Airport & Navigation Data.

Why don't you charge money for this?

FlightGear can be downloaded for free from many locations including the FlightGear website, but can also be bought on a CD. Although we offer that service (see the website), we encourage other groups to redistribute it for their users, especially within an operating system distribution which makes installation even faster and easier for new users.

Occasionally you may see FlightGear for sale on auction sites or commercial websites under some other name. This can be done quite legitimately as long as the terms of the license are upheld and might be worth the cost if some value-added features such as additional scenery, aircraft or after-sale support are included. Unfortunately, most cases seen to date appear to be just someone trying to make money selling something that is free and providing no real added value.

How can I get started with FlightGear?

There's no better place than the page New to FlightGear!

Compiling

How do I compile FlightGear from source?

See Building FlightGear. There are explanations to compile in Windows, Linux and even scripts to automatically download and compile the whole thing.

Why won't FlightGear compile?

Well, that depends. First make sure you are using the appropriate versions of FlightGear, SimGear, plib, zlib. If any of the packages are out of sync with the others, compilation may fail. See also Building FlightGear

The FlightGear Downloads page should tell you what versions you need if you are trying to compile the latest stable release. If you are using a development snapshot, make sure all three packages are up-to-date.

Also ensure that you have some implementation of OpenGL with glut support with the appropriate header files. Linux users with nVidia cards should make sure you have the latest drivers from nVidia. Other Linux users make sure you have Mesa3D (http://mesa3d.org/) and your X server installed correctly.

If your problems persist, ask in the FlightGear Forums, on the IRC or subscribe to our FlightGear-Users mailing list and let us know what problem you're having.

What is SimGear, and why do I need it?

SimGear is a library of supporting code. SimGear is only needed if you plan on compiling FlightGear — it is not needed to run precompiled binaries. For more information see http://www.simgear.org/. Note: When compiling FlightGear it is very important to have the matching version of SimGear.

Configuring and running

How do I start FlightGear?

The easiest way is using FlightGear Launch Control. Otherwise, you can run it from the command line, with the proper options.

How do I install new scenery?

If you really don't want to/can't use Terrasync, the scenery archive files (ie. w100n30.tar.gz) should be decompressed into the Scenery/Terrain directory in your $FG_ROOT. More at Howto: Install scenery.

How do I setup my joystick(s)?

FlightGear supports wonderfully many joysticks/yokes out of the box. However if you're having problems see Input device.

What is fgfsrc? What format should my personal .fgfsrc file be in?

.fgfsrc is a file that can contain a list of Command line options with one option per line. The file is not an XML file. Note that also Windows installations have this file.

How do I get to see options, help etc?

You probably can not see the main menu. To make it show press F10.

Flying

Why won't my engine(s) start?

Aircraft vary in their starting procedure. Some may have an auto-start sequence menu entry or instructions in the aircraft help menu (Press "?") and/or at the aircraft's wiki. Please consider reading the FlightGear Manual, or see this quick small guide.

Where is the moving map?

In game, you can go into the menu "Equipment > Map", but there won't be any aeronautical chart. A popular moving map display is available under a separate project called Atlas. Also, MPmap is an online map for multiplayer.

If you like an alternative to Atlas with updated graphics and mapping provided by the OpenStreetMap project, then check out Flightgear Mapping fgmapping or JMapView.

Where can I learn about instrument flying and navigation?

There is a nice article, Understanding navigation, and a lot is very well explained into the FlightGear Manual. Other resources are:

What is the difference between Aileron and Rudder?

There is a bit of info on aileron vs. rudder in the very same book...

Is there support for multi-player flying?

Yes, sure we have it! See Howto: Multiplayer. Both the Windows and *nix versions of FlightGear are capable of multi-player flying on FlightGear servers. Also voice communication is supported, with FGCom.

A map showing players aircraft online in real time is available as MPmap.

Where are the best places to fly in FlightGear?

FlightGear scenery covers the whole world, but thanks to the FlightGear user community, certain airports and areas are more detailed than others. As a general idea:

  • There are a lot of high-quality scenery models around Paris, France.
  • EHAM Amsterdam Schiphol, EGKK London Gatwick and LFPG Paris Charles de Gaulle are some of the highest quality airports.
  • LOWI Innsbruck is both developed in scenery and airport.
  • TNCM St. Maarten is a popular destination, and the surrounding islands (Anguilla, St. Eustatius, Saba, St. Barthélemy, St. Kitts, and Nevis) are all well-modeled.

Furthermore, see Suggested Flights, Suggested Airports and Suggested custom scenery.

Where can I find airport info and aeronautical charts online?

See Getting aeronautical charts.

Is there support for any military scenarios like dog fighting or bomb dropping?

Yes. Check out the Bombable add on and Bombable's forum thread. There are also third-party bombing scenarios for the A-10 and other aircraft with armament, like the North American OV-10A Bronco, General Dynamics F-16 and F-117 Nighthawk.

Flying issues

Why are my controls returning to a particular position?

There are several possibilities that can lead to this:

  • If your aircraft's autopilot is enabled, it will take over (some of) your controls. Switch the autopilot off to regain control.
  • Some laptops have an onboard gravity sensor that might be detected as a joystick. See how to solve that at Troubleshooting input devices.

Why does my cockpit disappear when looking around?

Probably you're using a 2D-panel version of an aircraft. Be sure to pick the one with a 3D cockpit. Most of the aircraft now have it!

There are lots of other aircraft flying around

FlightGear has a so-called AI-traffic system. This system generates other, computer-controlled aircraft based on real flight plans to make the FlightGear world look more alive. To disable it, uncheck the proper option in FGrun.

If on the contrary you can't see any aircraft other than yours, consider contributing to add traffic to your favourite place!

I can't make this plane fly straight, it keeps turning left!

Yes, FlightGear is a real flight simulator and simulates that too. Exactly, that's how real propeller aircraft behave. See Understanding Propeller Torque and P-Factor.

Contributing

For anyone who's willing to contribute, we have dedicated to you the Developer portal and a Volunteer page that explains all the nice things you can do.

What language is FlightGear written in?

Mostly C++ with some supporting C code that's primarily contained within SimGear. For more details on the used languages:

As you seem to be interested in core development, you should really check out Howto:Start core development.

How do I design a flight dynamics model for a new aircraft?

FlightGear supports various flight dynamics models (FDMs), but just two of them are commonly used:

  • JSBSim: see http://jsbsim.sf.net/.
  • YASim: if you want a simpler FDM to work with, try your hand at YASim. For a guide on creating YASim aircraft, look in the FlightGear base package for $FG_ROOT/Docs/README.yasim.

See the Aircraft development portal.

How do I design or modify a 2D panel?

See the $FG_ROOT/Docs/README.xmlpanel file on your computer.

How do I place objects, like buildings, into FlightGear?

The most up to date solution is using the UFO. See Howto:Place 3D objects with the UFO. The UFO will give you the interface to choose one of the available objects and place it to some grade of precision into FG world, and then export that data to be uploaded to the official scenery, or for personal use. For more, see the Scenery development portal.

Where can I learn 3D programming and how do I get involved?

If you'd like to create a 3D cockpit for FlightGear, or to create buildings, external aircraft models, etc., your help is desperately needed. Try to go easy on the triangles, so that your work will be enjoyed by as many people as possible. The most commonly used tools here are Blender, AC3D, Gimp.

If, on the other hand, you really want to get your hands dirty with C++ coding, you'll have to buy a good OpenGL book eventually. However, FlightGear uses OSG, a high performance 3D graphics toolkit. To get started with 3D C++ coding, you can take a look at the OSG documentation and learn only as much OpenGL as you need, when you need it.

How do I add an airport?

This process includes creating the airport layout in WorldEditor, testing it (you might want to generate part of the scenery, but this is not mandatory) and then, if your data sources are GPL compatible, send it to Robin for inclusion in the shared airport database. The airport will be available in the next full rebuild of the scenery, unless you want to generate your own scenery. More at Howto:Make an airport.

Can I generate my own scenery?

Yes, though it can be a difficult task. FlightGear's scenery generation is handled by a sister project, TerraGear. The good news, though, is that once you have set everything up it's quite easy (although might be time consuming), and above all that you can easily share it.

Problems

X doesn't work / is broken / is wrong / won't run

FlightGear is a very complex program. If you need help in general usage of the game you'll find it at the User portal and at the our forum.

If your problem is instead software crashes, you're getting errors, etc..., please consider following the indications in Troubleshooting problems.

Some of the most common issues are however listed below. If you can't solve the problem on your own and need the help of someone, please remember that we're all here for fun, developers included, and that any help is an act of generosity. So try to be nice, even if the problem is frustrating you.

Unable to execute file: bin/Win32/fgrun.exe during installation

This section contains out-of-date information

Please help improve this article by updating it. There may be additional information on the talk page.

Your system is missing the MSVC runtime libraries required by FlightGear. Download and install the following vcredist_x86.exe:

What happened to the panel, keyboard, etc?

The problem is almost certainly that your base package is out of sync with FlightGear. Many configurable parts of FlightGear are defined in XML files contained in the base package.

Why is FlightGear so slow?

If it seems just slow, see if you can fiddle with graphics settings here: Howto: Improve Framerates.

If things are pathologically slow (i.e. ~1 frame per second), maybe 3D hardware acceleration is not activated. Make sure you have OpenGL libraries installed and configured properly and make sure you have the latest drivers for your video card. Also, be ready because some cards are not well supported.

How do I see the Frame Rate?

On the in-sim menu select View > Display Options, then check the box that says "Show frame rate".

How do I toggle 2D cockpit settings?

There are two ways. One way is to hide the panel without the HUD showing. To hide the panel, use Shift+P; To make the HUD disappear, use H. The second way is to use the alternative HUD by Shift+I (Use I to switch back).

Stuck upside down after "crash"?

In his infinite wisdom the FlightGear Grand Master decided that planes were too valuable to allow them to be destroyed by novice pilots who seemed to crash a lot. The fact that nobody has bothered to model crashes may have something to do with it too. :-)

The result of this as you have noticed is that with a little practice an ingenuity you can trim the ship to fly inverted along the ground. The quick answer is to reset the sim, via the File > Reset menu. This will place your aircraft back at its starting location.

For the stubborn people out there: The trick to learn is to roll back to normal (non inverted) do this by nursing the elevator to get to about 500 feet or so and use the ailerons to snap roll 180*. This is all good avionics except for the plane not destroying itself. Remember the controls work in reverse when you are inverted and keep that airspeed up!!!

Why won't the latest versions of some aircraft work in my (older) version of FlightGear?

Often new aircraft development keeps pace with the latest FlightGear code development. New or newly modified aircraft may rely on files (such as new instrument files) or features, only available with newer versions of FlightGear. If you are stuck with an older version of FlightGear, you can try downloading an earlier version of the aircraft from the corresponding official FlightGear aircraft hangar.

When I start FlightGear I see an error mentioning "SQLite". What do I do?

Since FlightGear v2.10 (released in February 2013), the navdata cache was introduced to improve the FlightGear start times. This cache is a SQLite database that is a little fragile at times. If the database is corrupted FlightGear will refuse to start.

To fix this you simply need to delete the $FG_HOME/navdata.cache file. The first time FlightGear starts after deletion of the file the navdata cache will be rebuild. As this process is time consuming, FlightGear will take more time to start.

Some will resort to delete the entire $FG_HOME directory or even reinstall FlightGear. However neither is needed and may cause you to lose any custom preferences you have set up.

My aircraft has grey windows?

The problem of opaque grey/gray windows that cannot be seen through is most often due to a version mismatch between the FlightGear program and the aircraft. Or it could be due to a window effect that is not compatible with the Rembrandt or ALS rendering systems. The technical cause is that the renderer and declared effect for the window are incompatible. Some solutions include:

  • If you are using a stable FlightGear release, please download the aircraft from the official FlightGear hangars matching your FlightGear version.
  • If you are using a cutting-edge nightly build or a version controlled copy of FlightGear, or you wish to use a cutting-edge aircraft, please see FGAddon#Obtaining aircraft.
  • If you are using an aircraft from one of the 3rd party hangars, it is best to contact the original aircraft author or the person in charge of the 3rd party hangar.
  • If you are using Rembrandt, try turning this rendering system off. Aircraft that use model-default.eff for the windows (at the simple expense of doing nothing) rather than model-transparent.eff, model-combined-transparent.eff or glass.eff (which instruct Rembrandt to not use deferred rendering for the glass) will have grey windows when using Rembrandt.

The FAQ

Where can I get the latest version of this FAQ?

http://wiki.flightgear.org/index.php/FAQ

Who do I contact if I have comments about this FAQ?

Add your comment to this FAQ's discussion page.

How old is this document?

Check its history.

What other important documentation should I read?

Contributing

Content Protection

Do other sims offer content encryption or content protection? For instance, I've been able to locate and test a blender plugin that can open up many MSFS aircraft models. How about xplane? It's been a *long* *long* time since I fiddled with their package, but at the time I was paying attention, all their 3d formats were open and well defined. Often the commercial sims will store things in their own binary formats, but in most cases these aren't encrypted and the end users figure these out pretty quickly -- so they can either edit the content or create new content with the same format. I wouldn't consider a binary format much of a content protection scheme ... especially in an open source project where the source to load and store the binary format is readily available. I understand the desire for content creators to not get "ripped off". But also understand that one of the main reasons that FlightGear can be successful is because we make all the source code and content open. If we didn't make everything open, then we wouldn't get nearly the same amount of volunteer contributions and high quality volunteer contributions is the critical reason why FlightGear has been so successful. If we were a closed off commercial outfit, who would want to pitch in and help someone else make money? But with everything open, you know that your contributions can be enjoyed equally by everyone else, just as much as you are enjoying everyone else's contributions. There are some low-lifes out there that try to make a profit on other people's work, and will gladly lie and misrepresent things to swindle as much money as possible from unsuspecting end users. But the truth is that these people have always existed, and will always exist. They are remarkably good and persistent at copying things ... going so far as to break copy protection schemes, reverse engineer hardware designs, copy the exact look of products (even including the logo.) This isn't a problem that is unique to the FlightGear project -- and it's something we would still face no matter how hard we worked to create copy protection schemes. If you designed a binary content format, someone will reverse engineer it. If you design an encryption scheme, someone will just modify the sim code to dump out the decrypted version after it's been loaded into memory by the proprietary decrypting plugin. (If not outright break the encryption scheme or steal your encryption keys.) In all these case, the content can still be easily copied, replicated, sold, etc. The best scheme I've seen is something that has a node-lock key that will only run on a single PC (key'd to mac address, or processor id.) But this implies a more complicated 2 step install where the user must come back to you after installing the product, report their unique id, get a key, and then install that key before they are able to run. And the problem with all of this is that in an open source project, someone could simply compile a new version of the simulator that skips the key check or accepts a trivial key, or any key. I'm just thinking down various avenues here, but hopefully you can see that what seems like a simple request at first is actually quite complex and creates all kinds of down stream issues (both technically and with user support.) And at the end of the day, the bad guys can usually find work arounds anyway and aren't slowed down too much. When farmers grow crops, they have to put up with weeds. We can try reasonable things to minimie the weeds, but if you are too aggressive at killing the weeds and don't tolerate a single one, then you most likely end up killing much of your crop too. So it's my view that this is something we just have to put up with. We can try to take reasonable steps to minimize the problem, but we can't eliminate all the bad guys without harming all the good things about our project.[1]


Once you have distributed source code under the GPL you explicitely declared that it's everyones right to redistribute and modify it - as long as he/she doesn't distribute it under a different license But you, as the copyright holder, can change the license for new versions you haven't yet distributed under the GPL - as long as those modifications weren't made by others, i.e., as long as you are still the sole copyright holder (or you'd have to come to an agreement with the other contributors, but you can only ask nicely). You, as the sole copyright holder, also can distribute it under several licenses at once, e.g. the GPL and some propiratory li- cense (making it worth the money people may pay for it by faster bug fixes, only distributed to the paying customers etc.).[2]


Another thing to consider is that distributing your aircraft as a .dll or .so doesn't hide or obfuscate your code and textures after they have been loaded into the simulator structures for rendering. The rest of FlightGear is open-source so it wouldn't take much effort to insert an OSG function call to save out the aircraft (models and textures) in some other common 3d format. There would be some loss in terms of the organiation of the source files, but even so, it would give someone who's intention is to copy or modify the work a place to start. All the xml config should be there for free in the property tree. The licensing of nasal (I believe) is written in a way that makes it difficult to distribute proprietary nasal code. So there would be some really significant challenges to making a FlightGear aircraft that is secure from modification, not to mention copying.[3]