Fgfsrc

From FlightGear wiki
Jump to: navigation, search

Like all rc-files, the fgfsrcs purpose is to contain Command Line Options which are read by fgfs at startup. This is for users who start FlightGear from the command line, so users using a graphical user interface like fgrun don't have to bother with this at all. Anyhow, it is possible to use fgrun to create your personal set of options by copy-and-pasting them from the Show command line textbox (on the last page of FGRun) into fgfsrc.

It is very likely that this file does not exist on your system yet, and therefore has to be created by the user, you. The contents of the file are handled the same way by fgfs on all operating systems, but the name and location is not:

  • on GNU/Linux the file is called .fgfsrc (note the leading dot!). fgfs is looking for it inside the user's $HOME directory. To figure out where this is on your system, open a terminal window (shell) and enter cd $HOME.
  • On Mac OS X, the same as GNU/Linux. A Terminal window is placed on /Applications/Utilities/Terminal.app
  • on Windows systems the file is called fgfsrc and lives in $FG_HOME which, on a standard installation for FlightGear 3.0 and later, with Vista and later it can be found under C:\Users\{username}\AppData\Roaming\flightgear.org.


A simple way to have more than one setup is to replace fgfsrc by a link which can be changed according to the setup one wants to load. On a GNU/Linux system this could look like

ls -l ~/.fgfsrc*
... /home/user/.fgfsrc -> .fgfsrc.cvs
... /home/user/.fgfsrc.1.9.1
... /home/user/.fgfsrc.cvs


Some 'rules' for the file and it's content:
  • The file is plain text (ASCII), like saving a .txt-file with Wordpad.
  • Each line contains one option only.
  • If the first 'visible' character is a '#', fgfs totally ignores the line (comment).
  • Use comments following an option (--some-option # some comment) with care. At least with string containing--prop= options this will cause fgfs to fail.
  • Variables, such as $HOME or $FG_HOME, in paths are not resolved.


An example of a basic fgfsrc file:

Have in mind, that *at least* the local paths (like fg-root and fg-scenery) and the Multiplayer options have to be altered to work on your system!

# $HOME/.fgfsrc
 
 
### Aircraft
#
--aircraft=ec135
 ## Catalina, dhc3[A/F], p47d-30, F1-156-de, ZivkoEdge540 
 ## MPcarrier: nimitz, nimitz-ATC, nimitz_observer, foch, vinson, eisenhower
 
 
### Initial position
#
--airport=LOWI
#--runway=08L
#--parkpos=A11
#
# In air:
#--offset-distance=1.5
#--altitude=6000
#--vc=70
#--enable-freeze
#
# Coordinates:
 ## Oilrig Lennox:
#--lon=-3.17547
#--lat=53.63305
#--altitude=205
 
 
### Environment
#
--timeofday=noon
#--enable-real-weather-fetch
--enable-horizon-effect
--enable-specular-highlight
--enable-ai-models
--enable-clouds3d
--shading-flat
--fog-nicest
--enable-random-objects
--prop:/sim/rendering/random-vegetation=true
 ## limit fps to 30:
--prop:/sim/frame-rate-throttle-hz=30
 ## rain/snow:
--prop:/sim/rendering/precipitation-enable=true
--ai-scenario=nimitz_demo
--ai-scenario=clemenceau_demo
#--ai-scenario=aircraft_demo
 
### Network
#
--callsign=I-FLY
#--prop:/sim/remote/pilot-callsign=U-FLY
--multiplay=out,10,mpserverXX.flightgear.org,5000
#--multiplay=in,10,localhost,5000
--httpd=5500
 ## nice terrasync -p 5505 -S -d /opt/fgfs/scenery.terrasync :
--atlas=socket,out,1,localhost,5505,udp 
 ## fgcom -Sfgcom.flightgear.org.uk [-f910] :
--generic=socket,out,10,localhost,16661,udp,fgcom
 
 
### System
#
#--log-level=info
 ## alert,warn,info,debug
--fg-root=/opt/fgfs/data
--fg-scenery=/opt/fgfs/data/Scenery:/opt/fgfs/scenery.1.0.1:/opt/fgfs/scenery.terrasync
--geometry=1280x1024
--bpp=24
--control=joystick
--prop:/sim/traffic-manager/enabled=0
 ## disable mouse mode 'fly':
--prop:/input/mice/mouse/mode/button[2]/binding/value=2


Some options (mostly properties) are only temporary of interest to the 'normal' user or even only for Git users:

  • --prop:/sim/traffic-manager/use-custom-scenery-data=true
    See forum and mailing list for more info on this.
  • --random-wind # not in 1.9.1 and former versions
    Nice turbulences during approaches ;-). Attention: with Git version (and probably 2.4.0 as well) this option can only be used together with option --disable-real-weather-fetch!


An example of a debug fgfsrc file:

for debugging purposes, like when using gdb, it might be easier for you to arrange a .fgfsrc with minimal options enabled. see Troubleshooting_crashes for further info, a template for a debug fgfsrc file would be:

--fg-root=
--ignore-autosave
--airport=ksfo
--offset-distance=4000
--offset-azimuth=90
--altitude=500
--heading=0
--model-hz=60
--disable-random-objects
--prop:/sim/rendering/texture-compression=off
--prop:/sim/rendering/quality-level=0
--prop:/sim/rendering/shaders/quality-level=0
--disable-ai-traffic
--prop:/sim/ai/enabled=0
--aircraft=ufo
--disable-sound
--prop:/sim/rendering/random-vegetation=0
--prop:/sim/rendering/random-buildings=0
--disable-specular-highlight
--disable-ai-models
--timeofday=noon
--disable-clouds
--disable-clouds3d
--fog-fastest
--visibility=5000
--disable-distance-attenuation
--disable-enhanced-lighting
--disable-real-weather-fetch
--prop:/sim/rendering/particles=0
--prop:/sim/rendering/multi-sample-buffers=0
--prop:/sim/rendering/multi-samples=1
--prop:/sim/sceneryloaded-override=1
--prop:/sim/rendering/draw-mask/aircraft=0
--prop:/sim/rendering/draw-mask/models=0
--prop:/sim/rendering/draw-mask/clouds=0
--prop:/sim/rendering/draw-mask/terrain=0

note: you have to direct --fg-root towards your $FGDATA folder



Please feel free to add other useful options to the temporary and basic ones!!!

Also see