Linux Quake How-To: Trouble-shooting Next Previous Contents

6. Trouble-shooting

Other trouble-shooting resources can be found at: Jörgen's GLQuake Site, the old version of this how-to, and Linux Gamers FAQ.
Often, using an alternative game engine such as TyrQuake, FuhQuake and Darkplaces will fix mouse and sound related problems.

6.1 Bash won't start the program

"bash: ./glquake.glx: Permission denied"

  • The binary may not have the executable bit set. Type chmod +x glquake.glx to fix this.

  • If the program is located on a windows partition, it is possible it has been mounted with the noexec option.
    Type (as root): mount -o remount,exec /mnt/windows

"bash: glquake.glx: command not found"

  • Bash may not be including the current directory in it's path. Type: "export PATH=$PATH:."

6.2 Program dies at startup

This is not good, but some simple options to try are:

  • - use -nosound to test if sound is the problem.
    Sound problems are covered in detail below.

  • - use -noudp if network is unconfigured.

  • - use -nocdaudio if cdrom is absent.

  • - use -height, -width and -fullscreen command line options to select a screen mode you know is properly configured.
    e.g. glquake.glx -width 800 -height 600 -fullscreen -nosound

Files not lowercased or Data files missing.

Linux Quake requires (most) filenames to be in lowercase. If you get an error similar to "Error: W_LoadWadFile: couldn't load gfx.wad" it means the game can't find the data files, possibly because they are not all lowercase.

"Memory overwrite in Sys_Printf"

  • This error means you need to edit file sys_linux.c, procedure Sys_Printf, at or near line 89, and change text[1024] to text[4096] and recompile.

6.3 Program dies loading level

  • Many mods require extra memory. Use the -mem 48 option to allocate 48 meg of memory for the heap.

  • A few newer mods just won't work with standard GLQuake, and need an enhanced game engine, though they will generally indicate this in their documentation.

  • In some cases, this problem can be sound related. Try some of the tips in the sound section.

6.4 Sound Problems

For more information about Linux sound see the drivers section.

An error such as: "/dev/dsp: Device or resource busy" indicates some program is already using your sound card, and you will have to halt this program to get Quake sound effects.

  • From the Linux command line, type killall artsd or killall esd to terminate either of these popular sound daemons.

  • Alternatively, to run Quake through the KDE sound daemon, type artsdsp glquake.glx ...

"Quake engine games exit, and I see an error about mmap!"

  • The Linux Gamers FAQ recommends "Your sound card/driver 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".

    Make sure the artsd program is running by typing ps -A | grep artsd and checking that this command returns at least one non-empty line. Then type artsdsp -m glquake.glx.

  • Try alternative sound drivers as outlined in the Sound Drivers section.

Sound stutters or is not very good.

  • Try using the -sndspeed or -sndbits option(s), or swapping sound drivers.

6.5 Other Issues

Game is too dark

If changing the brightness setting in the options menu doesn't work, you can use the xgamma program to brighten the whole display.

  • Type xgamma -gamma VALUE before running the game, where VALUE is a number larger than 1. When you've finished, use xgamma -gamma 1 to restore the brightness.
This tip will not work with poorly supported hardware. For Voodoo 1/2 users, visit here for more information.

Mouse look

"This game won't let me look around properly. %$!$@"

  • Bring down the game console with the "~" key and enter +mlook.

Mouse doesn't work properly

Try the following -

  • Start the game in fullscreen mode by using the -fullscreen option.

  • From the game console, type _windowed_mouse 1

  • If you're using fluxbox, try another window manager. Fluxbox has issues with some games in fullscreen mode.

  • If still without success, try the NPRQuake or Darkplaces SDL clients. Typing export SDL_VIDEO_X11_DGAMOUSE=0 before starting the game will disable hardware dga mouse.

Game saves fail / Options not remembered

If you are running Quake as a normal user and experiencing these problems it's probably due to having insufficient privileges to write to the game directories. Solutions include:

  • Run the game as super user: Type su and enter root's password before typing glquake.glx ... to start the game.

  • Change the game file permissions. Unix operating systems have strong security preventing unauthorised or accidental file changes. The simplest way to overcome this in a single user environment is to become super user and change ownership of the quake directory with (as root): chown -R USERNAME /usr/local/games/quake. However it is recommended users read the chmod and chown man and info pages to better understand Unix file permissions.

  • In full multi-user environments it is recommended using the Darkplaces or QuakeForge game engines, which correctly place per-user data in their home directory.

Quake uses a confusing method of saving and restoring game options, especially when playing add-ons, and game options sometimes have to be reinitialised even though file permissions are not an issue. In such cases, the author can offer no simple advice %-/.

Crazy polygons

Some mission-packs/mods for Quake can cause existing player/monster models to be drawn with lines all over the place. To fix this, delete the directory "quake/id1/glquake". When you next run the game, it will remake this directory and everything should be fine.

Lines on screen

A common problem with 3dfx cards is a shower of flickering lines on the screen.

  • From the game console, type gl_ztrick 0.

Other graphical anomalies

Some Quake engines use an OpenGL speed-up known as multitexturing. This normally works fine, but if you are experiencing glitches you can disable this feature with the -nomtex option.

Older video cards may occasionally draw models in all white. See the PlanetQuake command list for in-game GL variables to fine tune performance.

6.6 Video Drivers

Setting up hardware GL acceleration under Linux used to be a big deal, but modern distros should now handle this automatically. Of course there are exceptions...

Nvidia's drivers for all of their modern video cards are not open source. Because of this many distributions do not include them. If your Nvidia card is running slowly this is probably the cause and you should visit http://www.nvidia.com to download the Linux installer. In the author's experience these drivers are great, but not all versions work 100% with all cards. If you have a misbehaving Nvidia video card, try a different driver.

While new versions of XFree and Xorg have great support for Voodoo 3, 4 and 5, early 3dfx hardware such as Voodoo1, Voodoo2 and Rush are no longer hardware accelerated. To get OpenGL working for these cards, you'll need to download, install and/or compile the software libraries called Glide and Mesa. Here is a detailed README on old 3dfx cards.

Links

http://www.x.org

Linux Gamers ATI How-To

Linux Gamers Nvidia How-To

6.7 Sound Drivers

There are two major Linux sound systems - Open Sound System and ALSA. If you are experiencing sound problems and the trouble-shooting section hasn't helped, you may consider changing the sound driver. This can be hard work, and is only for experienced users.

To ascertain which driver you are currently using, type lsmod to list currently loaded kernel modules. The ALSA sound modules have verbose names starting with "snd_", while the OSS modules have more terse names. For example, the ALSA Sound Blaster Live module is "snd_emu10k1", while the OSS module is "emu10k1". Since Linux kernel 2.6, ALSA has been the standard sound system, while 2.4 and earlier were more likely to come with OSS sound.

Information about ALSA can be found at the Alsa Homepage and Linux Journal's Guide to ALSA.

For those already with ALSA wishing to try the OSS modules, a kernel recompile is probably necessary.


Next Previous Contents