<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JLP</id>
	<title>FreeSpace Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JLP"/>
	<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php/Special:Contributions/JLP"/>
	<updated>2026-11-15T11:10:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Guide_to_FS_Open_on_Linux&amp;diff=9477</id>
		<title>Guide to FS Open on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Guide_to_FS_Open_on_Linux&amp;diff=9477"/>
		<updated>2007-04-30T06:19:29Z</updated>

		<summary type="html">&lt;p&gt;JLP: /* Installing the necessary development libraries */ Added Mandriva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This tutorial assumes some fundamental command line knowledge.&amp;lt;BR&amp;gt;&#039;&#039;&lt;br /&gt;
&#039;&#039;As a rule of thumb, do not copy/paste commands without understanding them, especially as root. With great power comes great responsibility.&#039;&#039;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This page will guide you through compilation and installation of FS2_open, using the CVS code, along with the data files.&lt;br /&gt;
Please note that if you don&#039;t manage to build the CVS (or don&#039;t want to), binaries will be found on this thread (no 3.6.9 linux binary yet as of this writing, but they should arrive soon). You&#039;ll need probably need to read on anyway (how to get data files, starting the games, dealing with i18n issues...), but ignore what&#039;s related to building your own binary.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to use CVS, but can&#039;t find a suitable binary, you can download an almost current (3.6.9-RC8) source release here :&lt;br /&gt;
http://fs2source.warpcore.org/exes/linux/fs2_open-3.6.9-RC8.tar.bz2 &lt;br /&gt;
&lt;br /&gt;
Also, Turey wrote a cross-platform installer (in java), which is able to download all you need for running FS2_Open except the binary (retail files, MediaVP, movies...). It can be found here : [[http://www.hard-light.net/forums/index.php/topic,42854.0.html Freespace Open Installer]]. It&#039;s far more easier than extracting the data files from the retail CDs (see below).&lt;br /&gt;
// &#039;&#039;Linux binaries will be put into the Installer once taylor posts linux binaries 3.6.9 Final&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is even work in progress on a linux launcher that you may want to try : [[http://www.hard-light.net/forums/index.php/topic,44204.0.html Linux launcher]] (this is different from the upcoming new launcher which will be used in 3.7 fs2_open release) // &#039;&#039;The links in the thread are currently dead, but let&#039;s hope that will be resolved soon.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing CVS ==&lt;br /&gt;
CVS stands for Concurrent Versions System and is a version control system used to record the changes in documents, such as source files. Developers use CVS so they can easily share their code changes among other developers. &lt;br /&gt;
Be aware that when you use CVS, you use the most up-to-date code : It may or may not be better than a release. It may be worse, less stable, or not even compile. This is work in progress.&lt;br /&gt;
&lt;br /&gt;
You will need this tool to download (&amp;quot;checkout&amp;quot; in CVS terminology) fs2_open from the CVS server. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ apt-get install cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ emerge -a cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novell SuSE&#039;&#039;&#039; users install CVS via YaST.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archlinux&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ pacman -Sy cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fedora Core 6 (Zod)&#039;&#039;&#039; (And most likely Redhat) users want to:&lt;br /&gt;
 # yum install cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandriva&#039;&#039;&#039; users want to:&lt;br /&gt;
 # urpmi cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Redhat, Slackware and all the other distros should go here too,&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;but we have no knowledge on how these work, so if you do, please enlighten us.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing the necessary development libraries ==&lt;br /&gt;
You will also need SDL, OpenAL, libvorbis, libtheora and OpenGL(most likely provided with your video card driver) development packages. And of course the GCC compiler and required make tools.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ apt-get install libopenal-dev libvorbis-dev build-essential automake1.9 autoconf libsdl-dev libtheora-dev&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The &#039;&#039;build-essential&#039;&#039; meta package installs GCC4. This should work, but if you feel safer with GCC 3.4(gcc-3.4), add it to the apt-get line above.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fedora Core 6 (Zod)&#039;&#039;&#039; users (and most likely Redhat users too) want to:&lt;br /&gt;
 # yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ emerge -a openal libvorbis libsdl libtheora&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note : on other distributions, you&#039;ll need theora as well, so the information for Archlinux and SuSe below is outdated. if someone knows the exact package name, please edit !&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novell SuSE&#039;&#039;&#039; users just install the mentioned packages and the devel-packages via YaST. If this works don&#039;t read further.&lt;br /&gt;
SuSE maybe has some dependency problems with the game TORCS, i.e. its special version of OpenAL, so you have to make a choice. If you still want to run FS2 open, go on here http://www.hard-light.net/wiki/index.php/Fs2_open_on_Linux#Compile_Errors&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archlinux&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ pacman -S freealut libvorbis sdl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandriva&#039;&#039;&#039; users want to:&lt;br /&gt;
 urpmi libsdl-devel libopenal-devel libvorbis-devel libtheora-devel gcc gcc-c++ automake autoconf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Redhat, Slackware and all the other distros should go here too,&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;but we have no knowlage on how these work, so if you do, please enlighten us.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing game data files ==&lt;br /&gt;
&lt;br /&gt;
This tutorial deals primarily with providing you with an executable, but in order to play the game you also need the game data.  Freespace 2 game data is available from a number of sources, see this thread: http://www.hard-light.net/forums/index.php/topic,38195.0.html (or use Turey&#039;s installer, see above for a link)&lt;br /&gt;
&lt;br /&gt;
Note that if you use the retail CD, you&#039;ll need to extract the files and to copy them on your drive, reproducing the same layout as in a working win32 installation (just make sure every file is lowercase). This thread on the SCP forum has some more info on it : http://scp.indiegames.us/forum_viewtopic.php?3.282&lt;br /&gt;
&lt;br /&gt;
There are two ways of doing this :&lt;br /&gt;
* use wine to install the game in the right directory, using the Setup.exe found on the first CD, or&lt;br /&gt;
* extract manually the files from the cd. &lt;br /&gt;
&lt;br /&gt;
The second method is detailed below. The wine one is straightforward and you shouldn&#039;t need any specific instruction, but you&#039;ll have to fix permissions and lowercase the filename as well, so keep reading.&lt;br /&gt;
&lt;br /&gt;
===Extracting data from CD===&lt;br /&gt;
====Installing unshield====&lt;br /&gt;
&lt;br /&gt;
First, you need unshield from http://synce.sourceforge.net/synce/unshield.php&lt;br /&gt;
&lt;br /&gt;
If you use debian, apt-get install unshield as root should do the trick. Else, try to find a package for your distribution, or if you don&#039;t, compile it yourself following the instructions provided on the website. Note you don&#039;t need to actually install it, just compile it and use it from the directory where you compiled it.&lt;br /&gt;
&lt;br /&gt;
====Preparing directories====&lt;br /&gt;
&lt;br /&gt;
* Create a directory for fs2_open, say, &#039;&#039;/usr/local/games/fs2_open&#039;&#039;, with a &#039;&#039;data/movies&#039;&#039; and &#039;&#039;data/players&#039;&#039; subdirectories. Everything but user files and configuration will be in this directory. You&#039;ll probably need to be root or use sudo for most of the following commands if you use a global directory like the one in this example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Warning : Again, please double check the commands you run as root. A single typo could destroy your data. &#039;Remember what is said on the top of the page ? if not, go re-read it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ mkdir -p /usr/local/games/fs2_open/data/movies /usr/local/games/fs2_open/data/players&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Extracting files====&lt;br /&gt;
&lt;br /&gt;
* Use unshield to extract the groups from data1.cab (on the first cd) to a temporary directory; then move the files in your game directory :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ mkdir /tmp/fs2&lt;br /&gt;
 ~ $ for group in &amp;quot;Basic Install Files&amp;quot; &amp;quot;Intel Anims&amp;quot; &amp;quot;Music Compressed&amp;quot; &amp;quot;High Res Files&amp;quot;; do unshield -d /tmp/fs2/ -g &amp;quot;$group&amp;quot; -L -j x /mnt/cdrom/data1.cab; done; mv -v /tmp/fs2/*/* /home/data/jeux/fs2_open&lt;br /&gt;
 ~ $ unshield -d /tmp/fs2/ -g &amp;quot;Hud Config Files&amp;quot; -L -j x /mnt/cdrom/data1.cab &amp;amp;&amp;amp; mv -v /tmp/fs2/hud_config_files/* /usr/local/games/fs2_open/data/players&amp;lt;/tt&amp;gt;&lt;br /&gt;
* From &#039;&#039;&#039;both&#039;&#039;&#039; the second and third CDs, get the vp files and the movies files (I don&#039;t think the the .mve file are really needed; you&#039;ll need the .avi ones if you want the movies).&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ cp -vf *.vp /usr/local/games/fs2_open&lt;br /&gt;
 ~ $ cp -vf *.MVE /usr/local/games/fs2_open/data/movies/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may notice that some files are on all three CD; this is because the game was meant to be run with the CD in the drive. Don&#039;t worry, a copy of such a file from any of the 3 CDs will work.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Case and permissions ===&lt;br /&gt;
* You &#039;&#039;&#039;have&#039;&#039;&#039; to make sure everything is lowercase :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ for file in `find /usr/local/games/fs2_open/`; do mv $file `echo $file | sed &#039;s/\([A-Z]\)/\l\1/g&#039;`; done&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Then, fix permissions :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ find /usr/local/games/fs2_open -type d -exec chmod a+rx &#039;{}&#039; \;&lt;br /&gt;
 ~ $ find /usr/local/games/fs2_open -type f -exec chmod a+r &#039;{}&#039; \;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the source ==&lt;br /&gt;
&lt;br /&gt;
=== CVS Checkout ===&lt;br /&gt;
Before you begin, make sure you have write permissions on your current working directory. Your /home/user/ directory is a pretty sure bet. I recommend that you create a permanent /home/user/src directory from which you run the CVS command, this way CVS will only update the files changed the next time you download the source and it&#039;s always nice to have things organized.&lt;br /&gt;
&lt;br /&gt;
Now get the source. Run from a terminal:&lt;br /&gt;
 $ cvs -d:pserver:anonymous:anonymous@warpcore.org:/home/fs2source/cvsroot login&lt;br /&gt;
and then&lt;br /&gt;
 $ cvs -z3 -d:pserver:anonymous@warpcore.org:/home/fs2source/cvsroot co fs2_open&lt;br /&gt;
The first cvs command tells the CVS tool to first use a password file for authentication (pserver), that you are user &amp;quot;anonymous&amp;quot; with the password &amp;quot;anonymous&amp;quot; who wants to access warpcore.org&#039;s CVS repository &amp;quot;/home/fs2source/cvsroot&amp;quot; and login. The second command tells the CVS server on which we are now connected to that we want to checkout (co) the fs2_open module.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Simple Checkout Script ====&lt;br /&gt;
You can use this script to simplify your checkouts, don&#039;t forget to chmod +x it.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 CVS=&amp;quot;cvs -d:pserver:anonymous:anonymous@warpcore.org:/home/fs2source/cvsroot&amp;quot;&lt;br /&gt;
 MODULE=&amp;quot;fs2_open&amp;quot;&lt;br /&gt;
 BRANCH=&amp;quot;fs2_open_3_6_9&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ${CVS} co -d ${BRANCH} -r ${BRANCH} ${MODULE}&lt;br /&gt;
&lt;br /&gt;
=== Pre-Compile Configuration ===&lt;br /&gt;
&lt;br /&gt;
Before you compile you need to configure it for your system. In the directory you ran the CVS command from, a new directory has appear, namely fs2_open.&lt;br /&gt;
If your fs2_open is a completely new checkout, you will first need to run the autogen.sh script.&lt;br /&gt;
Run from inside your newly created fs2_open directory:&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
autogen.sh is a script that will generate the required makefiles. You will see alot of &amp;quot;checking for this&amp;quot; and &amp;quot;checking for that&amp;quot;, this is actually the &amp;quot;configure&amp;quot; script (which can be run with &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; if you need to change the options) examining and configuring fs2_open for your system.&amp;lt;br&amp;gt;&lt;br /&gt;
It is possible to give autogen.sh configure options as well, autogen.sh will pass them along to configure.&lt;br /&gt;
&lt;br /&gt;
A full list of configure options can be found by running the configure script with the &#039;--help&#039; option.&lt;br /&gt;
 $ ./configure --help&lt;br /&gt;
&lt;br /&gt;
==== Optimizing fs2_open ====&lt;br /&gt;
Optimizing fs2_open might have little or no effect, or improve performance greatly, I honestly have no clue.&amp;lt;br&amp;gt;&lt;br /&gt;
A note of caution, if you are compiling a debug build, don&#039;t use the -fomit-frame-pointer CFLAG, it will make debugging impossible.&amp;lt;br&amp;gt;&lt;br /&gt;
You can specify your compiler flags with the configure script, se below.&lt;br /&gt;
 $ ./configure CFLAGS=&amp;quot;&amp;lt;your desired flags&amp;gt;&amp;quot;&lt;br /&gt;
If you got a Athlon-XP and want to play it safe, a good set of CFLAGS would be&lt;br /&gt;
 $ ./configure CFLAGS=&amp;quot;-march=athlon-xp -O3 -pipe -fomit-frame-pointer&amp;quot;&lt;br /&gt;
You should read up on CFLAGS and what they do before trying anything. I recommend you read through these links.&amp;lt;br&amp;gt;&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/Optimize-Options.html&amp;lt;br&amp;gt;&lt;br /&gt;
http://linuxreviews.org/howtos/compiling/safe-cflags/&amp;lt;br&amp;gt;&lt;br /&gt;
http://en.wikipedia.org/wiki/CFLAGS&lt;br /&gt;
&lt;br /&gt;
=== Compiling ===&lt;br /&gt;
&lt;br /&gt;
Run from within your fs2_open directory:&lt;br /&gt;
 $ make&lt;br /&gt;
Sit back and enjoy gcc work its magic.&lt;br /&gt;
&lt;br /&gt;
==== Simple Compile Script ====&lt;br /&gt;
It&#039;s a lot easier to use a scripts when dealing with constantly changing code. Copy and save this to a suitably named file like &amp;quot;compile-fs2_open&amp;quot;, and make it executable with the command, chmod +x &amp;lt;name of file&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 CFLAGS=&amp;quot;-march=athlon-xp -O2 -pipe&amp;quot;&lt;br /&gt;
 CFLAGS=&amp;quot;${CFLAGS} -fomit-frame-pointer -falign-functions=64&amp;quot;&lt;br /&gt;
 CXXFLAGS=&amp;quot;${CFLAGS} -fvisibility-inlines-hidden&amp;quot;&lt;br /&gt;
 LDFLAGS=&amp;quot;-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -s&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -e ./${*} ]; then&lt;br /&gt;
         cd ${*}&lt;br /&gt;
         if [ -e ./Makefile.in ]; then&lt;br /&gt;
                 make clean&lt;br /&gt;
                 ./configure CFLAGS=&amp;quot;${CFLAGS}&amp;quot; CXXFLAGS=&amp;quot;${CXXFLAGS}&amp;quot; LDFLAGS=&amp;quot;${LDFLAGS}&amp;quot;&lt;br /&gt;
                 make&lt;br /&gt;
                 else&lt;br /&gt;
                 ./autogen.sh CFLAGS=&amp;quot;${CFLAGS}&amp;quot; CXXFLAGS=&amp;quot;${CXXFLAGS}&amp;quot; LDFLAGS=&amp;quot;${LDFLAGS}&amp;quot;&lt;br /&gt;
                 make&lt;br /&gt;
         fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can add your options to the ./configure line. You need to give the script the fs2_open source directory, like this:&lt;br /&gt;
 $ ./compile-fs2_open fs2_open&lt;br /&gt;
This makes it easier to deal with multiple source directories.&lt;br /&gt;
&lt;br /&gt;
== Using the Binaries ==&lt;br /&gt;
&lt;br /&gt;
When the compile is done and if all went well, a binary executable will reside in the code directory &#039;&#039;fs2_open_r&#039;&#039; or &#039;&#039;fs2_open_d&#039;&#039; if you configured for a debug build. Copy the binary to directory where Freespace2 is installed, and you&#039;re all set to go.&lt;br /&gt;
&lt;br /&gt;
=== Post-Compile Configuration ===&lt;br /&gt;
====  Changing Your Resolution ====&lt;br /&gt;
Odds are, you&#039;ll want to run fs2_open in a higher resolution than the default 640x480.  Unfortunately, we Linux users don&#039;t have the swank launcher app that the Windows folks do.  Instead, we&#039;ll be making a couple line changes to a config file.  You will need to run fs2_open once before you can make the necessary changes, otherwise you won&#039;t have a configuration directory to work with.&lt;br /&gt;
&lt;br /&gt;
Open up ~/.fs2_open/fs2_open.ini with the text editor of your choice (vi, EMACS, kwrite, gedit).  You&#039;ll see something like the following:&lt;br /&gt;
 [Default]&lt;br /&gt;
 VideocardFs2open=OGL -(640x480)x16 bit&lt;br /&gt;
 LastPlayer=MonkeyboyS&lt;br /&gt;
 GammaD3D=1.0&lt;br /&gt;
&lt;br /&gt;
To set fs2_open to use the highest setting possible on retail Freespace 2, change the VideocardFs2open to:&lt;br /&gt;
 VideocardFs2open=OGL -(1024x768)x32 bit&lt;br /&gt;
You can set this to pretty much anything you want.&lt;br /&gt;
&lt;br /&gt;
=== Creating a Start Up Script ===&lt;br /&gt;
&lt;br /&gt;
In order to use all of the advanced engine features of fs2_open, you&#039;ll need to start the executable with a number of command line arguments.  Instead of typing them in every time you want to start the game, why not create a script that does it for you?&lt;br /&gt;
&lt;br /&gt;
Create a new file named start_freespace (or whatever you like) in your home directory. Open the file in your editor of choice, and paste the following:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /path/to/your/freespace/&lt;br /&gt;
 ./fs2_open_r -spec -glow -mipmap -jpgtga -orbradar -mod Media_VP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:  You will need to edit this script before it will work properly.  The second line must point to the directory where you installed fs2_open. You can also find a more elaborated script example below in the i18n section&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last line starts fs2_open with a number of arguments that turn on extra features.  In the example, the game will use specular highlights, glow-mapping, mipmapping, jpg and tga graphic files, the orb radar, and any MediaVPs installed to the /Media_VP directory.  You should edit this line to use those features that your system supports.&lt;br /&gt;
&lt;br /&gt;
More information about the available Command Line Arguments can be found at the [[Command-Line Reference]]&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve edited the file to your heart&#039;s content, make it executable:&lt;br /&gt;
 $ chmod +x start_freespace&lt;br /&gt;
&lt;br /&gt;
You can now type in start_freespace to start the game, or by clicking on start_freespace in your window manager.  For convenience, you can copy it to your Desktop.&lt;br /&gt;
&lt;br /&gt;
[http://www.hard-light.net/wiki/index.php/Command-Line_Reference See this] for more command line options.&lt;br /&gt;
&lt;br /&gt;
==== Advanced Startup Script ====&lt;br /&gt;
This is nothing fancy, but it&#039;s all the command line options in a file.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #  Graphics&lt;br /&gt;
 CMDLINE=&amp;quot;-spec -env -glow -jpgtga -mipmap -2d_poof -missile_lighting&amp;quot;&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -ambient_factor 75 -spec_exp 11 -spec_point 0.6&amp;quot;&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -spec_static 0.8 -spec_tube 0.4&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -pcx32 -cell -nomotiondebris -noscalevid -rlm -clipdist&amp;quot;&lt;br /&gt;
 #  Game Speed&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -cache_bitmaps&amp;quot;&lt;br /&gt;
 #CMDLINE=$CMDLINE -img2dds -no_vsync&amp;quot;&lt;br /&gt;
 #  HUD&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -targetinfo -orbradar -ballistic_gauge -rearm_timer&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -dualscanlines&amp;quot;&lt;br /&gt;
 #  Gameplay&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -ship_choice_3d -3dwarp -warp_flash -fov 0.39&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -UseNewAI -tbp -wcsaga&amp;quot;&lt;br /&gt;
 #  Audio&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -snd_preload&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -nosound -nomusic&amp;quot;&lt;br /&gt;
 #  Multiplayer&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -standalone -startgame -closed -restricted&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -multilog -clientdamage -mpnoreturn&amp;quot;&lt;br /&gt;
 #  Troubleshooting&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -oldfire -nohtl -no_set_gamma -nomovies -noparseerrors&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -safeloading -query_speech -d3d_bad_tsys -novbo -noibx -loadallweps&amp;quot;&lt;br /&gt;
 #  Experimental&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -alpha_env&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -decals -ingame_join&amp;quot;&lt;br /&gt;
 #  Development Tools&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -fps&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -pos -window -timerbar -coords -pofspew -tablecrcs -missioncrcs&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -dis_collisions -dis_weapons -output_sexps&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -output_scripting -nograb -show_mem_usage -stats&amp;quot;&lt;br /&gt;
 #  Mod&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -mod mv368zeta&amp;quot;&lt;br /&gt;
 ./fs2_open_r $CMDLINE&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
=== Compile Errors ===&lt;br /&gt;
==== Novell SuSE and the dependencies ====&lt;br /&gt;
&lt;br /&gt;
If your SuSE gives you some errors like this, during the compile process, your OpenAL version is too old or corrupted.&lt;br /&gt;
 sound/ds.cpp: In function &#039;int ds_init(int, int, unsigned int, short unsigned int)&#039;:&lt;br /&gt;
 sound/ds.cpp:1790: error: invalid conversion from &#039;const char*&#039; to &#039;const ALubyte*&#039;&lt;br /&gt;
 sound/ds.cpp:1790: error:   initializing argument 1 of &#039;ALboolean alIsExtensionPresent(const ALubyte*)&#039;&lt;br /&gt;
You have to remove all OpenAL-packages via YaST, you may also want to remove TORCS, too, it won&#039;t run anymore after this.&lt;br /&gt;
Unfortunately there is no repository with a newer version for this distro, yet, so you have to use a source-package for Fedora. You get it here http://download.fedora.redhat.com/pub/fedora/linux/extras/5/SRPMS/openal-0.0.9-0.6.20060204cvs.fc5.src.rpm&lt;br /&gt;
The version may change, so you better check this.&lt;br /&gt;
Now make sure, that TexInfo is installed. Then enter:&lt;br /&gt;
 $ rpmbuild --rebuild --target=i686 &amp;lt;name-of-your-package&amp;gt;.fc5.src.rpm&lt;br /&gt;
If it builds without errors, you will find an OpenAL*.rpm and an OpenAL*-devel.rpm in &amp;lt;tt&amp;gt;/usr/src/packages/RPMS/i686/&amp;lt;/tt&amp;gt;. Install both and go back to your fs_open directory again. Cause the environment has changed now, you better type:&lt;br /&gt;
 $ make clean&lt;br /&gt;
 $ ./configure [options]&lt;br /&gt;
 $ make&lt;br /&gt;
Then you&#039;re done.&lt;br /&gt;
&lt;br /&gt;
==== SDL: undefined reference to... ====&lt;br /&gt;
&lt;br /&gt;
This is a SDL installing issue, since it&#039;s trying to link against the static lib and not the dynamic one.&lt;br /&gt;
First check where &amp;lt;tt&amp;gt;/usr/lib/libSDL.so&amp;lt;/tt&amp;gt; is linked to, then search this very file.&lt;br /&gt;
 $ ls -l /usr/lib/libSDL.so&lt;br /&gt;
 lrwxrwxrwx  1 root root 28 2006-09-06 00:10 /usr/lib/libSDL.so -&amp;gt; /usr/lib/libSDL-1.2.so.0.7.1&lt;br /&gt;
 $ ls /usr/lib/ | grep libSDL-1.2.so.0.7&lt;br /&gt;
 libSDL-1.2.so.0.7.2&lt;br /&gt;
If they are not the same (like in this case), you just make a new link. Type as root:&lt;br /&gt;
 # ln -s /usr/lib/libSDL-1.2.so.0.7.2 /usr/lib/libSDL.so&lt;br /&gt;
Of course you must change some figures, so it matches on your system.&lt;br /&gt;
&lt;br /&gt;
==== Missing -lGLU compile error ====&lt;br /&gt;
&lt;br /&gt;
On some Linux distributions (&#039;&#039;Slackware&#039;&#039; for instance), compiling fails because a GL related library doesn&#039;t have a link in the &amp;lt;tt&amp;gt;/usr/lib&amp;lt;/tt&amp;gt; directory.  If the compile fails because it can&#039;t find &amp;lt;tt&amp;gt;-lGLU&amp;lt;/tt&amp;gt;, here are two ways to fix it:&lt;br /&gt;
&lt;br /&gt;
===== Solution as Root =====&lt;br /&gt;
&lt;br /&gt;
If you have root access to the system, you can create a link to the library in question with just a little bit of command line magic.  Go to a console and enter:&lt;br /&gt;
&lt;br /&gt;
 $ ln -s /usr/X11R6/lib/libGLU.so /usr/lib/libGLU.so&lt;br /&gt;
&lt;br /&gt;
After that, you can run make again and it should finish compiling.&lt;br /&gt;
&lt;br /&gt;
===== Solution as a Non-Root user =====&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have root access?  Never fear, we can still fix the problem.  It&#039;ll just be a tad more difficult.&lt;br /&gt;
&lt;br /&gt;
Navigate to the &amp;lt;tt&amp;gt;fs2_open/code&amp;lt;/tt&amp;gt; directory and locate a file named &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; (not Makefile.rm or Makefile.in or Makefile.anything).  Open it in your favorite text editor and make the following changes.&lt;br /&gt;
&lt;br /&gt;
Find this line (line 457 in mine):&lt;br /&gt;
 FS2_LDFLAGS =  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lGLU -lopenal -logg -lvorbis -lvorbisfile&lt;br /&gt;
&lt;br /&gt;
And replace it with this:&lt;br /&gt;
 FS2_LDFLAGS =  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lopenal -logg -lvorbis -lvorbisfile -L/usr/X11R6/lib -lGLU &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also find this one (line 565 in mine):&lt;br /&gt;
 AM_LDFLAGS =  -g  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lGLU -lopenal -logg -lvorbis -lvorbisfile&lt;br /&gt;
&lt;br /&gt;
And replace it with this:&lt;br /&gt;
 AM_LDFLAGS =  -g -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lopenal -logg -lvorbis -lvorbisfile -L/usr/X11R6/lib -lGLU&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; from the &amp;lt;tt&amp;gt;fs2_open&amp;lt;/tt&amp;gt; directory, and watch the magic happen.&lt;br /&gt;
&lt;br /&gt;
==== glBindBufferARB feature missing ====&lt;br /&gt;
&#039;&#039;If this is the actual solution to this problem remains to be seen.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;So far, only people using Debian stable are affected by this.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;So we need adventurus Debian users to confirm.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;I can confirm that the APT-Pinning works, can not confirm compile thou. -- ni1s&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 checking for glBindBufferARB in -lGL... no&lt;br /&gt;
 configure: error: *** OpenGL version does not have the required features!! (ie.glBindBufferARB()) ***&lt;br /&gt;
This error appears if the installed Mesa development library is to old.&lt;br /&gt;
&lt;br /&gt;
On Debian stable branch the xlibmesa-gl-dev package holds version 4.3.0. &amp;lt;br&amp;gt;&lt;br /&gt;
The xlibmesa-gl-dev package on &#039;&#039;testning&#039;&#039; is version 6.9.0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible solution:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
First set /etc/apt/sources.list to include the testing branch. Add:&lt;br /&gt;
 #Testing&lt;br /&gt;
 deb http://ftp.us.debian.org/debian testing main non-free contrib&lt;br /&gt;
 deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free&lt;br /&gt;
Your sources.list might have these lines already, if so, you should be okej.&lt;br /&gt;
&lt;br /&gt;
Your /etc/apt/preferences file should look like this&lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=stable&lt;br /&gt;
 Pin-Priority: 700&lt;br /&gt;
 &lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=testing&lt;br /&gt;
 Pin-Priority: 650&lt;br /&gt;
 &lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=unstable&lt;br /&gt;
 Pin-Priority: 600&lt;br /&gt;
&lt;br /&gt;
Add to that file:&lt;br /&gt;
 Package: xlibmesa-gl-dev&lt;br /&gt;
 Pin: release a=testing&lt;br /&gt;
 Pin-Priority: 800&lt;br /&gt;
Note that the Pin-Priority of xlibmesa-gl-dev here is higher than the Pin-Priority on &#039;stable&#039;. As a result of this APT get will prioritize the xlibmesa-gl-dev from testing and leave the rest of the system on stable.&lt;br /&gt;
This is called apt-pinning.&lt;br /&gt;
&lt;br /&gt;
Now that APT knows what xlibmesa-gl-dev to prioritze, install it again:&lt;br /&gt;
 $ apt-get install xlibmesa-gl-dev&lt;br /&gt;
&lt;br /&gt;
If you are using nVidia&#039;s nvidia-kernel and glx packages, a simple:&lt;br /&gt;
 $ apt-get install nvidia-glx-dev&lt;br /&gt;
should suffice. No need to mess around with APT-pinning.&lt;br /&gt;
&lt;br /&gt;
=== Runtime Errors &amp;amp; Common Problems ===&lt;br /&gt;
==== ERROR: &amp;quot;Web cursor bitmap not found.&amp;quot; ====&lt;br /&gt;
 ERROR: &amp;quot;Web cursor bitmap not found.  This usually means that the executable is being run outside the  directory&lt;br /&gt;
 you installed Freespace2 to.  Please move the executable to that directory and try again&amp;quot; at  graphics/2d.cpp:1402&lt;br /&gt;
A common error. This happens when fs2_open can&#039;t find the .vp files or that your user doesn&#039;t have the permissions to access them. If you are using a start up script([http://www.hard-light.net/wiki/index.php/Fs2_open_on_Linux#Creating_a_Start_Up_Script like the one found here]) it&#039;s most likly the a permission problem.&lt;br /&gt;
Have your user take owenership of the .vp files, run as root:&lt;br /&gt;
 $ chown &amp;lt;user&amp;gt; /path/to/vpfiles/ -R&lt;br /&gt;
&lt;br /&gt;
=== I18n and Key mapping problems ===&lt;br /&gt;
&#039;&#039;Me, being a Swede, need to use this aswell, especially for the grave key(`), but I also want to use a second X display. There is a way to tell xmodmap to use the new set of keys on the second X display, and thus eliminating the need for a temp. keymap table as it dies with the second display when exiting fs2_open, never touching the keymap table on display 0. We should dig that info up and write a super-start script. --ni1s&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ok, imagine that like me you don&#039;t have an us keyboard but a french one (or anything). Well, you probably have problems mapping some keys or even using the default mapping.&lt;br /&gt;
&lt;br /&gt;
Actually, the problem is fs2_open does not take modifiers into account, as it uses them internally as modifiers for keys, and it won&#039;t accept non-us charset either.&lt;br /&gt;
&lt;br /&gt;
On a french keyboard layout, the numbers &#039;&#039;1 2 3 4 5 6 7 8 9 0&#039;&#039; are on the same keys than on a US layout, but you have to press shift to use them. The primary function for theses keys are &#039;&#039;&amp;amp; Ã© &amp;quot; &#039; ( - Ã¨ _ Ã§ Ã  )&#039;&#039;. These characters won&#039;t be accepted by freespace, and if you press shift to get a number, it won&#039;t work. This can be a problem, as theses keys are needed to use the communication system, and cannot be bound to anything. Also, as you won&#039;t get access some keys on your keyboard, it will be difficult to map every command on a key, or you&#039;ll have to use modifiers for nearly each key.&lt;br /&gt;
&lt;br /&gt;
However, there is a solution. You can tell X to remap the keyboard before launching the game, and restore your normal keymap afterwards.&lt;br /&gt;
&lt;br /&gt;
For exemple, I map 123456790 to &amp;amp;é&amp;quot;&#039;(-è_çà  keys so I can use the communication system, and I put , and ; on the Alt-Gr and Menu keys for convenience, as I binded thoses keys to next primary weapon and next secondary weapon.&lt;br /&gt;
&lt;br /&gt;
To do this, I use a slightly enhanced startup script, which I put in ~/bin (this directory is in my path), together with a customized xmodmap.&lt;br /&gt;
&lt;br /&gt;
* First, dump your current xmodmap :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;~ $ xmodmap -pke &amp;gt; ~/xmodmap.current&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Then edit it with your favorite text editor. You&#039;ll see a bunch of lines looking like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 keycode   8 =&lt;br /&gt;
 keycode   9 = Escape&lt;br /&gt;
 keycode  10 = 1 ampersand onesuperior exclamdown onesuperior exclamdown&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The syntax is &#039;&#039;keycode &amp;lt;number&amp;gt; = &amp;lt;symbol list&amp;gt;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;xev&#039;&#039;&#039; to scan the keycodes. The symbols are defined in &#039;&#039;/usr/include/X11/keysymdef.h&#039;&#039;. Just make sure you write them without the &#039;&#039;XK_&#039;&#039; prefix. You&#039;ll find more information about xmodmap in the xmodmap manual page.&lt;br /&gt;
&lt;br /&gt;
Just modify the keys you need, and be patient. This can be a long process. Test it with xmodmap :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;~ $ xmodmap - &amp;lt; &amp;lt;filename&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But don&#039;t forget to have your previous keymap at hand to recover your settings !&lt;br /&gt;
If you mess everything up, just restart X. Your default keymap will be applied from the X configuration.&lt;br /&gt;
&lt;br /&gt;
Here is my own fs2 xmodmap, derived from fr-latin1 as described above. Feel free to use it if you&#039;re too lazy to modify your own. However, it may not fit with your needs. You may always use it as an exemple, thougt.&lt;br /&gt;
* http://clement.hermann.free.fr/fs2/xmodmap&lt;br /&gt;
&lt;br /&gt;
Then, when the file is modified at your liking, just save it as &#039;&#039;&#039;~/.fs2_open/xmodmap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll start fs2_open with a slightly more elaborate startup script which will backup/apply/restore the keymap in addition of running the games with some options in the right directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # This script lauches fs2. If there is a file named $FS2_modmap (see below), &lt;br /&gt;
 # backup the current modmap as $TMP_modmap and load it as the new modmap. &lt;br /&gt;
 # The current modmap will be restored afterwards.&lt;br /&gt;
 &lt;br /&gt;
 TMP_modmap=&amp;quot;$HOME/xmodmap.tmp&amp;quot;&lt;br /&gt;
 FS2_modmap=&amp;quot;$HOME/.fs2_open/xmodmap&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 FS2_OPEN_DIR=/usr/local/games/fs2_open&lt;br /&gt;
 &lt;br /&gt;
 FS2_ARGS=&amp;quot;-glow -spec -spec_exp 11 -spec_point 0.6 -spec_static 0.8 -spec_tube 0.4 -fps -jpgtga -ambient_factor 75 -targetinfo -nograb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 FS2_BIN=&amp;quot;$FS2_OPEN_DIR/fs2_open_r&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 die() {&lt;br /&gt;
     echo &amp;quot;** Fatal error : $1&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 cd $FS2_OPEN_DIR || die &amp;quot;Could not change directory to $FS2_OPEN_DIR&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # dump current xmodmap&lt;br /&gt;
 [ -f &amp;quot;$FS2_modmap&amp;quot; ] &amp;amp;&amp;amp; xmodmap -pke &amp;gt; $TMP_modmap&lt;br /&gt;
 &lt;br /&gt;
 # load xmodmap&lt;br /&gt;
 [ -f &amp;quot;$FS2_modmap&amp;quot; ] &amp;amp;&amp;amp; xmodmap - &amp;lt; $FS2_modmap&lt;br /&gt;
 &lt;br /&gt;
 # prepare to restore xmodmap on crash or exit&lt;br /&gt;
 trap &amp;quot;xmodmap - &amp;lt; $TMP_modmap &amp;amp;&amp;amp; rm $TMP_modmap&amp;quot; 0 2 3 4 9 11 15&lt;br /&gt;
 &lt;br /&gt;
 # launch fs2&lt;br /&gt;
 $FS2_BIN $FS2_ARGS $* || die &amp;quot;Error while running \&amp;quot;$FS2_BIN\&amp;quot; with arguments \&amp;quot;$FS2_ARGS\&amp;quot; ($?)&amp;quot; &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adapt this script to your needs, and save it somewhere in your PATH - I for exemple use &#039;&#039;~/bin/freespace2&#039;&#039;. Make it executable with chmod +x &#039;&#039;&amp;lt;file&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
That&#039;s it, now you can use fs2 with full control over your keyboard.&lt;br /&gt;
&lt;br /&gt;
=== fs2_open dedicated X display ===&lt;br /&gt;
A good way of running games on Linux is having them run on a separate X display. The display you are most likely using now when reading this is 0:0. This display is normally used for whatever Window Manager/Desktop Environment(KDE,Gnome,*box,E) you&#039;ve chosen. Sometimes fs2_open freezes and locks your X. This is of course very annoying as you have to CTRL+ALT+BACKSPACE to kill the X server, and in that, killing whatever program you had running besides fs2_open. The solution to this is to tell X to start fs2_open on another display. To to this we first need to tell X that you,the user on localhost, holds the permission to run on another display.&lt;br /&gt;
In a terminal, enter (NOT as root):&lt;br /&gt;
 $ xauth list&lt;br /&gt;
A list that looks something like this should appear.&lt;br /&gt;
 myuser@localhost ~ $ xauth list&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;0&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
Let&#039;s look at that line, first up is your localhost, then unix, and last the display number,:0 (in bold). The rest is not really of interest.&lt;br /&gt;
Copy the whole line, but change the display value to 1 and paste it after the command &#039;&#039;xauth add&#039;&#039;, like this:&lt;br /&gt;
 $ xauth add localhost/unix:&#039;&#039;&#039;1&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
Run xauth list again. You should see a new entry.&lt;br /&gt;
 myuser@localhost ~ $ xauth list&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;0&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;1&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
You now have permission to use display 1:0.&lt;br /&gt;
To start fs2_open in that display, use xinit.&lt;br /&gt;
 $ xinit /path/to/fs2_open_r -foo -bar -- :1&lt;br /&gt;
The &#039;&#039;-- :1&#039;&#039; tells X that we want to start fs2_open on display 1.&amp;lt;br&amp;gt;&lt;br /&gt;
You can switch between display 0 and 1 with CTRL+ALT+F7 and CTRL+ALT+F8 respectively.&lt;br /&gt;
&#039;&#039;If someone knows of a good method to start fs2 on a second X display from an xterm without changing Xwrapper.config, please report it here.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A solution might be running xinit as root with sudo, and drop the root privileges in the startup script... Didn&#039;t tried, though.&#039;&#039; -- nodens&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xgame / xgame-gtk2 may be of use to achieve this as normal user, see http://xgame.tlhiv.org/ &#039;&#039; -- Lone_Wolf&lt;br /&gt;
==== The &amp;quot;user not authorized&amp;quot; Error ====&lt;br /&gt;
&lt;br /&gt;
If you try this from an virtual terminal from within X11 and obtain the error:&lt;br /&gt;
 X: user not authorized to run the X server, aborting.&lt;br /&gt;
It has been reported that on Ubuntu systems, the file /etc/X11/Xwrapper.config contains this line:&lt;br /&gt;
 allowed_users=console&lt;br /&gt;
This setting specifies that the X server(s) can only be started from console(TTY). &lt;br /&gt;
A possible solution is to change the allowed_users in the Xwrapper.config file to:&lt;br /&gt;
 allowed_users=anybody&lt;br /&gt;
&#039;&#039;&#039;Please note that this undermines X security.&#039;&#039;&#039;&lt;br /&gt;
See man Xwrapper.config for more details.&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>JLP</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Guide_to_FS_Open_on_Linux&amp;diff=9476</id>
		<title>Guide to FS Open on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Guide_to_FS_Open_on_Linux&amp;diff=9476"/>
		<updated>2007-04-30T05:23:52Z</updated>

		<summary type="html">&lt;p&gt;JLP: /* Installing CVS */ Added Mandriva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This tutorial assumes some fundamental command line knowledge.&amp;lt;BR&amp;gt;&#039;&#039;&lt;br /&gt;
&#039;&#039;As a rule of thumb, do not copy/paste commands without understanding them, especially as root. With great power comes great responsibility.&#039;&#039;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This page will guide you through compilation and installation of FS2_open, using the CVS code, along with the data files.&lt;br /&gt;
Please note that if you don&#039;t manage to build the CVS (or don&#039;t want to), binaries will be found on this thread (no 3.6.9 linux binary yet as of this writing, but they should arrive soon). You&#039;ll need probably need to read on anyway (how to get data files, starting the games, dealing with i18n issues...), but ignore what&#039;s related to building your own binary.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to use CVS, but can&#039;t find a suitable binary, you can download an almost current (3.6.9-RC8) source release here :&lt;br /&gt;
http://fs2source.warpcore.org/exes/linux/fs2_open-3.6.9-RC8.tar.bz2 &lt;br /&gt;
&lt;br /&gt;
Also, Turey wrote a cross-platform installer (in java), which is able to download all you need for running FS2_Open except the binary (retail files, MediaVP, movies...). It can be found here : [[http://www.hard-light.net/forums/index.php/topic,42854.0.html Freespace Open Installer]]. It&#039;s far more easier than extracting the data files from the retail CDs (see below).&lt;br /&gt;
// &#039;&#039;Linux binaries will be put into the Installer once taylor posts linux binaries 3.6.9 Final&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is even work in progress on a linux launcher that you may want to try : [[http://www.hard-light.net/forums/index.php/topic,44204.0.html Linux launcher]] (this is different from the upcoming new launcher which will be used in 3.7 fs2_open release) // &#039;&#039;The links in the thread are currently dead, but let&#039;s hope that will be resolved soon.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing CVS ==&lt;br /&gt;
CVS stands for Concurrent Versions System and is a version control system used to record the changes in documents, such as source files. Developers use CVS so they can easily share their code changes among other developers. &lt;br /&gt;
Be aware that when you use CVS, you use the most up-to-date code : It may or may not be better than a release. It may be worse, less stable, or not even compile. This is work in progress.&lt;br /&gt;
&lt;br /&gt;
You will need this tool to download (&amp;quot;checkout&amp;quot; in CVS terminology) fs2_open from the CVS server. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ apt-get install cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ emerge -a cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novell SuSE&#039;&#039;&#039; users install CVS via YaST.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archlinux&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ pacman -Sy cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fedora Core 6 (Zod)&#039;&#039;&#039; (And most likely Redhat) users want to:&lt;br /&gt;
 # yum install cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandriva&#039;&#039;&#039; users want to:&lt;br /&gt;
 # urpmi cvs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Redhat, Slackware and all the other distros should go here too,&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;but we have no knowledge on how these work, so if you do, please enlighten us.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing the necessary development libraries ==&lt;br /&gt;
You will also need SDL, OpenAL, libvorbis, libtheora and OpenGL(most likely provided with your video card driver) development packages. And of course the GCC compiler and required make tools.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ apt-get install libopenal-dev libvorbis-dev build-essential automake1.9 autoconf libsdl-dev libtheora-dev&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The &#039;&#039;build-essential&#039;&#039; meta package installs GCC4. This should work, but if you feel safer with GCC 3.4(gcc-3.4), add it to the apt-get line above.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fedora Core 6 (Zod)&#039;&#039;&#039; users (and most likely Redhat users too) want to:&lt;br /&gt;
 # yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gentoo&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ emerge -a openal libvorbis libsdl libtheora&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note : on other distributions, you&#039;ll need theora as well, so the information for Archlinux and SuSe below is outdated. if someone knows the exact package name, please edit !&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novell SuSE&#039;&#039;&#039; users just install the mentioned packages and the devel-packages via YaST. If this works don&#039;t read further.&lt;br /&gt;
SuSE maybe has some dependency problems with the game TORCS, i.e. its special version of OpenAL, so you have to make a choice. If you still want to run FS2 open, go on here http://www.hard-light.net/wiki/index.php/Fs2_open_on_Linux#Compile_Errors&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archlinux&#039;&#039;&#039; users want to:&lt;br /&gt;
 $ pacman -S freealut libvorbis sdl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Redhat, Mandrake,Slackware and all the other distros should go here too,&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;but we have no knowlage on how these work, so if you do, please enlighten us.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installing game data files ==&lt;br /&gt;
&lt;br /&gt;
This tutorial deals primarily with providing you with an executable, but in order to play the game you also need the game data.  Freespace 2 game data is available from a number of sources, see this thread: http://www.hard-light.net/forums/index.php/topic,38195.0.html (or use Turey&#039;s installer, see above for a link)&lt;br /&gt;
&lt;br /&gt;
Note that if you use the retail CD, you&#039;ll need to extract the files and to copy them on your drive, reproducing the same layout as in a working win32 installation (just make sure every file is lowercase). This thread on the SCP forum has some more info on it : http://scp.indiegames.us/forum_viewtopic.php?3.282&lt;br /&gt;
&lt;br /&gt;
There are two ways of doing this :&lt;br /&gt;
* use wine to install the game in the right directory, using the Setup.exe found on the first CD, or&lt;br /&gt;
* extract manually the files from the cd. &lt;br /&gt;
&lt;br /&gt;
The second method is detailed below. The wine one is straightforward and you shouldn&#039;t need any specific instruction, but you&#039;ll have to fix permissions and lowercase the filename as well, so keep reading.&lt;br /&gt;
&lt;br /&gt;
===Extracting data from CD===&lt;br /&gt;
====Installing unshield====&lt;br /&gt;
&lt;br /&gt;
First, you need unshield from http://synce.sourceforge.net/synce/unshield.php&lt;br /&gt;
&lt;br /&gt;
If you use debian, apt-get install unshield as root should do the trick. Else, try to find a package for your distribution, or if you don&#039;t, compile it yourself following the instructions provided on the website. Note you don&#039;t need to actually install it, just compile it and use it from the directory where you compiled it.&lt;br /&gt;
&lt;br /&gt;
====Preparing directories====&lt;br /&gt;
&lt;br /&gt;
* Create a directory for fs2_open, say, &#039;&#039;/usr/local/games/fs2_open&#039;&#039;, with a &#039;&#039;data/movies&#039;&#039; and &#039;&#039;data/players&#039;&#039; subdirectories. Everything but user files and configuration will be in this directory. You&#039;ll probably need to be root or use sudo for most of the following commands if you use a global directory like the one in this example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Warning : Again, please double check the commands you run as root. A single typo could destroy your data. &#039;Remember what is said on the top of the page ? if not, go re-read it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ mkdir -p /usr/local/games/fs2_open/data/movies /usr/local/games/fs2_open/data/players&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Extracting files====&lt;br /&gt;
&lt;br /&gt;
* Use unshield to extract the groups from data1.cab (on the first cd) to a temporary directory; then move the files in your game directory :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ mkdir /tmp/fs2&lt;br /&gt;
 ~ $ for group in &amp;quot;Basic Install Files&amp;quot; &amp;quot;Intel Anims&amp;quot; &amp;quot;Music Compressed&amp;quot; &amp;quot;High Res Files&amp;quot;; do unshield -d /tmp/fs2/ -g &amp;quot;$group&amp;quot; -L -j x /mnt/cdrom/data1.cab; done; mv -v /tmp/fs2/*/* /home/data/jeux/fs2_open&lt;br /&gt;
 ~ $ unshield -d /tmp/fs2/ -g &amp;quot;Hud Config Files&amp;quot; -L -j x /mnt/cdrom/data1.cab &amp;amp;&amp;amp; mv -v /tmp/fs2/hud_config_files/* /usr/local/games/fs2_open/data/players&amp;lt;/tt&amp;gt;&lt;br /&gt;
* From &#039;&#039;&#039;both&#039;&#039;&#039; the second and third CDs, get the vp files and the movies files (I don&#039;t think the the .mve file are really needed; you&#039;ll need the .avi ones if you want the movies).&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ cp -vf *.vp /usr/local/games/fs2_open&lt;br /&gt;
 ~ $ cp -vf *.MVE /usr/local/games/fs2_open/data/movies/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may notice that some files are on all three CD; this is because the game was meant to be run with the CD in the drive. Don&#039;t worry, a copy of such a file from any of the 3 CDs will work.&lt;br /&gt;
&lt;br /&gt;
=== Fixing Case and permissions ===&lt;br /&gt;
* You &#039;&#039;&#039;have&#039;&#039;&#039; to make sure everything is lowercase :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ for file in `find /usr/local/games/fs2_open/`; do mv $file `echo $file | sed &#039;s/\([A-Z]\)/\l\1/g&#039;`; done&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Then, fix permissions :&lt;br /&gt;
 &amp;lt;tt&amp;gt;~ $ find /usr/local/games/fs2_open -type d -exec chmod a+rx &#039;{}&#039; \;&lt;br /&gt;
 ~ $ find /usr/local/games/fs2_open -type f -exec chmod a+r &#039;{}&#039; \;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the source ==&lt;br /&gt;
&lt;br /&gt;
=== CVS Checkout ===&lt;br /&gt;
Before you begin, make sure you have write permissions on your current working directory. Your /home/user/ directory is a pretty sure bet. I recommend that you create a permanent /home/user/src directory from which you run the CVS command, this way CVS will only update the files changed the next time you download the source and it&#039;s always nice to have things organized.&lt;br /&gt;
&lt;br /&gt;
Now get the source. Run from a terminal:&lt;br /&gt;
 $ cvs -d:pserver:anonymous:anonymous@warpcore.org:/home/fs2source/cvsroot login&lt;br /&gt;
and then&lt;br /&gt;
 $ cvs -z3 -d:pserver:anonymous@warpcore.org:/home/fs2source/cvsroot co fs2_open&lt;br /&gt;
The first cvs command tells the CVS tool to first use a password file for authentication (pserver), that you are user &amp;quot;anonymous&amp;quot; with the password &amp;quot;anonymous&amp;quot; who wants to access warpcore.org&#039;s CVS repository &amp;quot;/home/fs2source/cvsroot&amp;quot; and login. The second command tells the CVS server on which we are now connected to that we want to checkout (co) the fs2_open module.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Simple Checkout Script ====&lt;br /&gt;
You can use this script to simplify your checkouts, don&#039;t forget to chmod +x it.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 CVS=&amp;quot;cvs -d:pserver:anonymous:anonymous@warpcore.org:/home/fs2source/cvsroot&amp;quot;&lt;br /&gt;
 MODULE=&amp;quot;fs2_open&amp;quot;&lt;br /&gt;
 BRANCH=&amp;quot;fs2_open_3_6_9&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ${CVS} co -d ${BRANCH} -r ${BRANCH} ${MODULE}&lt;br /&gt;
&lt;br /&gt;
=== Pre-Compile Configuration ===&lt;br /&gt;
&lt;br /&gt;
Before you compile you need to configure it for your system. In the directory you ran the CVS command from, a new directory has appear, namely fs2_open.&lt;br /&gt;
If your fs2_open is a completely new checkout, you will first need to run the autogen.sh script.&lt;br /&gt;
Run from inside your newly created fs2_open directory:&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
autogen.sh is a script that will generate the required makefiles. You will see alot of &amp;quot;checking for this&amp;quot; and &amp;quot;checking for that&amp;quot;, this is actually the &amp;quot;configure&amp;quot; script (which can be run with &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; if you need to change the options) examining and configuring fs2_open for your system.&amp;lt;br&amp;gt;&lt;br /&gt;
It is possible to give autogen.sh configure options as well, autogen.sh will pass them along to configure.&lt;br /&gt;
&lt;br /&gt;
A full list of configure options can be found by running the configure script with the &#039;--help&#039; option.&lt;br /&gt;
 $ ./configure --help&lt;br /&gt;
&lt;br /&gt;
==== Optimizing fs2_open ====&lt;br /&gt;
Optimizing fs2_open might have little or no effect, or improve performance greatly, I honestly have no clue.&amp;lt;br&amp;gt;&lt;br /&gt;
A note of caution, if you are compiling a debug build, don&#039;t use the -fomit-frame-pointer CFLAG, it will make debugging impossible.&amp;lt;br&amp;gt;&lt;br /&gt;
You can specify your compiler flags with the configure script, se below.&lt;br /&gt;
 $ ./configure CFLAGS=&amp;quot;&amp;lt;your desired flags&amp;gt;&amp;quot;&lt;br /&gt;
If you got a Athlon-XP and want to play it safe, a good set of CFLAGS would be&lt;br /&gt;
 $ ./configure CFLAGS=&amp;quot;-march=athlon-xp -O3 -pipe -fomit-frame-pointer&amp;quot;&lt;br /&gt;
You should read up on CFLAGS and what they do before trying anything. I recommend you read through these links.&amp;lt;br&amp;gt;&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-3.4.1/gcc/Optimize-Options.html&amp;lt;br&amp;gt;&lt;br /&gt;
http://linuxreviews.org/howtos/compiling/safe-cflags/&amp;lt;br&amp;gt;&lt;br /&gt;
http://en.wikipedia.org/wiki/CFLAGS&lt;br /&gt;
&lt;br /&gt;
=== Compiling ===&lt;br /&gt;
&lt;br /&gt;
Run from within your fs2_open directory:&lt;br /&gt;
 $ make&lt;br /&gt;
Sit back and enjoy gcc work its magic.&lt;br /&gt;
&lt;br /&gt;
==== Simple Compile Script ====&lt;br /&gt;
It&#039;s a lot easier to use a scripts when dealing with constantly changing code. Copy and save this to a suitably named file like &amp;quot;compile-fs2_open&amp;quot;, and make it executable with the command, chmod +x &amp;lt;name of file&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 CFLAGS=&amp;quot;-march=athlon-xp -O2 -pipe&amp;quot;&lt;br /&gt;
 CFLAGS=&amp;quot;${CFLAGS} -fomit-frame-pointer -falign-functions=64&amp;quot;&lt;br /&gt;
 CXXFLAGS=&amp;quot;${CFLAGS} -fvisibility-inlines-hidden&amp;quot;&lt;br /&gt;
 LDFLAGS=&amp;quot;-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -s&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 if [ -e ./${*} ]; then&lt;br /&gt;
         cd ${*}&lt;br /&gt;
         if [ -e ./Makefile.in ]; then&lt;br /&gt;
                 make clean&lt;br /&gt;
                 ./configure CFLAGS=&amp;quot;${CFLAGS}&amp;quot; CXXFLAGS=&amp;quot;${CXXFLAGS}&amp;quot; LDFLAGS=&amp;quot;${LDFLAGS}&amp;quot;&lt;br /&gt;
                 make&lt;br /&gt;
                 else&lt;br /&gt;
                 ./autogen.sh CFLAGS=&amp;quot;${CFLAGS}&amp;quot; CXXFLAGS=&amp;quot;${CXXFLAGS}&amp;quot; LDFLAGS=&amp;quot;${LDFLAGS}&amp;quot;&lt;br /&gt;
                 make&lt;br /&gt;
         fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can add your options to the ./configure line. You need to give the script the fs2_open source directory, like this:&lt;br /&gt;
 $ ./compile-fs2_open fs2_open&lt;br /&gt;
This makes it easier to deal with multiple source directories.&lt;br /&gt;
&lt;br /&gt;
== Using the Binaries ==&lt;br /&gt;
&lt;br /&gt;
When the compile is done and if all went well, a binary executable will reside in the code directory &#039;&#039;fs2_open_r&#039;&#039; or &#039;&#039;fs2_open_d&#039;&#039; if you configured for a debug build. Copy the binary to directory where Freespace2 is installed, and you&#039;re all set to go.&lt;br /&gt;
&lt;br /&gt;
=== Post-Compile Configuration ===&lt;br /&gt;
====  Changing Your Resolution ====&lt;br /&gt;
Odds are, you&#039;ll want to run fs2_open in a higher resolution than the default 640x480.  Unfortunately, we Linux users don&#039;t have the swank launcher app that the Windows folks do.  Instead, we&#039;ll be making a couple line changes to a config file.  You will need to run fs2_open once before you can make the necessary changes, otherwise you won&#039;t have a configuration directory to work with.&lt;br /&gt;
&lt;br /&gt;
Open up ~/.fs2_open/fs2_open.ini with the text editor of your choice (vi, EMACS, kwrite, gedit).  You&#039;ll see something like the following:&lt;br /&gt;
 [Default]&lt;br /&gt;
 VideocardFs2open=OGL -(640x480)x16 bit&lt;br /&gt;
 LastPlayer=MonkeyboyS&lt;br /&gt;
 GammaD3D=1.0&lt;br /&gt;
&lt;br /&gt;
To set fs2_open to use the highest setting possible on retail Freespace 2, change the VideocardFs2open to:&lt;br /&gt;
 VideocardFs2open=OGL -(1024x768)x32 bit&lt;br /&gt;
You can set this to pretty much anything you want.&lt;br /&gt;
&lt;br /&gt;
=== Creating a Start Up Script ===&lt;br /&gt;
&lt;br /&gt;
In order to use all of the advanced engine features of fs2_open, you&#039;ll need to start the executable with a number of command line arguments.  Instead of typing them in every time you want to start the game, why not create a script that does it for you?&lt;br /&gt;
&lt;br /&gt;
Create a new file named start_freespace (or whatever you like) in your home directory. Open the file in your editor of choice, and paste the following:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 cd /path/to/your/freespace/&lt;br /&gt;
 ./fs2_open_r -spec -glow -mipmap -jpgtga -orbradar -mod Media_VP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:  You will need to edit this script before it will work properly.  The second line must point to the directory where you installed fs2_open. You can also find a more elaborated script example below in the i18n section&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last line starts fs2_open with a number of arguments that turn on extra features.  In the example, the game will use specular highlights, glow-mapping, mipmapping, jpg and tga graphic files, the orb radar, and any MediaVPs installed to the /Media_VP directory.  You should edit this line to use those features that your system supports.&lt;br /&gt;
&lt;br /&gt;
More information about the available Command Line Arguments can be found at the [[Command-Line Reference]]&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve edited the file to your heart&#039;s content, make it executable:&lt;br /&gt;
 $ chmod +x start_freespace&lt;br /&gt;
&lt;br /&gt;
You can now type in start_freespace to start the game, or by clicking on start_freespace in your window manager.  For convenience, you can copy it to your Desktop.&lt;br /&gt;
&lt;br /&gt;
[http://www.hard-light.net/wiki/index.php/Command-Line_Reference See this] for more command line options.&lt;br /&gt;
&lt;br /&gt;
==== Advanced Startup Script ====&lt;br /&gt;
This is nothing fancy, but it&#039;s all the command line options in a file.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #  Graphics&lt;br /&gt;
 CMDLINE=&amp;quot;-spec -env -glow -jpgtga -mipmap -2d_poof -missile_lighting&amp;quot;&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -ambient_factor 75 -spec_exp 11 -spec_point 0.6&amp;quot;&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -spec_static 0.8 -spec_tube 0.4&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -pcx32 -cell -nomotiondebris -noscalevid -rlm -clipdist&amp;quot;&lt;br /&gt;
 #  Game Speed&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -cache_bitmaps&amp;quot;&lt;br /&gt;
 #CMDLINE=$CMDLINE -img2dds -no_vsync&amp;quot;&lt;br /&gt;
 #  HUD&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -targetinfo -orbradar -ballistic_gauge -rearm_timer&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -dualscanlines&amp;quot;&lt;br /&gt;
 #  Gameplay&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -ship_choice_3d -3dwarp -warp_flash -fov 0.39&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -UseNewAI -tbp -wcsaga&amp;quot;&lt;br /&gt;
 #  Audio&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -snd_preload&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -nosound -nomusic&amp;quot;&lt;br /&gt;
 #  Multiplayer&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -standalone -startgame -closed -restricted&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -multilog -clientdamage -mpnoreturn&amp;quot;&lt;br /&gt;
 #  Troubleshooting&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -oldfire -nohtl -no_set_gamma -nomovies -noparseerrors&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -safeloading -query_speech -d3d_bad_tsys -novbo -noibx -loadallweps&amp;quot;&lt;br /&gt;
 #  Experimental&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -alpha_env&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -decals -ingame_join&amp;quot;&lt;br /&gt;
 #  Development Tools&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -fps&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -pos -window -timerbar -coords -pofspew -tablecrcs -missioncrcs&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -dis_collisions -dis_weapons -output_sexps&amp;quot;&lt;br /&gt;
 #CMDLINE=&amp;quot;$CMDLINE -output_scripting -nograb -show_mem_usage -stats&amp;quot;&lt;br /&gt;
 #  Mod&lt;br /&gt;
 CMDLINE=&amp;quot;$CMDLINE -mod mv368zeta&amp;quot;&lt;br /&gt;
 ./fs2_open_r $CMDLINE&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
=== Compile Errors ===&lt;br /&gt;
==== Novell SuSE and the dependencies ====&lt;br /&gt;
&lt;br /&gt;
If your SuSE gives you some errors like this, during the compile process, your OpenAL version is too old or corrupted.&lt;br /&gt;
 sound/ds.cpp: In function &#039;int ds_init(int, int, unsigned int, short unsigned int)&#039;:&lt;br /&gt;
 sound/ds.cpp:1790: error: invalid conversion from &#039;const char*&#039; to &#039;const ALubyte*&#039;&lt;br /&gt;
 sound/ds.cpp:1790: error:   initializing argument 1 of &#039;ALboolean alIsExtensionPresent(const ALubyte*)&#039;&lt;br /&gt;
You have to remove all OpenAL-packages via YaST, you may also want to remove TORCS, too, it won&#039;t run anymore after this.&lt;br /&gt;
Unfortunately there is no repository with a newer version for this distro, yet, so you have to use a source-package for Fedora. You get it here http://download.fedora.redhat.com/pub/fedora/linux/extras/5/SRPMS/openal-0.0.9-0.6.20060204cvs.fc5.src.rpm&lt;br /&gt;
The version may change, so you better check this.&lt;br /&gt;
Now make sure, that TexInfo is installed. Then enter:&lt;br /&gt;
 $ rpmbuild --rebuild --target=i686 &amp;lt;name-of-your-package&amp;gt;.fc5.src.rpm&lt;br /&gt;
If it builds without errors, you will find an OpenAL*.rpm and an OpenAL*-devel.rpm in &amp;lt;tt&amp;gt;/usr/src/packages/RPMS/i686/&amp;lt;/tt&amp;gt;. Install both and go back to your fs_open directory again. Cause the environment has changed now, you better type:&lt;br /&gt;
 $ make clean&lt;br /&gt;
 $ ./configure [options]&lt;br /&gt;
 $ make&lt;br /&gt;
Then you&#039;re done.&lt;br /&gt;
&lt;br /&gt;
==== SDL: undefined reference to... ====&lt;br /&gt;
&lt;br /&gt;
This is a SDL installing issue, since it&#039;s trying to link against the static lib and not the dynamic one.&lt;br /&gt;
First check where &amp;lt;tt&amp;gt;/usr/lib/libSDL.so&amp;lt;/tt&amp;gt; is linked to, then search this very file.&lt;br /&gt;
 $ ls -l /usr/lib/libSDL.so&lt;br /&gt;
 lrwxrwxrwx  1 root root 28 2006-09-06 00:10 /usr/lib/libSDL.so -&amp;gt; /usr/lib/libSDL-1.2.so.0.7.1&lt;br /&gt;
 $ ls /usr/lib/ | grep libSDL-1.2.so.0.7&lt;br /&gt;
 libSDL-1.2.so.0.7.2&lt;br /&gt;
If they are not the same (like in this case), you just make a new link. Type as root:&lt;br /&gt;
 # ln -s /usr/lib/libSDL-1.2.so.0.7.2 /usr/lib/libSDL.so&lt;br /&gt;
Of course you must change some figures, so it matches on your system.&lt;br /&gt;
&lt;br /&gt;
==== Missing -lGLU compile error ====&lt;br /&gt;
&lt;br /&gt;
On some Linux distributions (&#039;&#039;Slackware&#039;&#039; for instance), compiling fails because a GL related library doesn&#039;t have a link in the &amp;lt;tt&amp;gt;/usr/lib&amp;lt;/tt&amp;gt; directory.  If the compile fails because it can&#039;t find &amp;lt;tt&amp;gt;-lGLU&amp;lt;/tt&amp;gt;, here are two ways to fix it:&lt;br /&gt;
&lt;br /&gt;
===== Solution as Root =====&lt;br /&gt;
&lt;br /&gt;
If you have root access to the system, you can create a link to the library in question with just a little bit of command line magic.  Go to a console and enter:&lt;br /&gt;
&lt;br /&gt;
 $ ln -s /usr/X11R6/lib/libGLU.so /usr/lib/libGLU.so&lt;br /&gt;
&lt;br /&gt;
After that, you can run make again and it should finish compiling.&lt;br /&gt;
&lt;br /&gt;
===== Solution as a Non-Root user =====&lt;br /&gt;
&lt;br /&gt;
You don&#039;t have root access?  Never fear, we can still fix the problem.  It&#039;ll just be a tad more difficult.&lt;br /&gt;
&lt;br /&gt;
Navigate to the &amp;lt;tt&amp;gt;fs2_open/code&amp;lt;/tt&amp;gt; directory and locate a file named &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; (not Makefile.rm or Makefile.in or Makefile.anything).  Open it in your favorite text editor and make the following changes.&lt;br /&gt;
&lt;br /&gt;
Find this line (line 457 in mine):&lt;br /&gt;
 FS2_LDFLAGS =  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lGLU -lopenal -logg -lvorbis -lvorbisfile&lt;br /&gt;
&lt;br /&gt;
And replace it with this:&lt;br /&gt;
 FS2_LDFLAGS =  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lopenal -logg -lvorbis -lvorbisfile -L/usr/X11R6/lib -lGLU &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also find this one (line 565 in mine):&lt;br /&gt;
 AM_LDFLAGS =  -g  -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lGLU -lopenal -logg -lvorbis -lvorbisfile&lt;br /&gt;
&lt;br /&gt;
And replace it with this:&lt;br /&gt;
 AM_LDFLAGS =  -g -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lGL -lopenal -logg -lvorbis -lvorbisfile -L/usr/X11R6/lib -lGLU&lt;br /&gt;
&lt;br /&gt;
Then run &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; from the &amp;lt;tt&amp;gt;fs2_open&amp;lt;/tt&amp;gt; directory, and watch the magic happen.&lt;br /&gt;
&lt;br /&gt;
==== glBindBufferARB feature missing ====&lt;br /&gt;
&#039;&#039;If this is the actual solution to this problem remains to be seen.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;So far, only people using Debian stable are affected by this.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;So we need adventurus Debian users to confirm.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;I can confirm that the APT-Pinning works, can not confirm compile thou. -- ni1s&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 checking for glBindBufferARB in -lGL... no&lt;br /&gt;
 configure: error: *** OpenGL version does not have the required features!! (ie.glBindBufferARB()) ***&lt;br /&gt;
This error appears if the installed Mesa development library is to old.&lt;br /&gt;
&lt;br /&gt;
On Debian stable branch the xlibmesa-gl-dev package holds version 4.3.0. &amp;lt;br&amp;gt;&lt;br /&gt;
The xlibmesa-gl-dev package on &#039;&#039;testning&#039;&#039; is version 6.9.0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible solution:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
First set /etc/apt/sources.list to include the testing branch. Add:&lt;br /&gt;
 #Testing&lt;br /&gt;
 deb http://ftp.us.debian.org/debian testing main non-free contrib&lt;br /&gt;
 deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free&lt;br /&gt;
Your sources.list might have these lines already, if so, you should be okej.&lt;br /&gt;
&lt;br /&gt;
Your /etc/apt/preferences file should look like this&lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=stable&lt;br /&gt;
 Pin-Priority: 700&lt;br /&gt;
 &lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=testing&lt;br /&gt;
 Pin-Priority: 650&lt;br /&gt;
 &lt;br /&gt;
 Package: *&lt;br /&gt;
 Pin: release a=unstable&lt;br /&gt;
 Pin-Priority: 600&lt;br /&gt;
&lt;br /&gt;
Add to that file:&lt;br /&gt;
 Package: xlibmesa-gl-dev&lt;br /&gt;
 Pin: release a=testing&lt;br /&gt;
 Pin-Priority: 800&lt;br /&gt;
Note that the Pin-Priority of xlibmesa-gl-dev here is higher than the Pin-Priority on &#039;stable&#039;. As a result of this APT get will prioritize the xlibmesa-gl-dev from testing and leave the rest of the system on stable.&lt;br /&gt;
This is called apt-pinning.&lt;br /&gt;
&lt;br /&gt;
Now that APT knows what xlibmesa-gl-dev to prioritze, install it again:&lt;br /&gt;
 $ apt-get install xlibmesa-gl-dev&lt;br /&gt;
&lt;br /&gt;
If you are using nVidia&#039;s nvidia-kernel and glx packages, a simple:&lt;br /&gt;
 $ apt-get install nvidia-glx-dev&lt;br /&gt;
should suffice. No need to mess around with APT-pinning.&lt;br /&gt;
&lt;br /&gt;
=== Runtime Errors &amp;amp; Common Problems ===&lt;br /&gt;
==== ERROR: &amp;quot;Web cursor bitmap not found.&amp;quot; ====&lt;br /&gt;
 ERROR: &amp;quot;Web cursor bitmap not found.  This usually means that the executable is being run outside the  directory&lt;br /&gt;
 you installed Freespace2 to.  Please move the executable to that directory and try again&amp;quot; at  graphics/2d.cpp:1402&lt;br /&gt;
A common error. This happens when fs2_open can&#039;t find the .vp files or that your user doesn&#039;t have the permissions to access them. If you are using a start up script([http://www.hard-light.net/wiki/index.php/Fs2_open_on_Linux#Creating_a_Start_Up_Script like the one found here]) it&#039;s most likly the a permission problem.&lt;br /&gt;
Have your user take owenership of the .vp files, run as root:&lt;br /&gt;
 $ chown &amp;lt;user&amp;gt; /path/to/vpfiles/ -R&lt;br /&gt;
&lt;br /&gt;
=== I18n and Key mapping problems ===&lt;br /&gt;
&#039;&#039;Me, being a Swede, need to use this aswell, especially for the grave key(`), but I also want to use a second X display. There is a way to tell xmodmap to use the new set of keys on the second X display, and thus eliminating the need for a temp. keymap table as it dies with the second display when exiting fs2_open, never touching the keymap table on display 0. We should dig that info up and write a super-start script. --ni1s&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ok, imagine that like me you don&#039;t have an us keyboard but a french one (or anything). Well, you probably have problems mapping some keys or even using the default mapping.&lt;br /&gt;
&lt;br /&gt;
Actually, the problem is fs2_open does not take modifiers into account, as it uses them internally as modifiers for keys, and it won&#039;t accept non-us charset either.&lt;br /&gt;
&lt;br /&gt;
On a french keyboard layout, the numbers &#039;&#039;1 2 3 4 5 6 7 8 9 0&#039;&#039; are on the same keys than on a US layout, but you have to press shift to use them. The primary function for theses keys are &#039;&#039;&amp;amp; Ã© &amp;quot; &#039; ( - Ã¨ _ Ã§ Ã  )&#039;&#039;. These characters won&#039;t be accepted by freespace, and if you press shift to get a number, it won&#039;t work. This can be a problem, as theses keys are needed to use the communication system, and cannot be bound to anything. Also, as you won&#039;t get access some keys on your keyboard, it will be difficult to map every command on a key, or you&#039;ll have to use modifiers for nearly each key.&lt;br /&gt;
&lt;br /&gt;
However, there is a solution. You can tell X to remap the keyboard before launching the game, and restore your normal keymap afterwards.&lt;br /&gt;
&lt;br /&gt;
For exemple, I map 123456790 to &amp;amp;é&amp;quot;&#039;(-è_çà  keys so I can use the communication system, and I put , and ; on the Alt-Gr and Menu keys for convenience, as I binded thoses keys to next primary weapon and next secondary weapon.&lt;br /&gt;
&lt;br /&gt;
To do this, I use a slightly enhanced startup script, which I put in ~/bin (this directory is in my path), together with a customized xmodmap.&lt;br /&gt;
&lt;br /&gt;
* First, dump your current xmodmap :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;~ $ xmodmap -pke &amp;gt; ~/xmodmap.current&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Then edit it with your favorite text editor. You&#039;ll see a bunch of lines looking like this :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 keycode   8 =&lt;br /&gt;
 keycode   9 = Escape&lt;br /&gt;
 keycode  10 = 1 ampersand onesuperior exclamdown onesuperior exclamdown&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The syntax is &#039;&#039;keycode &amp;lt;number&amp;gt; = &amp;lt;symbol list&amp;gt;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;xev&#039;&#039;&#039; to scan the keycodes. The symbols are defined in &#039;&#039;/usr/include/X11/keysymdef.h&#039;&#039;. Just make sure you write them without the &#039;&#039;XK_&#039;&#039; prefix. You&#039;ll find more information about xmodmap in the xmodmap manual page.&lt;br /&gt;
&lt;br /&gt;
Just modify the keys you need, and be patient. This can be a long process. Test it with xmodmap :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tt&amp;gt;~ $ xmodmap - &amp;lt; &amp;lt;filename&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But don&#039;t forget to have your previous keymap at hand to recover your settings !&lt;br /&gt;
If you mess everything up, just restart X. Your default keymap will be applied from the X configuration.&lt;br /&gt;
&lt;br /&gt;
Here is my own fs2 xmodmap, derived from fr-latin1 as described above. Feel free to use it if you&#039;re too lazy to modify your own. However, it may not fit with your needs. You may always use it as an exemple, thougt.&lt;br /&gt;
* http://clement.hermann.free.fr/fs2/xmodmap&lt;br /&gt;
&lt;br /&gt;
Then, when the file is modified at your liking, just save it as &#039;&#039;&#039;~/.fs2_open/xmodmap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll start fs2_open with a slightly more elaborate startup script which will backup/apply/restore the keymap in addition of running the games with some options in the right directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # This script lauches fs2. If there is a file named $FS2_modmap (see below), &lt;br /&gt;
 # backup the current modmap as $TMP_modmap and load it as the new modmap. &lt;br /&gt;
 # The current modmap will be restored afterwards.&lt;br /&gt;
 &lt;br /&gt;
 TMP_modmap=&amp;quot;$HOME/xmodmap.tmp&amp;quot;&lt;br /&gt;
 FS2_modmap=&amp;quot;$HOME/.fs2_open/xmodmap&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 FS2_OPEN_DIR=/usr/local/games/fs2_open&lt;br /&gt;
 &lt;br /&gt;
 FS2_ARGS=&amp;quot;-glow -spec -spec_exp 11 -spec_point 0.6 -spec_static 0.8 -spec_tube 0.4 -fps -jpgtga -ambient_factor 75 -targetinfo -nograb&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 FS2_BIN=&amp;quot;$FS2_OPEN_DIR/fs2_open_r&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 die() {&lt;br /&gt;
     echo &amp;quot;** Fatal error : $1&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 cd $FS2_OPEN_DIR || die &amp;quot;Could not change directory to $FS2_OPEN_DIR&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # dump current xmodmap&lt;br /&gt;
 [ -f &amp;quot;$FS2_modmap&amp;quot; ] &amp;amp;&amp;amp; xmodmap -pke &amp;gt; $TMP_modmap&lt;br /&gt;
 &lt;br /&gt;
 # load xmodmap&lt;br /&gt;
 [ -f &amp;quot;$FS2_modmap&amp;quot; ] &amp;amp;&amp;amp; xmodmap - &amp;lt; $FS2_modmap&lt;br /&gt;
 &lt;br /&gt;
 # prepare to restore xmodmap on crash or exit&lt;br /&gt;
 trap &amp;quot;xmodmap - &amp;lt; $TMP_modmap &amp;amp;&amp;amp; rm $TMP_modmap&amp;quot; 0 2 3 4 9 11 15&lt;br /&gt;
 &lt;br /&gt;
 # launch fs2&lt;br /&gt;
 $FS2_BIN $FS2_ARGS $* || die &amp;quot;Error while running \&amp;quot;$FS2_BIN\&amp;quot; with arguments \&amp;quot;$FS2_ARGS\&amp;quot; ($?)&amp;quot; &lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adapt this script to your needs, and save it somewhere in your PATH - I for exemple use &#039;&#039;~/bin/freespace2&#039;&#039;. Make it executable with chmod +x &#039;&#039;&amp;lt;file&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
That&#039;s it, now you can use fs2 with full control over your keyboard.&lt;br /&gt;
&lt;br /&gt;
=== fs2_open dedicated X display ===&lt;br /&gt;
A good way of running games on Linux is having them run on a separate X display. The display you are most likely using now when reading this is 0:0. This display is normally used for whatever Window Manager/Desktop Environment(KDE,Gnome,*box,E) you&#039;ve chosen. Sometimes fs2_open freezes and locks your X. This is of course very annoying as you have to CTRL+ALT+BACKSPACE to kill the X server, and in that, killing whatever program you had running besides fs2_open. The solution to this is to tell X to start fs2_open on another display. To to this we first need to tell X that you,the user on localhost, holds the permission to run on another display.&lt;br /&gt;
In a terminal, enter (NOT as root):&lt;br /&gt;
 $ xauth list&lt;br /&gt;
A list that looks something like this should appear.&lt;br /&gt;
 myuser@localhost ~ $ xauth list&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;0&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
Let&#039;s look at that line, first up is your localhost, then unix, and last the display number,:0 (in bold). The rest is not really of interest.&lt;br /&gt;
Copy the whole line, but change the display value to 1 and paste it after the command &#039;&#039;xauth add&#039;&#039;, like this:&lt;br /&gt;
 $ xauth add localhost/unix:&#039;&#039;&#039;1&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
Run xauth list again. You should see a new entry.&lt;br /&gt;
 myuser@localhost ~ $ xauth list&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;0&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
 localhost/unix:&#039;&#039;&#039;1&#039;&#039;&#039;  MIT-MAGIC-COOKIE-1  14ec70e7c8cc835def61a04c92bbd50d&lt;br /&gt;
You now have permission to use display 1:0.&lt;br /&gt;
To start fs2_open in that display, use xinit.&lt;br /&gt;
 $ xinit /path/to/fs2_open_r -foo -bar -- :1&lt;br /&gt;
The &#039;&#039;-- :1&#039;&#039; tells X that we want to start fs2_open on display 1.&amp;lt;br&amp;gt;&lt;br /&gt;
You can switch between display 0 and 1 with CTRL+ALT+F7 and CTRL+ALT+F8 respectively.&lt;br /&gt;
&#039;&#039;If someone knows of a good method to start fs2 on a second X display from an xterm without changing Xwrapper.config, please report it here.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A solution might be running xinit as root with sudo, and drop the root privileges in the startup script... Didn&#039;t tried, though.&#039;&#039; -- nodens&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xgame / xgame-gtk2 may be of use to achieve this as normal user, see http://xgame.tlhiv.org/ &#039;&#039; -- Lone_Wolf&lt;br /&gt;
==== The &amp;quot;user not authorized&amp;quot; Error ====&lt;br /&gt;
&lt;br /&gt;
If you try this from an virtual terminal from within X11 and obtain the error:&lt;br /&gt;
 X: user not authorized to run the X server, aborting.&lt;br /&gt;
It has been reported that on Ubuntu systems, the file /etc/X11/Xwrapper.config contains this line:&lt;br /&gt;
 allowed_users=console&lt;br /&gt;
This setting specifies that the X server(s) can only be started from console(TTY). &lt;br /&gt;
A possible solution is to change the allowed_users in the Xwrapper.config file to:&lt;br /&gt;
 allowed_users=anybody&lt;br /&gt;
&#039;&#039;&#039;Please note that this undermines X security.&#039;&#039;&#039;&lt;br /&gt;
See man Xwrapper.config for more details.&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>JLP</name></author>
	</entry>
</feed>