Linux Gamers' FAQ

Current topics

About the Linux Gamers' FAQ

Q: What is the Linux Gamers' FAQ about anyway?
A: We will try to answer the most commonly asked questions here, so you can get on to playing games in Linux.
Thanks to icculus ( for hosting this little FAQ. We'd also like to thank icculus for coding the gamelist.

Q: Who is producing this?
A: If you'd like to contribute as well, either mail your diff(s) to zakk (, or get an account on and use cvs to contribute. You can also contribute or complain about stuff via the bugzilla interface ( When contributing please add yourself to the above list.
A: If you don't have the time to contribute, and would like to contribute with gifts, send them to ( instead. Note that any TuxGames links on these pages give 5% of any purchase price on the games to the lead editor, and then this goes to

Q: Where is the latest version of this FAQ?

Q: Is there a mailing list for the Linux Gamers' FAQ?
A: Yes, send a blank e-mail to to subscribe.

Q: What happened to the translations?
A: They were too outdated, feel free to check out the CVS and submit updates for them directly to zakk (

Native Ports

Q: Just who does port commercial games to Linux, anyway?
A: For some time now, a few companies have been nice enough to port their games in-house and often release binaries for free, some companies not only release native ports, but also release source! Other companies, known as porting houses exist soley to port games to Linux. Usually boxed with the hope that they can be sold at retail.

Q: Okay, what developers have ported their own games?
A: id software ( over the years has released ports (and in some cases source) for it's various titles. You can find their ports and some source available on
A: Epic ( of UT fame did the original work on porting UT, before handing off to Loki. Daniel Vogel, who worked on UT at Loki, now works at Epic. Epic has also hired's own Ryan C. Gordon to work on UT2003, for which a demo is available. UT2003 also shipped with a linux client, making it one of the few games to ship with a Linux version on the release cd!
A: (whom no-longer owns that domain) released source to Abuse (, currently you can find an excellent port of Abuse at:
A: Creature Labs ( has ported Creatures 3 Docking Station and Creatures 3: Internet Edition to Linux. Linux Game Publishing controls distribution of the Linux version.
A: BlackHoleSun ( has released a number of games for Linux.
A: Mountain King Studios ( has done a port of Raptor: Call of the Shadows.
A: Introversion Software ( has their port of Uplink on the same cd as the Windows version.
A: Vicarious Visions ( released Terminus with binaries for Linux in the box. Currently, Terminus Point ( releases updates.
A: Pom Pom ( has done a port of their arcade-style shooter Space Tripper, and their Mutant Storm.
A: MP Entertainment ( released their adventure game Hopkins FBI on Linux.
A: Sunspire Studios ( have taken over TuxRacer in a commercial fashion.
A: Pyrogon ( hired's icculus, and later EonGames' David Hedbor to port their games.
A: eGenesis ( has ported their Massively Multiplayer game, A Tale in the Desert to Linux.
A: Bioware is porting Neverwinter Nights to Linux, currently in Beta Phase 4.
A: Chronic Logic ( ported their own TripTych and Pontifex II.
A: Croteam ( let icculus port Serious Sam (The First Encounter).

Q: And what porting houses release commercial ports for Linux?
A: Loki Software (
A: Hyperion Entertainment (
A: Tribsoft (
A: Linux Game Publishing (
A: Eon Games (

Q: I heard Loki is dead, is this true?
A: Yes, as of Febuary, 2002, Loki ceased to exist. Currently, you can find Loki's open source projects hosted on For support, see the external resources. MindRover, for instance, got picked up by LinuxGamePublishing, so users will be able to buy a new patch (and support) for $4.80 (USD) from their website (

Q: Can I get a list of commercial games?
A: Sure,

Q: What about the source releases, where are they covered?
A: We try to list the good source ports for commercial games in the above URL as well.

Acquiring Commercial, Packaged Games

Q: Where can I find commercial games for Linux?
A: There are many online stores where you can find commercial games, for instance provides a wide selection to gamers in Europe and the United States. For commercial games ported by a specific company, please see the following questions.

Q: Where can I find Loki Software's Games?
A: provides a reseller list:

Q: What architectures have Loki Software's Game been ported to?
A: A list is available at

Q: Where can I find Tribsoft's games?
A: Unfortunately, is no longer owned by the porting company.

Q: Where can I find Hyperion Entertainment's games?
A: Hyperion's site ( doesn't appear to have a reseller list, so basically you are limited to online stores like

Q: Where can I find BlackHoleSun's games?
A: BlackHoleSun is no longer taking orders over the internet. They recommend that you go to

Q: Where can I find Linux Game Publishing's Games?
A: Linux Game Publishing maintains a reseller list:

Q: Where can I get Introversion's games [currently only Uplink]?
A: Introversion maintains a reseller list here:

Q: Where can I find MP Entertainment games?
A: is MP Entertainment's reseller list

Availability of Binaries

Q: Why do you keep recommending online Linux retailers for games which are for Windows but have Linux binaries?
A: When you buy a game from an online Linux retailer, the money shows up as a Linux sale. When you buy from Electronics Boutique, the money shows up as a Windows sale. If you want more games for Linux, buy Windows games which only have binaries available from an online Linux retailer.

Q: I have Quake 3: Arena and/or the add-on pack, Team Arena for Windows, can I procure binaries/patches so as to play my non-Linux Quake 3 game, in Linux?
A: You can get a Quake 3 installer from
A: If you buy Team Arena from TuxGames, then you get an extra CD with the relevant binaries already included in the box.

Q: I have Return to Castle Wolfenstein for Windows, can I procure binaries/patches for this game so as to play in Linux?
A: Yes, you can download the binaries from
A: You could also purchase a copy with the binaries included from tuxgames (

Q: I have Unreal Tournament, for Windows, can I get an installer for this?
A: Yes, Epic hired Loki to maintain a Linux port. It is available from:

Q: I have Unreal Tournament 2003, for Windows, can I get an installer for this?
A: Yes, it is on the third CD, please read the installation notes here before installing the game.

Q: I have Tribes2 for Windows, there is a Loki logo on the box, doesn't this mean it has the Linux version (or that I am entitled to it?)
A: No. The logo was there as Dynamix's way of saying thank-you to Loki, not as meaning there is any Linux client available for those who purchase the Windows copy. However there is a Linux dedicated server available for the purchasers for Windows copies on Loki's ftp (

Q: I have X game for Windows which was/will be ported by Y porting house, can I download binaries/installers?
A: Unless specifically stated otherwise by Y porting house, no.
In most cases Y porting house has to pay Z developer for the right to port X game, and most likely royalties for each packaged copy as well. So, by releasing binaries they would be greatly losing money. Especially seeing as how bandwidth, programmers, PR, shelf-space, and looking respectable to the outside world costs lots of cash, this isn't a viable method.

Q: I have Neverwinter Nights for Windows, can I get an installer for this? A: No, according to Derek French at Bioware, the InstallShield EULA that BioWare has agreed to does not permit them to extract the files from any InstallShield CAB files with any tool other than an InstallShield program. You will need access to a Windows NWN installation.

Commonly Misunderstood Topics

Q: What if I have a question that's not answered here?
A: First off, check that it's really not answered here. Just because your graphics card doesn't work in UT doesn't mean searching on this page for "UT" will yield the answer. If your game is throwing an error about XQueryDeviceState, have you looked at the rest of the FAQ to see if it is referenced with respect to any other game? If your joystick doesn't work in Heavy Gear 2, that doesn't mean that an answer to a question about Descent 3 won't fix it. You're using Linux. A certain degree of self-help and lateral thinking never goes amiss. If that means that you need to read the whole of this FAQ, consider everything that doesn't answer your specific Question to be a learning experience.

Q: Do these porting houses provide any support for Windows copies of games, ported or otherwise?
A: In most cases they don't provide support for Windows copies of games. Loki did however provide support for Unreal Tournament on Linux, although only Windows CDs are available for purchase.

Q: Do the id game source releases mean that it's okay to download the pak files and wads and such?
A: No, the pak files, wads, and such are still available for purchase. The source releases and GPL'ing of the Wolfenstein 3D, Doom, Doom 2, Quake, and Quake 2 engines does not negate purchasing a copy of the game data which contains all the art, sound and map files.

Q: What of other source releases?
A: The only release we are aware of which also freed the relavent art, sound, and such, is the Abuse release. You can find these data files included with a source port for Linux on the Abuse-sdl website (

Q: Since Loki is out of business, am I legally/morally allowed to distribute or use warez versions of their games?
A: Nope, don't do this. It's that simple. Warez, of any kind, is wrong.

Q: Why isn't the Half-Life client ported to Linux?
A: Because Sierra/Valve decides who gets to touch their code, and decided against letting anyone port the client. Besides this, if it were released as a commercial boxed game, the people releasing it would _probably_ be putting the nail in their own coffins, as the game already works at an average level in some windows emulation software.

Q: Do any of the porting houses sell Windows versions of games?
A: No.

Q: Will any of my boxed Linux games work in Windows?
A: No. With one notable exception, the Quake 3 tin boxes Loki sold can be made to work.

Q: Should I piss off the lead programmer by sending streams of e-mail demanding to be on the beta or I won't buy the product?
A: No.

Q: Do any of my x86 binary-only/loki_setup-ified Linux games work on ps2linux/OS X/AIX/Alpha/etc?
A: No.

Q: You people suck! Support my platform!
A: No.

Q: This site icculus does so many cool ports!
A: Perhaps you misunderstood. Icculus is a person, not all the things on are his.

Q: I read in Ryan Gordon's .plan, or heard on irc, or heard from holarse, that he was working on a client of ...
A: it's like christmas. if you expect not to get a client, you might get a pleasant surprise. if you expect one, then Santa Claus's shadow armies will attack you with blunt objects.

Q: Where can I get one of those shadow army things?
A: From Loki Software. a free shadow army starter pack will be bundled with Deus Ex.

Q: Why isn't this the GNU/Linux Gamers' FAQ?
A: Perhaps you misunderstood, we're playing closed source games, sometimes using closed source video drivers. We also think that if you're going to go that far, it might as well be GNU/SDL/Plib/ClanLib/Loki/Tribsoft/Epic/id/nvidia/OpenAL/Linux.

Q: So, for the sake of argument, say I've done everything described here, my machine locked up. Is there anything you recommend I do instead of just pushing the magic button, given that I don't like fscks and corrupt files and stuff?
A: First off, try hitting ctrl+alt+bckspc, then ctrl+alt+del half a second later. If you hear a beep, then your machine will be rebooting shortly, and you should wander off and leave it for a while.
A: If that doesn't work, you can probably use the Magic SysRq button. Technically, you should read /usr/src/linux/Documentation/sysrq.txt, but a brief, catch-all solution is as follows: hold alt, and then hold down SysRq as well. If you don't have a SysRq key, it's the prt screen button. After that, while still holding those two keys, push "s". Then wait a moment [disk activity here is considered a good thing]. Still holding alt and SysRq, push "u". Wait a moment [disk activity here is also good]. Then push "b". Read the file named above to find out what all this is about.

Q: Where's Crusader?
A: He was sentenced to an eternity of imprisonment in the Phantom Zone. He is eagerly searching for a nuclear weapon to breach the barrier and return to Planet Houston. KNEEL!

Non-Commercial, Free Software

Q: Where can I find freeware/GPL'd games?
A: In our Linux game list:
A: Many of the library sites mentioned below list what games use their libraries.

Installation Queries

Q: How do I install this .run file?
A: sh

Q: How do I install this .bin file?
A: Try sh file.bin
A: If that doesn't work, you need to give it execute access then run it: chmod +x file.bin;./file.bin

Q: I'm using {random loki_setup based installer}, and it's telling me the "installation doesn't support glibc-2.1" or something
A: Just type the following before running [or the installer]
export SETUP_LIBC=glibc-2.1

Q: I've just downloaded an installer, and when I run it it says "/bin/sh: bad interpreter: permission denied"
A: Try redownloading the file with a download utility. Like downloader for x: Browsers sometimes see the installer's first couple lines of text and assume the rest is just english too.
A: Also, try running chmod +x on the file.

Q: I've just downloaded a loki_setup'ified installer, and it says "Error in MD5 checksums"!
A: Download the file again, possibly from another host, or using another program to download. This occurs when the file is corrupt.

Q: This installer that came with Heretic 2/Myth 2 doesn't seem to be working! ~or~I want to play this Loki game on a different architecture!
A: Most of the time this kind of problem will pop up when the software on the CD is outdated to current developments in distributions and other software. In any case, you can download new installers for Heretic 2 and Myth 2 (and other architectures) from Loki's ftp site (

Q: Why doesn't Unreal Tournament seem to be installing properly with the installer provided by Loki?
A: There are many different versions of Unreal Tournamenmt, most likely, you have the wrong installer for the version you are using. The 'Best of Infogrames' and 'Totally Unreal' versions of the game aren't supported at all. While you can install using a plain UT retail CD (you'll note the CD is blue, as is the jewel case). Or, from a Game of The Year edition CD (red cd, red jewel case).
A: The CD that came with your creative card may work if you get /really/ heavy on it, but it's actually unlikely. It doesn't simply install & work. At the moment, you can get a pack with UT, UnrealI, and Return to Na Pali for about 20 bucks; at least two of those will run in linux...

Q: UT still won't install, can I specify the CD directory?
A: Yes, if you want to install Unreal Tournament remotely, or the installer doesn't find your CD-ROM drive properly, export the enviroment variable SETUP_CDROM before running the setup installer. For example:
$export SETUP_CDROM=/path/to/cdrom

Q: Even after specifying the CD path, UT still won't install, because it can't find the CD!
A: First of all, make sure the Joliet extensions are enabled in your kernel since the UT CD was burned using the Joliet extentions for the long filenames, and that you are using the correct installer for your CD. A quick test is to mount the UT CD and list the files on it. If the filenames are all 8 characters or less, and contain tildes (~), then you do not have the Joliet extentions enabled. You will need to recompile your kernel and/or modules to enable the Joliet extentions.
A: If you are running SuperMount or an auto-mounter, you may need to manually un-mount and re-mount the CD prior to pressing "Retry". You may also need to kill the associated daemons, to prevent them from confusing the CD detection.

Q: I've just bought Unreal Tournament 2003, and i can't get it to install. The installer on the third disk asks me to install the "PLAY" disk, but no matter which disk i try, they all fail. What's wrong?
A: The Linux installer asks for the wrong disc names. This was the results of an unfortunate miscommunication right before the disc went gold. The installer will ask for "play disc", "disc 1", "disc 2". What it should ask for is "disc 1", "disc 2", "disc 3". This is obnoxious, but it is not fatal, as the text is just used in the user interface, and is not used in detecting the disc. Just put in the disc it wants, not the one it asks for. :)
A: Note that, perhaps most importantly, the other questions about the original Unreal Tournament apply. Especially with regard to joilet support. When you mount disc 3 to look for the installer, you should see, not The option you want (as far as my 2.4.19-based system is concerned) in the kernel configuration is under "Filesystems". Enable "ISO 9660 CDROM file system support" and then "Microsoft Joliet CDROM extensions". If there is a "Rock Ridge extensions" option, enable that too.
A: Do not sit on the mount point, or you won't be able to switch discs. So if you do this (or something like it):
mount -t iso9660 -r /dev/cdrom /mnt
cd /mnt
You won't be able to unmout the disc when the installer asks for the next disc in the series, since your shell is still sitting in the mountpoint. It will work better if you do something more like this:
mount -t iso9660 -r /dev/cdrom /mnt
cd /somewhere/else
The installer copies itself to $TMPDIR before running, so it shouldn't be sitting on the mountpoint. If this still isn't working, copy the installer yourself, to make sure it is not blocking your unmount:
mount -t iso9660 -r /dev/cdrom /mnt
cp /mnt/ $HOME
umount /mnt (this is making sure the disc is unmountable)
A: Are you using Mandrake? If so, you will probably need to disable supermount for your CDROM/DVDROM drive, since it appears to be interfering with the installer's ability to detect the CDROM properly. To turn it off, run drakconf, go to "Mount Points" -> DVD (or CDROM) -> Options -> uncheck supermount.
Save your changes, make sure the CDs are completely unmounted, and then try the installer again. you'll need to manually mount the cdroms, insert disk 3, run the installer, and it should work fine now.
Other distributions will need to use their way of turning off supermount, although we don't know of any others that use it by default.
A: If you get a bunch of errors to the console for each file installed, talking about different devices in your /etc/fstab, they can (usually) be ignored. If they are causing trouble, temporarily comment those lines out of fstab. (If that makes you nervous, the SETUP_CDROM environment variable described below accomplishes this better.)
A: If you have multiple CD drives, and the installer is continuously grinding the one you're not currently installing off, then tells you "mount: no media" or similar, just stuff one of the other ut2k3 CDs into that drive. The installer will even pick up on that and save you a disk change later.
A: If you are SURE you've got the correct disc mounted and the installer seems to disagree, export the environment SETUP_CDROM before running the installer, and you might be able to fool it (this is untested):
export SETUP_CDROM=/where/i/mounted/the/cdrom
The installer doesn't care if it's really a CD, so if you get really desperate, you can copy it to your harddrive or mount an ISO on a loopback device, etc. The installer just looks for files in a directory tree to decide if the CD-ROM is mounted. If you've got multiple CD-ROM or DVD-ROM drives, mount a disc in each and export SETUP_CDROM_CD1, SETUP_CDROM_CD2, and SETUP_CDROM_CD3, and the installer will go directly to those locations for the needed files.
A: The installer will seem to install some stuff very fast, and then really REALLY slow down, taking a long time for individual files. THIS IS NORMAL. Files that are compressed into Epic's "uz2" format take a long time to uncompress. This is the bulk of the installer's work. This game takes a LONG time to install (you are, after all, uncompressing about 2.5 gigs worth of data).
A: Read this:, and this:
A: If none of the above works, consider e-mailing our mailing list after subscribing as described above.

Q: I can't umount a CD! It's telling me "device in use" or some such garbage?
A: You need to find out which processes have files open on the CD. Use something like fuser -m /mnt/cdrom or similar [as root] to find what processes have files open on the CD. Notable candidates include if you, as your mortal user, mounted the CD and changed to that directory, then su'd to root. The shell your mortal was running as it still on the CD, so you won't be able to umount it.

Q: I'm running debian unstable, and I'm getting some kind of error about loki_patch when I try to upgrade something
A: In what we generally consider to be no mean feat, Debian unstable actually breaks some static binaries.
The only current solution we know of is to download the CVS of loki_patch, and loki_setupdb from, and build them. (There's also, for the time being, a working version at Errors about "parser.h" and "tree.h" are caused by you not having an up-to-date version of libxml.
Run the patch with "--keep", and you'll find the patch doesn't delete it's temp files after it has exited. With your new loki_patch binary, overwrite the loki_patch binary in /tmp/patch-name/bin/Linux/x86, and re-run /tmp/patch-name/ [where patch-name varies based on what you're trying to install

Q: Is there any way to install the original Unreal on Linux, if I have UT installed?
A: Chunky has built an installer for exactly this task, which can be found on his web page here: It is also available from tuxgames:

Q: How do I install .umod files in Linux?

Q: How exactly do I install the linux variant of Q3 when I have the windows CD?
A: First, download the point release from Run it with something like "sh".
Then, simply copy pak0.pk3 off the CD into /usr/local/games/quake3/baseq3

Q: How do I install Quake 3/Return to Castle Wolfenstein modifications?
A: Simply uncompress Quake 3 mods into their own directory under ~/.q3a/.
A: If you want to install Quake 3 mods system-wide, you can uncompress them into /usr/local/games/quake3/.
A: Return to Castle Wolfenstein similarly uses ~/.wolf/ and /usr/local/games/wolfenstein/ by default.

Q: How do I install custom mods and maps for Myth 2?
A: Unzip the mod and/or map in a temporary area, then, copying only the map file, place it in your ~/.loki/myth2/plugins/. Don't put anything but your map and mod files in this directory.

Q: Allright, I've downloaded games now some won't compile/run , is there something I'm missing?
A: There are several popular libraries which are often required by most free Linux games, Simple DirectMedia Layer (, PLIB (, ClanLIB (, OpenAL (, and Allegro (
A: You might not have your XFree86 development headers. Some distributions neglect to install these by default and you will need to locate them for the exact version you are using, or replace the X version that came with your distro.

Q: When compiling some game, I get something about gz_open!
A: Some Linux distributions have old versions of zlib installed as /usr/X11R6/lib/libz.a, and a newer version at:
If you find your system to have these two libz.a files, remove or move /usr/X11R6/lib/libz.a
A: You may also need to delete /usr/X11R6/include/zlib.h

Q: I'm getting an error at compile-time about gzgets even though the types all look just fine to me?
A: Some distributions and/or installs of X have a /very/ old /usr/X11R6/include/zlib.h [about 1.0.4]. Remove or move it.

Q: I'm running some distro that has a very new glibc (debian, slackware beta), and it is having problems with loki_setup, what should I do?
A: You can run the setup with --keep to preserve the files. Then you can compile your own copy of loki_setup ( and replace setup and/or setup.gtk, then run

Q: I'm using Ravage's installer for Neverwinter Nights, and it's not working? A: Ravage's installer only works on Beta 1 and 2 of NWN, not Beta 3 and 4. Video Queries

Q: What's the definitive way to know if GL is working or not?
A: At a console type the following: glxinfo | grep direct if it replies with direct rendering: Yes. Then GL _should_ be working.

Q: What cards does DRI support (What Drivers should I use for my Card)?
A: To answer that, you'll have to check out
A: You also want to avoid using DRI with an nVidia card. For nVidia cards, use the drivers from their official website at
A: If you have an ATi Radeon 8500 or any newer model there are drivers available from ATi: http:/
A: If you've got a Kyro II from PowerVR, visit this page for drivers:

Q: I'm playing X game, and it's so small, just this little part of my screen!
A: Most likely, you don't have the default resolution for that game defined in your XF86Config, engage $EDITOR.

Q: My mouse has a wheel, but it's not working, what's up with that?
A: Make sure you're using the proper protocol for your mouse, most of the new optical mice for instance use the "IMPS/2" protocol. As defined by your XF86Config's InputDevice section. The instructions for the next answer won't work if the proper protocol isn't being used.
A: If you're using XFree86 version 4.x put this in your /etc/X11/XF86Config(-4):
Section "InputDevice"
Option      "Buttons"     "5"
Option      "ZAxisMapping" "4 5"

A: If you're using XFree86 version 3.3.6 (or lower):
Section "Pointer"
ZAxisMapping    4 5

Q: I have this fancy 5 button Microsoft Mouse Intellimouse and I'd like to use the side buttons in games. How?
A: It's pretty simple. Change your mouse configuration section in XF86Config to look something like this:
Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option "Buttons"      "7"
    Option "Protocol"     "ExplorerPS/2"
    Option "Device"       "/dev/input/mice"
    Option "Resolution"   "300"
    Option "ZAxisMapping" "6 7"

Modify the above according to your hardware. For example, if you have a PS/2 mouse, use device /dev/psaux. You'll aslo need to add a command at X startup to make sure the mouse wheel still works as before: xmodmap -e "pointer = 1 2 3 6 7 4 5" (if you start X from the command line and use an ~/.xinitrc file, put that line in there) or add the following line to /etc/X11/Xmodmap (this might be a RedHat default location...YMMV):"pointer = 1 2 3 6 7 4 5"
Quake 3 and Return to Castle Wolfenstein make use of these buttons thanks to TTimo taking the time to heed requests (read "nags") from the Linux community. Thanks TTimo! For other games, try clicking the button, and see if it works. Or bug the developer!

Q: I'm using twinview and I want to use one monitor in fullscreen for a game and leave the other monitor available for other apps. Is this possible?
A: Yes. The principle is pretty easy. Basically you want to run all your games in windowed mode in the same resolution as one of the monitors, presuming your hardware will can support the resolution and still have a playable game. If not, there's still a way. The first way can be done like this: Start the game and select to run it in "windowed mode". Sometimes this means "full screen: no" in the game's menu. Once you see the game in a window, make your window manager remove the window dressing (This means the title bar and sides surrounding the window). Once this is done, move the window into place, and tell your window manager to "remember" where it goes. You may be scratching your head wondering how you can grab a window with no title bar! Well, as an example, let's see how this can be done using Enlightenment:
Step 1) Remove the window dressings: hold down ALT and right click the window, a menu will pop up. Go to "Set border style" and select borderless.
Step 2) Move the window: Hold down ALT and left click/drag the window into possition.
Step 3) Remember the settings: Hold down ALT and right click on the window. Select "Remember" and choose to remember the location and border style.
Voilá! Next time you start that game, it'll be right where you left it! Of course, there are some issues with all this. First, if you don't use E, you'll have to figure out how to do the above steps using your window manager. Also, some games tend to "capture" the mouse. You'll have to figure out how to release the mouse to do some of these steps. For Q3 and RtCW, simply drop down the console (~), and for loki games, use CTRL-g. The second way involves changing the resolution of the monitor you'll be playing the game in. Everything is the same as above, but the only difference is that you'll have to configure X to setup the resolution in question, then change to that resolution once the game starts. You can even script the resolution change by using xvidtune.

Q: I'm having problems setting up my DRI-supported card, is there anywhere I can get a sample XF86Config?
A: Yes,

Q: My 3DFx card doesn't seem to be working in general, I'm not sure why...
A: Are you running at 16bpp? All the Voodoo cards below the Voodoo 4 need to run in 16bpp for 3D acceleration. To change this edit your XF86Confg(-4) like so:
Section "Screen"
DefaultColorDepth 16

Q: My 3DFx card doesn't seem to be working with a variety of games since I upgraded my distribution and/or my XFree86 version, why is that?
A: Most likely the problem you're having is that a variety of games (Myth 2, Unreal Tournament, et cetera) were set for use with Glide2x, which is no longer available in XFree86 4.x. Usually, you can just switch to the opengl rendering for whichever game. Instructions for doing so with UT can be found here

Q: I have a DRI supported card, in some games I see slowdowns in certain areas, or corrupted graphics...
Q: I'm playing certain games and I get effects like pieces of screen not being refreshed like when you noclip outside a wall in Q3...
A: Most likely, your problem is with multitexturing. Multitexturing can be disabled in most games, you'll have to investigate on your own to find out how for your particular game(s), however.

Q: Using DRI, I get these errors about "libGL error: failed to open DRM: Operation not permitted", what does that mean?
A: It means the permissions are wrong, simply add this section to your XF86Config(-4):
 Section "DRI"
      Mode     0666

Q: I have an nVidia card, and I'm getting an error about not being available
A: Some distros don't include /usr/lib in /etc/ This means that where nVidia put their libraries by default doesn't actually make them available. Edit /etc/ and make sure it has _at least_
in /etc/, and run /sbin/ldconfig

Q: My nVidia graphics card keeps locking the entire machine up, and I have to ssh in to reboot
A: First, do you have the latest drivers?
A: Next, try disabling AGP in your BIOS, or setting it to a slower speed. If you have a VIA chipset, 4x is very unlikely to work.
A: For those running KDE, try disabling Anti-Aliased fonts. Or try commenting out the loading of the freetype support in your XF86Config.
A: You could try going back to an older version of the drivers. Counter-intuitive, but some people have more success with older ones.
A: Check your /etc/X11/XF86Config(-4). There is one included with the nVidia driver distribution. Chunky has put his up as a simple example here:
A: [Thanks, Johan Schuring], If you're using Mandrake and you're getting errors about "extension glx not found", or if you try to run any accellerated app and it says "suitable visual not found" or something, you may need to change the line
Load "glx"
to read
Load "/usr/X11R6/lib/modules/extensions/"

Q: I've done everything you said, but my nVidia drivers still aren't loading properly, and although it works, it doesn't do GL at speed or anything
A: Check that you've given your NV card an IRQ [this should only be a problem for people with pci cards]. If you haven't there will be a message when the NVdriver module loads, but you'll probably not see it as it goes past too quicklky.

Q: I'm experiencing strange crashes in a variety of games which nothing else seems to fix. Sometimes it is while changing resolutions...
A: First, check for updates. They may be beta, but sometimes they fix problems like this. That includes Tribes 2 on Loki's FTP mirror (
A: You might try doing this in a terminal before running your game (from the same terminal):
export LD_PRELOAD=/usr/lib/
A: If your crashes are random and with Athlon hardware (as in, not always when you start a GL game, but sometime whilst you're playing) try passing the mem=nopentium option to your kernel while booting from your favourite boot loader. If that helps things out, you can add it to your /etc/lilo.conf file as append="mem=nopentium". Make sure to re-run lilo -v after adding it, this will check for problems with the lilo configuration file. Also note that this may be worked around in the latest stable kernels.

Q: The nvidia driver has really slow 2D! What can I do?
A: X makes use of Memory Type Range Register (AKA "mtrr", check out /usr/src/linux/Documentation/mtrr.txt for more info). To see if you have mtrr enabled in the kernel, do: cat /proc/mtrr. If you don't have that file, you don't have mtrr. Re-compile your kernel with this option enabled. It's in "Processor Type and Feature" in the kernel config. You want this feature. There is a known issue with version 1-0.4191 of the nvidia drivers where 2D is just slow. It is not related to mtrr. 2d performance appears to be much better with version 1.0-4349.

Q: I'm having other problems with my nVidia graphics card, is there anything else I can try?
A: Try this script:
A: Did you compile your own kernel? Do you have a VIA chipset? Make sure you compiled in support for it. There are some explicit workarounds that need to be enabled.
A: Make sure your video card has an IRQ assigned to it. This is set in the BIOS, and the option is ordinarily called "Assing IRQ to VGA". Once in Linux, lspci -v will show if your card has an IRQ. Don't rely on cat /proc/interrupts! The IRQ won't show up for your video card there unless a driver is using it, which won't be the case unless it's already setup properly.
A: Make sure NVdriver has been installed and is loaded. Use lsmod | grep NVdriver to see if it's loaded. If not, try loading it manually with insmod NVdriver.
A: Unresolved symbols when compiling/installing NVdriver. You must use the kernel source tree that compiled your kernel If you are compiling the kernel module (NVdriver) from source tarball or source rpm. If you compile your own kernel, you probably have it in /usr/src/linux, and will be ok, presuming that's the tree that compiled your running kernel. If you use a kernel from a distro, make sure you have the kernel source packages installed for that particular kernel. (i.e. if you use RedHat, install the kernel-source and kernel-headers packages from the RedHat CD-ROM)

Q: Some game crashed and I can't switch back to my normal resolution using CTRL ALT +/-
A: You'll need to run xvidtune -unlock.

Q: Some game crashed and I can't seem to do anything.
A: Try the keys CTRL ALT Backspace all at once to kill your X server, if this doesn't work your best bet is to ssh in from another one of your boxes, and either reboot, or try something else.

Q: Can I use OpenGL with Myth 2?
A: With the latest patch, yes.

Q: How do I turn on OpenGL fog in Heavy Gear 2?
A: hg2 -g for the true OpenGL fogging. If your driver does not support this, you will need to start it with the vertex-fogging hack, hg2 -x.

Q: I try to start either Quake 3, or Return to Castle Wolfenstein}, and I get an error about libMesaVoodooGL-something-something-something
A: Just start the respective binary with the "+seta r_gldriver /usr/lib/" (if you're an nVidia user) or "+seta r_gldriver /usr/X11R6/lib/" (elsewise). You should only have to do that once.

Q: Some OpenGL game is running really slowly...
A: Your game is probably using the wrong library for GL. The instructions above for Quake/RtCW about libmesavoodoo-something-something-something apply here
For UT, edit your config file and make sure the GL library points to the right one
Loki games usually take a parameter to point to the correct libGL to use. run "game --help" to find out what it is. Check out any config files you can find stored in locations mentioned in the Game Queries section.
A: If you're running a non-nvidia card, make sure that X says "direct rendering enabled" in the log (/var/log/XFree86.0.log). If it doesn't, make sure you're loading the dri module in /etc/X11/XF86Config
A: For anything else, and what is actually the better, cleaner solution, anyway, you need to get rid of the incorrect libraries on your system. Run the command ldd sproingies [or any other trivial openGL app, eg gears], and look for which libGL is being used. If it's not the correct one [as described above], then you want to get rid of it, as it's probably not helping your cause.

Q: My menus in UT look wrong, maybe even with black boxes where the text should be, how can I fix this?
A: Some faulty OpenGL implementations cause this. You'll need to edit your ~/.loki/ut/System/UnrealTournament.ini. Look for the line in the RenderDevice sections that says UsePalette. Change the value from 1 to 0.

Q: UT crashes on my DRI supported card when I press ESC to bypass the opening movie.
A: You can try setting SDL_VIDEO_X11_DGAMOUSE=0 in a console before running UT like so:

Q: How do I change Unreal Tournament's renderer after installing?
A: Note: It is recommended that you use the OpenGL rederer, and not the SDLGL one. The OpenGL one continued development long after the SDLGL one ceased being worked on, and as such is both faster and more reliable.
A: Edit your ~/.loki/ut/System/UnrealTournament.ini.
A: For the SDLGL renderer:
A: For the OpenGL renderer:
A: For the Glide renderer (Voodoo 1/2/3 cards in XFree86 3):
A: For the Software renderer:

Q: Unreal Tournament 2003 runs very, very, slowly!
A: Is your video card using AGP? Are you sure?
A: Look in your ~/.ut2003/System/UT2003.log for the line:
WARNING: Couldn't allocate AGP memory - turning off support for GL_NV_vertex_array_range
to get the definitive check for AGP.

Q: OK, I appear to not have AGP/it's still slow.
A: Try changing your AGP system from NVAGP, to AGPGART, or vice-versa.
A: The OpenGL rendering in UT2K3 is very cpu-limited.
A: Are the quality or resolution settings too high? Unreal Tournament 2003 is a very new game, with very new requirements. Most people who are used to playing older games at 1280x1024, or other, high resolutions, will note that UT2K3 is much slower at this resolution.

Q: How do I see what framerate I'm getting in Unreal Tournament 2003?
A: Drop down the console with `(tilde), type stat fps.

Q: How do I take a screenshot in Unreal Tournament 2003?
A: Press the F9 key.

Q: I'm getting this message in UT2003 about Xlib: extension "XiG-SUNDRY-NONSTANDARD" and something about a hull!
A: Don't panic, both of these messages are harmless.

Q: I have a Radeon card. Why won't Unreal Tournament 2003 run?
A: Unreal Tournament 2003 makes extensive use of Savage Texture compression (colloquially, S3TC). Since your drivers don't support S3TC, you should upgrade your drivers, the newest ones should support S3TC.
A: Xi Graphics (, has drivers for the Radeon which support S3TC. Beware, these cost money, and none of the LGFAQ authors/editors have tested them.
A: The latest version of Unreal Tournament 2003 has a software path for dealing with S3TC. Expect it to look like poop for the moment, but if the DRI developers fix it later, it should be playable on boxes with fast CPUs.

Q: I have a very old TNT or TNT2 card that I recently purchased at bargain basement prices, surely, this card will work with Unreal Tournament 2003?
A: No, your card does not support S3TC, although the nvidia drivers do.

Q: Whenever I run Unreal Tournament 2003 I get the message "OpenGL renderer relies on DXTC/S3TC support." and it exits. What is this?
A: This is, again, a lack of driver support. You need S3TC in your OpenGL drivers before the game will work.

Q: Nvagp or Agpgart? Which is better when using the nvidia driver?
A: This usually boils down to a question of stability. In the early days of the nvidia driver, nvagp was more stable, but sometimes slower. Also, some times nvagp didn't support a particular chipset, so it was either agpgart or nothing. Nowadays, it's commonly presumed that agpgart is a bit faster than nvagp, but nvagp is more stable. This is really something of a gamble, and depends on your hardware. Try agpgart first. If it works, great! If your box proves to be unstable with it, use nvagp. If it continues to be unstable, you may have to disable agp altogether.

Q: When I start X, there's a big green box on the screen and my box crashes. What is this?
A: This is due to rivafb being compiled into your kernel. The nvidia driver is not compatible with rivafb. You'll need to recompile your kernel without rivafb. The rivafb option can be found in the Console Drivers -> Frame Buffer Support section of the kernel config.
A: Alternatively, if you can just pass the kernel the option video=rivafb:off, you won't need to recompile your kernel. Add the following line to /etc/lilo.conf, then run /sbin/lilo as root:

Q: I get weird looking textures when playing Q3 using the nvidia driver. WTF?
A: This is a result of having Mesa GL libs somewhere on your system. The nvidia driver usually does a good job of finding and removing these conflicting libraries, but some times they get missed or maybe re-installed by other programs. The most common solution is to do: rm -f /usr/X11R6/lib/libGL.* (Note that it reads "rm -f /usr/X11R6/lib/libGL.*", not "rm -f /usr/X11R6/lib/libGL*". The latter would remove the much needed* files. We wouldn't want that). If that doesn't work, do "ldconfig -v | grep libGL" and look for something that looks like "". That is a Mesa GL lib. Find which directory it's in by doing "locate" (or "find / -name", if locate doesn't work), cd into the directory containing the lib, delete it and any* symlinks that link to it. You might want to re-install the nvidia GLX package after this, just in case. If none of that helps, you might have a GL library somewhere else. You can always tell Q3 which library you want to use from the command line: quake3 +set r_glDriver /path/to/ (that path is usually /usr/lib/ Once you do this and cleanly exit Q3 afterwards, that setting will be saved in your user's quake3 config, so you shouldn't have to do it again.

Q: How do I see my framerate in Quake 3 while playing the game?
A: Drop down the console with ` and type /cg_draw fps 1.

Q: How do I enable FullScreen in FreeSpace 2?
A: Edit your FreeSpace2.ini/FreeSpace2Demo.ini adding the following to the [Default] section:

Q: How do I switch to 1024x768 in FreeSpace 2?
A: Edit your FreeSpace2.ini/FreeSpace2Demo.ini editing the following in the [Default] section:
Videocard=OpenGL (640x480)
Videocard=OpenGL (1024x768)

Q: How do I get a different resolution in Tribes 2, than what's in the menus?
A: Edit your ~/.loki/tribes2/base/prefs/ClientPrefs.cs. Look for: $pref::Video::resolution

Q: How do I overclock my nVidia card in Linux?
A: The nvclock utility provides that functionality.

Q: My desktop is at resolution YYYxZZZ, and my games are refusing to run properly in any other resolution?
A: You need to add the resolutions you want to run the game at to /etc/X11/XF86Config's screen section:
Section "Screen"
    Identifier "Screen AGP"
    Device      "GFII GTS"
    Monitor     "Chuntex"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"

Q: How do I set enviroment variables, so I can enable fun effects on my nVidia card?
A: export ENVVARNAME=VALUE, so, for full scene anti-aliasing you might export __GL_FSAA_MODE=4 before running your game.

Q: Neverwinter Nights doesn't seem to run on my ?
A: Gothmog of A from the BioWare forums has made a workaround patch for ATI users to try. You can download it here: Note that you shouldn't require the xdelta patch with the latest client released from BioWare. Users have reported success with this patch on TNT2, Matrox 450 and Voodoo5 cards.

Audio Queries

Q: How do I figure out what sound card/chipset(s) I have?
A: Usually this means running cat /proc/pci | less and/or cat /proc/isapnp (depending which bus your sound hardware is on).

Q: How do I get my Crystal 4232 sound card/chipset to work?
A: modprobe cs4232 io=0x534 irq=5 dma=1 dma2=0 note that, although this works for one of the authors, you may need to adjust the settings.

Q: How do I get my Sound Blaster Live to work?
A: modprobe emu10k1. Please also see

Q: I'm running Y SDL game that's using SDL for audio, is there any way I can specify my DSP?
A: Yes, export SDL_PATH_DSP=/dev/dsp. For no sound set it to /dev/null

Q: How can I specify what driver (oss...alsa) to use with these SDL games?
A: export SDL_AUDIODRIVER=dsp, other relevant options are:

Q: How do I disable sound in Quake 3?
A: quake3 +s_initsound 0

Q: I'm running Gnome or KDE and my audio works with some things, but rarely works with games...
A: Most likely, your desktop enviroment is set up to run a sound server. In the case of Gnome, it's usually esound (killall -9 esd). In KDE, it is usually artsd (killall -9 artsd). Both of these can be disabled from inside the enviroment. In Gnome you can disable it inside the gnomecc program. In KDE you can open KDE Control Center -> Sound -> Sound Server -> uncheck Start aRts soundserver at KDE startup, and restart.

Q: In UT, I get some generally scary effects with latency & other things, even though I'm not running arts or esd.
A: Build the latest CVS of OpenAL (, or, if that's too scary for you, follow the next answer (which will yield a lower sould quality if you've got a descent OpenAL setup):
A: [Thanks, Adam Kirchhoff] Are you using the commercial OSS drivers? There's a "feature" of the non-commercial ones and ALSA that means you may get strange effects. UT has a generic audio driver that should fix this for you. In the section:
of your config file, change the line
to say:

Q: My Aureal sound card isn't working with x or y game, is there anywhere I can go for help/updated drivers?
A: Yes,
A: You might also try adding this to your ~/.openalrc
(define native-use-select #f)
A: If none of the other suggestions work, try using this hacked driver source tarball:

Q: Uplink (with the 1.2 patch) isn't giving me any sound!
A: Upgrade to the latest version, it should be fine (and not require esd).

Q: Now Uplink's sound is choppy, what gives?
A: You'll need to renice X and Uplink. First, ps auxw | grep X to find out the proccess ID of X, then renice 10 <pid of X>. Next, ps auxw | grep uplink to find out the PID of uplink, then renice 10 <pid of uplink>.

Q: With my Sound Blaster Live! under Red Hat 7.3 the latest Uplink patch puts out static!
A: You can probably fix this with new drivers:

Q: Unreal Tournament 2003 is getter terrible sound, or none at all!
A: Try this:
echo "(define devices '(sdl))" > ~/.openalrc

Q: Quake games exit, and I see an error about mmap!
A: Your sound card/chipset + driver combination doesn't support this needed feature. However, if you use KDE/arts you may be able to bypass this with the -m switch to the artsdsp wrapper.

Q: Is EAX or any other propietary 3D sound stuff support in Linux?
A: No. Nobody has picked up the ball on getting EAX supported. Neither ALSA, nor OSS (free or otherwise), support EAX or any other propietary 3D sound stuff.

Q: Is there anything like {Roger Wilco, BattleCom, That nasty MS thing} for Linux?
A: There's a new teamspeak linux client out at
A: Yes, But unfortunately you'll have to convince your windows-using friends to use the same software; none of the above are cross-platform. All the programs here are, though.
OpenPhone/ophone (
Robust Audio Tool, AKA rat (
Speak Freely for windows (, and it's Unix counterpart (; a site for the very much more enthused among you

Joystick Queries

Q: How do I enable the gameport on my es1370?
A: Either modprobe the module with joystick=1 or select the tick box for joystick loading in the kernel configuration.

Q: How do I enable the gameport on my es1371?
A: Modprobe the module with joystick=0x200, where 0x200 is the address of the gameport. Legal values are: 0x200, 0x208, 0x210, and 0x218.

Q: How do convince the analog driver that I've got a gameport joystick not a USB one?
A: Pass the analog module the "js=gameport" option

Q: My joystick works, but is uncalibrated/etc
A: You need to use the program "jscal" to calibrate it. If you don't already have it installed, you need to get the CVS of it. If it asks for a password, just hit enter. Simply:
cvs login
cvs -z3 co ruby
cd ruby/utils
If that is more complex than you would like, there are some binaries available:, but they haven't been tested.
That done, you need to "jscal /dev/js0". Do what it says and you should have your joystick configured properly.

Q: Everything else on my joystick works, but the hat seems strange; when I push the hat up, it's up. When I push the hat down, it does nothing. When it's centered, it's down.
A: The hat's strange behaviour is caused by it being an axis, not four buttons. You can calibrate it as above (recommended), or for the brave, you can modify your kernel as described in to change the hat's behaviour so it seems like 4 buttons

Q: In Descent 3, the hat doesn't do anything at all.
A: That's because you're trying to use the hat in a button-like way, make sure that you're altering the "Move up or Down Axis", and not trying to alter the "Move up" as pushing up, and "Move down" as pushing down.

Q: Does this PlayStation Gameport to USB adapter from Radio Shack work in Linux?
A: Yes. Except it doesn't work with PyDDR, so you can't dance your heart out without soldering the mat's circuits to change their layout (as far as what type of signal they send).

Q: How do I make my USB joystick do stuff?
A: Have you modprobed "hid"?

Q: How do I use a different joystick in FreeSpace 2
A: Edit your FreeSpace2.ini/FreeSpace2Demo.ini adding the following to the [Default] section:
Where 1 is the number of the joystick device (same as js0/1/2/3...).

Q: Is there any way to use the Gravis "Grip" Multiport (4-way gameport)?
A: Sure is,

Q: Is there any Force Feedback support in Linux?
A: is a page that offers support for a number of devices.

Q: I see an option in Unreal Tournament 2003 for Force Feedback...
A: Sorry, no. That's only there to maintain network compatability with the versions for other platforms. All (most?) UT2003 files are checksummed.

Networking Queries

Q: How do I foward my FooBillard games with iptables?
A iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 56341 -j DNAT --to

Q: How do I foward my FreeSpace 2 DEMO games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 7802 -j DNAT --to

Q: How do I foward my FreeSpace 2 games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 7808 -j DNAT --to

Q: How do I foward my Serious Sam games with iptables?
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 25600 -j DNAT --to

Q: How do I foward my Dopewars games with iptables?
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 7902 -j DNAT --to

Q: How do I forward my Kohan games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 17437 -j DNAT --to
iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 3855 -j DNAT --to

Q: How do I forward my QuakeWorld games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 27500 -j DNAT --to

Q: How do I forward my regular Quake 1 games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 26000 -j DNAT --to

Q: How do I forward my Quake 2 games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 27910 -j DNAT --to

Q: How do I forward my Quake 3/Return to Castle Wolfenstein games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 27960 -j DNAT --to

Q: How do I forward my HexenWorld games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 26950 -j DNAT --to

Q: How do I forward my Unreal Tournament games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 7777 -j DNAT --to

Q: How do I forward my Sin games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 22450 -j DNAT --to

Q: How do I forward my Shogo games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 27888 -j DNAT --to

Q: How do I forward my Tribes 2 games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 28000 -j DNAT --to
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 28002 -j DNAT --to
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 27999 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 15104 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 15204 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 15206 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6660 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6661 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6662 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6663 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6664 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6665 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6666 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6667 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6668 -j DNAT --to
A: iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 6669 -j DNAT --to

Q: How do I forward my Kingpin games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 31510 -j DNAT --to

Q: How do I forward my Soldier of Fortune games with iptables
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 28910 -j DNAT --to

Q: How do I forward my Descent 3 games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 2092 -j DNAT --to

Q: How do I forward my Andrew Henderson's Sid Meier's Alpha Centauri games with iptables?
A: iptables -A PREROUTING -t nat -p udp -i eth0 --dport 32292:32996 -j DNAT --to

Q: These iptables rules do not seem to work for me, any ideas as to why?
A: The iptables rules are written for PPP dial-up connections. You may need to change the -i ppp0 part to -i eth1 for some types of broadband connections.
A: You will most likely have to change the IP value from to the IP of the box on your network which is hosting the server.

Q: How do I specify a server's ip or hostmask in any Quake (1/2/3) engine game?
A: Bring down the console with ` and type connect followed by the server host name or ip.

Q: How do I specify a server's ip or hostmask in Unreal Tournament 2003?
A: Bring down the console with ` and type open followed by the server host name or ip.

Q: Are there any easier ways to use these iptables rules?
A: Yes, they are in the mistwall firewall package available here:

Q: Is there anything like GameSpy for Linux?
A: Yes, XQF ( which is based upon qstat (

Q: Which games do and don't work networked with {Linux, Other Platforms}
A: Quake 1, Quake 2, Quake 3, RtCW, UT, Tribes 2, Rune, Kohan, Civ:CTP, Heretic 2, Creatures Internet Edition, SiN, Hexen, Kingpin, TuxRacer, Terminus all work fine between heterogenous clients
A: Heroes of Might and Magic III, Sid Meier's Alpha Centauri and Railroad Tycoon 2 are believed to work only with homogenous clients/servers but if you have experience of these, please e-mail any author of the FAQ with verification either way [preferably zakk or Chunky].
A: Descent3 always works when linux servers and clients get together. Linux and Windows works on about 50% of maps or so. If you can't connect, try a different map. The author believes that Mac and Windows behave the same in the respect... if anyone can confirm, please e-mail one of the authors [again, preferably zakk or Chunky]
A: Mindrover vehicles can be swapped without problems. Look in Cognitoy's ( forums for more information.
A: Soldier of Fortune can play fine with heterogenous servers/clients on LANs, but currently you can't connect using WON [the internet thing]
A: Heavy Gear II works fine once you've replaced servers.dat in ~/.loki/hg2/ with the one here: [Although LAN play is still fine]
A: Myth 2 works fine over TCP, but Bungie have now pulled down Validity of and other similar services can be read about here: The meta-server source is now available for anyone who wants it.

Q: Why doesn't the UT Web Administration seem to be running?
A: You can edit ~/.loki/ut/UnrealTournament.ini, changing the section under [UWeb.WebServer] from:


A: Internet Explorer is broken. If you can't connect to your serveradmin with IE, first check: are you typing http:// at the start of the URL, then fully qualifying the rest of it? You should give IE all of the following information: http://hostname:port/ServerAdmin/. Anything less won't work.
A: Continuing the subject of IE, if that didn't work, either install netscape or use Lynx.

Q: How do I get ngWorldStats to work?

Game Queries

Q: Where do Loki products store their configuration files, save games, screen shots, and what not?
A: ~/.loki/gamename/

Q: Where do Tribsoft products store their configuration files, save games, screen shots, and what not?
A: ~/.tribsoft/gamename/

Q: Where do Hyperion products store their configuration files, save games, screen shots, and what not?
A: ~/.hyperion/gamename/

Q: Where do Pyrogon products store their configuration files, save games, screen shots, and what not?
A: ~/.pyrogon/

Q: Where does Quake 3: Arena store it's configuration files, save games, screen shots, and what not?
A: ~/.q3a/

Q: Where does Return to Castle Wolfenstein store it's configuration files, save games, screen shots, and what not?
A: ~/.wolf/

Q: Where does store it's configuration files, save games, screen shots, and what not?
A: ~/.quake2/

Q: Where does store it's configuration files, save games, screen shots, and what not?
A: ~/.avp/

Q: Where does Uplink store it's configuration files, save games, and what not?
A: ~/.uplink/

Q: Where does Unreal Tournament 2003 store it's configuration files, save games, and what not?
A: ~/.ut2003/

Q: Where does Orbital Eunuchs Sniper store it's configuration files?
A: ~/.oes/

Q: I'm having various problems with X game!
A: Have you patched up yet? Most of the time, patches will fix the problem. Loki in particular has even made it very easy to patch their ports using the Loki Update ( tool.
A: If patching up doesn't solve your problem, have you tried updating your drivers?
A: Try checking your memory and filing systems. We recommend memtest86, available at
A: Have you properly set up your video drivers?
A: If nothing else works, please read the rest of this FAQ, and some of the external resources before bugging any of the support available for whichever closed or open product you are trying to play. Generally, you aren't the only one with a problem.

Q: Are there any enhancements that are generally applied to most Linux games?
A: Yes, most Loki games for instance usually have several key bindings added such as:
alt+enter will usually switch between full screen and windowed modes.
ctrl+g will usually grab/ungrab the mouse and keyboard.
A: Note that in Quake 3, and Return to Castle Wolfenstein, alt+enter works but it reconnects you to the server. Also, bring down your console with the tilde key, to 'release' the mouse.

Q: In the game Postal Plus, I have played through the first level, killing everything that moves, now what?
A: Press F1 to end Postal levels once you have completed them.

Q: I've got the game Uplink, and it refuses to run due to some dynamic libraries not being found!
A: To solve your problem, download (make sure to right-click and save as, or else your browser will display it) and replace your system copy (if you have one) with this one (after bunzip2'ing it). If you don't already have glut installed, put it in /usr/X11R6/lib. Questionable instructions are available on introversion's site:
A: If you already have libglut installed and you're getting this error undefined symbol: XQueryDeviceState you could run uplink using the following script:
exec ./uplink $*

A: If you are missing a, but have, you can use a symlink to fix it like so:
ln -s Then run ldconfig.
A: To find out what you are missing for Uplink, grab UPX ( and decompress the binary using upx -d uplink, then ldd uplink.
A: This should be fixed in the latest version, which uses SDL. Get it from

Q: I try to use themes with Uplink but they don't work!
A: As an example, get, put it in your uplink directory, unzip, and you won't be able to see it. However, if we symlink it to a graphics/ directory, it will be the default theme, since it overrides graphics.dat. To recap:
mv Dark\ Aura-X/ DarkAura
ln -s DarkAura graphics

Q: Terminus won't start, no matter what I try to do.
A: Do you have more than 2G of virtual memory [core plus swap together]? If so, you need to reduce the level of either one, or the other, until you're under 2G total. An easy way to do this is to give your kernel the parameter "mem=XXXM" at boot time, so that XXX plus your swap comes to less than 2G.

Q: Do most Quake 3/Return to Castle Wolfenstein modifications work in Linux?
A: Yes, most Quake 3/Return to Castle Wolfenstein modifications work in Linux as long as they are compiled to the Quake 3/Return to Castle Wolfenstein VM bytecode as advised by id software. Quake 3/Return to Castle Wolfenstein modifications compiled to Windows library files will not work.

Q: I'm trying to run Quake3/Return to Castle Wolfenstein, and the game is mysteriously dropping out of the ether as soon as it starts. Quake mentions some sort of "default.cfg" thingy.
A: Check that you remembered to install pak0.pk3 from the CD. Copy it by hand /a la/ elseplaces in this FAQ. [search for pak0.pk3]
A: This is probably the engine not being able to find its lifeblood pak files. Run the game using
cd /usr/local/games/quake3;./quake3 instead of
cd /usr/local/games/quake3;quake3
Similar goes for RtCW

Q: How do I run Quake 3/Return to Castle Wolfenstein modifications?
A: With the latest point release you can either use the menus, or, like so for Quake 3:
quake3 +set fs_game baseq3
Replace baseq3 with the directory name of the modification you are running.
for Return to Castle Wolfenstein Single Player modifications:
wolfsp +set fs_game main
for Return to Castle Wolfenstein MultiPlayer modifications:
wolfmp +set fs_game main
In both cases, you will need to replace main with the directory name of the modifications you are running.

Q: Navy Seals Q3/Q3F/XYZ Quake 3 mod keeps shitting out with errors about mallocs and heaps when I try to connect to a server!
A: If you have enough ram to do it, set up Quake 3 to use more like so: quake3 +set com_hunkmegs 180 +set com_zonemegs 32 +set com_soundmegs 16 +set fs_game baseq3. Replace baseq3 with the name of the mod (q3f2, seals...) you're trying to run.

Q: I try to play the Quake 3 mod Q3F beta 2, and I get sent back to the menu with an error about my hud files!
A: Try setting cg_hudFiles "ui/hud.txt", and cg_userhud -1.

Q: I'm having a different problem with Q3F beta 2!
A: Please see their official FAQ at:

Q: just exits with Error: Missing Particle Picture: particles/beam.jpg"
A: Compile with Q2MAX=0 in the Makefile
A: Download the missing pak file here:, place it in either ~/.quake2/baseq2, or /usr/local/games/quake2/baseq2

Q: UT appears to have installed properly, but the game keeps complaining about a missing 'Entry' and exiting!
A: Under some circumstances (such as using an unsupported CD), the maps are not uncompressed during the installation. The opening screen of Unreal Tournament is actually a map, called "Entry", which should be named usr/local/games/ut/Maps/Entry.unr if this file is missing, the installation was not successful and you should make sure that you are using the correct installer for your CD. If the file is present but is named, it is still compressed. Since the maps were not shipped on the retail UT CD in a compressed format, you are either trying to use a GOTY CD (or one of the other, unsupported, Unreal Tournament releases) with the regular installer, or the uncompression step failed. If you have a number of .uz files in your /usr/local/games/ut/Maps/ directory, you will need to uncompress them after the installation. A description for doing so follows:
# Change this to YOUR install-dir of UT


for i in ../Maps/*
  ucc decompress $i -nohomedir

mv *.unr ../Maps

cd ../Maps
for f in *.unr
  rm $

echo "..:: Done! ::.."

Q: I try to run UT and it always exits with a SIGIOT
A: If the SIGIOT occurs shortly after a line indicating an fread error, the UT data files did not install correctly. If you have one available, please try installing from a different CD-ROM drive. Not all drives can correctly handle the copy protection on the CD. You should also check the md5sums of your CD against one of the lists at lgfaq/md5sums/. If the md5sums do not match, your drive is not reading the CD correctly. (ut-cd1.txt is for the original UT retail release, ut-goty-cd1.txt and ut-goty-cd2.txt are for the CDs of the Game of the Year edition.)
A: If the SIGIOT occurs after an audio initilization, or if you upgraded UT from a previous installation, you will need to rename your ~/.loki/ut/System/UnrealTournament.ini (if you want to carry over any customizations) and allow UT to re-create its own default UnrealTournament.ini.
A: DMA on your CD drive may be causing issues. Try turning it off with hdparm(1)
A: If you are installing using a Game of the Year CD, make sure you are using the correct installer. The retail release (blue CD/jewel case) uses

Q: I'm editing /usr/local/games/ut/System/UnrealTournament.ini (or /usr/local/games/rune/System/*.ini), and nothing's changing
A: That's because after the first run, the config files have been copied to ~/.loki/ut/System/ [or ~/.loki/rune/System], and it now is using that for all config things. Edit it in there instead. The author humbly recommends you also backup the one in /usr/local/games/{ut,rune}/System, and overwrite it with the one from your home dir, for if any other users decide to use your machine and want an already properly set up config.

Q: I'm using an AMD K6 processor, and Unreal Tournament 2003 is bombing out!
A: The K6 line lacks instructions needed for the physics code. You'll need to use a different CPU.

Q: I've got this patch for Unreal Tournament 2003 demo, but i can't get it to apply?
A: The update must be run as the user who installed the demo.
A: There is an addon patch for the 1080b patch for UT 2003 demo. Make sure you have 1080b applied before trying to apply the 1080c patch.
A: Unreal Tournament 2003 demo had a patch released for it, 1080. This patch had a number of issues, the least of which was being dynamically linked against libxdelta and libxml, which may not be included with all distributions. It was pulled, and 1080b released in it's stead. 1080b was missing the updated Package.md5 which described the proper md5sums of the data files the client should have to be able to play on a server. 1080c was released as an Addon to 1080b.
A: If you're sure you've applied 1080b and still can't get 1080c to apply, try deleting your installation and using the auto-updater included with the demo (/path/to/ut2003_demo/updater/update). This will attmept to download the patches and install them for you.

Q: How do I change the localization for Unreal Tournament 2003?
A: Edit your ~/.ut2003/System/UT2003.ini looking for Language=int in the [Engine.Engine] section. Change it to Language=det for German.

Q: UT2003 Keeps crashing with some kind of error about libpthread and giving me a "stack trace"
A: Mandrake's pthread library has some modifications made to it that cause problems with ut2k3. If you are running Mandrake 9 and see this problem you can move the file /usr/X11R6/lib/ (installed by the libMesaGL1-4.0.3-6mdk RPM) out of the way, and the game should work.

Q: When I'm playing Unreal 1, I can't use weapon priorities, or automatically switch weapons.
A: Open your user.ini and look for:
change the True bit to False.
You also might want to change this:

Q: A new, official Windows patch came out for Tribes 2, I'm going to ....
A: Don't, we have a Linux version available via loki_update, and loki's ftp (

Q: My copy of FAKK 2 is always crashing on early levels, specifically when I talk to the scooter-guy or the first room with the face-guys.
A: There are two ways of getting around this: disable sound for that part of the level by running the game with the "./fakk2 -nosound", or by trying Chunky's experimental patch from

Q: How do I get recent versions of Quake 1 and 2?
A: Quakeforge instructions are at
A: An installer is available, for installing from the Windows CD:
A: There are also other source ports in the gamelist.

Q: Krilo crashes on entering passwords, it segfaults randomly, certain levels seem unbeatable, etc...
A: Install Krilo, via your chosen method [rpm, rpm2targz]. Update, via similar. Now: Make sure that /usr/lib/krilo/levels.pak has been overwritten with /usr/lib/krilo/levels2.pak. If you've started Krilo before as a user, rm -f ~/.krilo/levels.pak. Edit the shell script that runs krilo to include:
cd /usr/lib/krilo
LD_LIBRARY_PATH=/usr/lib/krilo:$LD_LIBRARY_PATH ./krilo2.prog

Note there should shortly be a new patch out that fixes these and other problems.

Q: I'm trying to connect to a password-protected UT server, and it's being weird
A: You need to remove the stored password from your ini file in ~/.loki/ut/System/UnrealTournament.ini before you'll be able to reconnect.

Q: Rune crashes when I try to save the game, why?
A: This is due to having a hostname that doesn't resolve. Put it into /etc/hosts.

Q: How do I build a highway on-ramp in Sim City 3000 Unlimited?
A: You need to be sure that there are five straight unobstructed road tiles, and a stretch of highway. Somewhat difficult to understand, but once you do it you should be allright for future attempts.

Q: In Sim City 3000, when I first start the game, I can hear the music for the intro movie, but can't actually see anything on-screen
A: Some people find that running the dynamic executable fixes this.
A: Failing that, try this: export SDL_VIDEO_YUV_HWACCEL=0

Q: How do I turn SMP on in these games?
A: Most games don't require you to do anything; Tribes 2 and Unreal Tournament 2003 ALWAYS run sound in a different thread, so if your kernel supports it, you'll gain an SMP advantage wihtout doing anything.
A: Quake3 requires you to run a different binary (quake3-smp) since version 1.32b. Note that you probably won't see much of a speed up on modern smp hardware, it may even be slower. See CHANGES-1.32.txt for more information.

Q: I want to have my games output ascii art, or something else, instead of the regular video modes.
A: AALib ( is the standard library for displaying graphics with letters, numbers, and other characters, rather than regular pictures.
A: AA UT (
A: TTY Quake (
A: AA Quake2 (
A: Alternatively, there's AcidUT (

Q: I'm trying to play Soulride: Virtual Jay Peak and the game keeps exiting after complaining about libstdc!
A: You might try opening the "soulride" binary in your favourite editor and changing the reference to libstdc to a version of it that you actually have.

Q: How do I change the controls in Xmame?
A: Press TAB whilst running the program, you can change a number of settings in addition to the controls.

Q: Help! I'm addicted to Andrew Henderson's Sid Meier's Alpha Centauri, what can I do?
A: I'm afraid the prognosis is fatal.

Benchmarking Queries

Q: Hey, I want to get some way to index how my system performs, stacks up, etc?
A: Several games available today offer a way to benchmark themselves. Quake 3 is often used for this purpose these days, and several other games and specialised tools offer different tests.

Q: Okay, so how do I go about it? What can I use, and how?
A: Okay, depends what you're benchmarking, there are a good many tools around, but we'll focus on the ones that matter to gaming.

Q: So. About benchmarking Quake 3: Arena?
A: As of this writing, Quake 3: Arena is at version 1.31. ID Software didn't include a new demo, that was fully compatible with their updated network code. However, the one from version 1.30 works perfectly fine, and exists even if you've patched to version 1.31.
To use it, cd into /tmp, and run unzip /path/to/quake3/baseq3/pak6.pk3 demos/four.dm_66. This will give you a directory in /tmp, called /tmp/demos containing four.dm_66. create either a demos directory in your global game data directory (usually /usr/local/games/quake3/baseq3/), where pak6.pk3 is kept, or in ~/.q3a/baseq3/. copy the file into there, and then rename it to four.dm_67.
Start quake3, and bring down the console (using the key below the tilde ` key), and type:
timedemo 1
demo four

Quake 3 will then load the demo, and perform a benchmark. The results are displayed in the console. Note that selecting the demo from the demos menu will ditch you back to the menu screen.

Q: Bah! Quake 3 is old! Surely there's something that'll work my hardware harder than that!
A: Yes. there are a number of other programs, and some will postulate that Quake 3 isn't actually a usable Benchmark. That said it can be used as a way to index systems, but it's by no means something that is valuable completely on it's own.

Q: Okay, so what about Unreal Tournament 2003? I love that game, and it's got lots of pretty stuff in it I'm sure my machine had to work hard to do!
A: UT2003's demo can be used for benchmarking, yes.
A: To benchmark using UT2003, you need a copy of the demo (as of this time of writing, this is all that's available). The demo contains benchmarking utilities of its own, and quite sophisticated results can be derived from them.
To benchmark, make sure you have version 1080c of UT 2003 demo, and go into the directory you installed the base demo in. Contained in there is a Benchmark directory, and several shell scripts.
The scripts all run a different benchmark, and they're all executed at the resolution and detail settings for your particular system, but they'll be devoid of sound. Furthermore, the botmatch benchmarks can be cpu-dependent, the bots may do things differently on faster and slower cpus, so these aren't really a comparitive benchmark.
The results end up in your home directory ~/.ut2003/Benchmarks/Results/, in a datestamped file, along with complete frame-by-frame CSV text-dumps in ~/.ut2003/Benchmarks/CSVs/.
An atypical run from one of the authors system on at 1024x768 full detail looks like this:

UT2003 Build UT2003_Build_[2002-09-16_05.17]
AuthenticAMD PentiumPro-class processor @ 757 MHz
No Video

dm-asbestos?game=engine.gameinfo exec=../Benchmark/Stuff/flybyexec.txt 
-benchmark -seconds=71 -nosound

14.660646 / 51.439404 / 97.774536 fps         rand[703095388]
Score = 51.466518

as you can see, this particular author need a new cpu :). Keep in mind that since it's using -nosound, the results will be much faster than with sound (about 30-40% of cpu time is taken up by the sound thread), and bot code adds even more on top of that.
A: A Simple benchmark can be achieved with stat fps typed into the console of ut2003 while gaming, which contains a last second and average FPS score. stat render and stat net also work as well.

Q: What about Unreal Tournament. I have that too!
A: Unreal Tournament also had a way to benchmark its performance, similar to the way stat fps works in UT 2003. Bring down the console while playing, and type timedemo 1.
A: What about a standard benchmark? Well, so far as it goes, once you've typed timedemo 1, you can then open the demo intro map, where you fly through the city towards the liandri building. type open CityIntro

Q: Hey!? The performance under game XYZ is faster/slower than the same game under Windows! It sucks/rules! I'm going to brag/badmouth about the one I don't like!
A: Wow, what a conclusive test! You're bound to totally convince anyone you talk to!. Perhaps you should visit, they need people like you!
A: Okay, so what have you proved, exactly? That windows and linux aren't the same? That's really all you can say, since you really are comparing apples to oranges. The two systems were designed with completely different goals in mind, which just happen to intersect at a lot of points.
A: Bragging tends to be offputting, and so does badmouthing.
A: Perhaps you should read this: Benchmarks are often meaningless in a comparitive sense

Q: So. What other tools, non-gaming, are there that I can check?
A: The simple tests in life are often the best. Running /sbin/hdparm -Tt /dev/hda will test the IDE disk throughput of the primary master disk, and the linux-buffer cache throughput of your system. Expect to see 10-12 MB/sec for ATA33, and increasingly higher for higher speed ATA specs. Buffer-cache speed will give an indication of the performance of the linux kernel's management of buffers in memory, and will increase with memory speed or DDR technology. If this value is much lower than expected, perhaps you need to make sure DMA is enabled. You might need to turn it on during boot with hdparm, or need to recompile your kernel with support for your IDE controller.
A: LMBench can perform a few different benchmarks. We won't go into that here, but the graphs can show things like surface defects on the disk if you see a section that has significantly higher latency than the rest of the disk. It can be obtained at
A: SPECViewPerf will probably get its own section soon, but for the moment, here's a link to it at It should contain specific OpenGL tests. Note that it's extremely large (approx 290MB in size), and doesn't clearly state wether it works under linux (the previous version, 6.something, did however). A quick mini-howto for SPECViewperf is available at http://icculu