Thursday, October 05, 2006

HOWTO: Use Command-Line Options in X-Plane

Normally you just double-click X-Plane to launch the sim. But X-Plane 850 has some hidden command-line options. We provide these for in-field debugging; if you hit a problem such as a bad video driver you can trigger special options within the sim that aren't exposed in the settings dialog boxes.

Macintosh Users:

To run X-Plane using command-line arguments, you must launch X-Plane using terminal.
  1. Open the utility "Terminal"; it can be found in the Utilities folder (within the Applications folder). Terminal gives you a command-prompt.
  2. Drag your X-Plane application into the terminal window. The command line will list the names of all of the folders leading to your copy of X-Plane using / for directories. All spaces will be preceded by \ characters.
  3. Delete the extra space at the end and add the following to the command-line:
    Contents/MacOS/X-Plane
  4. After the word X-Plane you can include command-line options.
Here is an example from my Mac:
/Volumes/GIS/X-Plane\ 8.50\ RC-3/X-Plane\ 850\ RC-3.app/Contents/MacOS/X-Plane --no_sprites
This would launch X-Plane 850 RC-3 (in the X-Plane 850 folder of my hard drive "GIS") using the --no_sprites option.

Windows Users:

To Lauch X-Plane from a DOS prompt you will have to...
  1. Pick "Run..." from the Start menu. Type cmd (3 letters) for the name of the program and press return. This will open up a DOS prompt.
  2. Type cd and a space and then drag your X-Plane folder into the DOS prompt window (the full path of the file will be typed). Press return. This will move your command prompt to the X-Plane directory.
  3. Drag the X-Plane application into the DOS prompt window. You will see its full name in quotes including the hard disk and directories separated by back-slashes.
  4. You can then add any additional command-line options.
An example from Windows:
"X-Plane 850 RC-3.exe" --fps_test=1
(It is necessary to change directories on Windows to make sure that Log.txt and other files are put in the right place. On Mac these files always end up in the X-System directory.)

Linux Users:

X-Plane can be launched like any other command-line tool; you may need to prefix it with ./ if you don't have the current working directory in your search paths. For example:
cd /home/bsupnik/X-Plane\ 8.50\ RC-3/
LD_PRELOAD=/usr/lib/libalut.so ./X-Plane-i586 --fps_test=1 --require_fps=20
On my distribution (Ubuntu with GNOME, stop your snickering!) it is not possible to simply drag the application into a terminal because the spaces in the file paths will not be properly escaped.

Command Line Options

Generally X-Plane command line options have full names and two dashes. Some require parameters, as in =1. Order does not matter and you can use as many options as you want. Some examples (simplifying the application name, which varies by version and OS):
X-Plane --no_sprites
X-Plane --fps_test=2 --no_pixel_counters
Rather than document the options here, use the --help option to list all command-line options in the current version of X-Plane.

Some Typical Examples

A number of drivers crash when X-Plane uses VBOs, particularly on Linux. If you can run every application except X-Plane itself, you may want to try:
X-Plane --no_vbos
Some drivers cause texture corruption when hardware-accelerated runway lights are used; you can work around this with:
X-Plane --no_sprites
EDIT: the Windows version won't show the --help string in the DOS window by default, but StormRunner pointed out to me that you can do this:
"X-Plane.exe" --help | more
which routes the output to the DOS window.

3 comments:

Anonymous said...

Tried simply piping the output to a text file, but nothing was saved.

What method do you use to dump the text to the DOS prompt?

Benjamin Supnik said...

I used printf, assuming (incorrectly) that it would go to the spawning process for printing. But it just goes in the bitbucket. Any idea how I can get access to the parent console?

Anonymous said...

Pipe the output like this:
"X-Plane 860.exe" --help | more