Next Previous Contents

5. Troubleshooting/FAQs

5.1 General

OS difference considerations ++

Glibc, RedHat 5.x, Debian 2 considerations **

All of the Quake executables (and the Q2 ref_*.so libraries) were compiled with libc5. Newer Linux distributions like RedHat 5.1 and Debian 2.0 use the incompatible glibc or libc6 as their default C library. If you're running Quake on a glibc system, there are a few things to watch out for:

My mouse doesn't work or seems to respond randomly.

My Microsoft Intellimouse or Logitech MouseMan+ isn't working correctly.

SVGAlib, which handles mouse input for SVGA and GL Quake/QW/Q2, didn't directly support the Intellimouse until version 1.3.0. If you have a version of SVGAlib prior to 1.3.0, you should upgrade, then use mouse type IntelliMouse (for serial mice) or IMPS2 (for PS/2 mice) in your libvga.config file.

My mouse is "laggy" and seems much slower than under Windows.

I have a Voodoo2, and, when I try to run with the gl renderer, it reports that I don't have a Voodoo installed.

There are different versions of Glide for Voodoo and Voodoo 2 cards. Be sure you downloaded the correct one for your system.

When I'm playing any of the Quake games under SVGAlib or GL and press CTRL-C, the game exits and sometimes leaves my console in an unusable state.

Yes. This bites. SVGAlib catches the CTRL-C and decides what to do with it instead of allowing Quake to handle it. I know of no way around this short of hacking SVGAlib.

If you run your Quake games from a script like the one below, you'll run less chance of ending up with a hosed terminal if this does happen, though.

     #!/bin/sh
     ./quake2 $*
     kbd_mode -a
     reset
     

squake/quake2 fails to start and says "svgalib: cannot get I/O permissions"

The Quake executables must run as root, so you must either run them as root or make them setuid root. See the installation instructions in this document for details.

Sometimes after playing one of the Quake games in X, key repeat doesn't work any more.

For some reason, the X11 versions of Quake disable key repeat while they're running. If the program exits abnormally for some reason, key repeat never get turned back on. Do

     xset r on
     
to reenable it.

Quake/Quake II says "/dev/dsp : device not configured"

Your sound hardware is not properly configured. You may simply need to do a insmod sound, or it may be necessary to rebuild your kernel. RedHat users may need to invoke the sndconfig(8) utility. See the documentation for your Linux distribution and/or the Linux Sound HOWTO for information on configuring your system's sound hardware.

5.2 Quake/QuakeWorld

Quake dies at startup with a segmentation fault.

This usually means your network setup isn't right. Try starting quake with the -noudp option and see if the error goes away. If that fixes it, check your /etc/hosts file and verify there's an entry for your machine in it. Use 127.0.0.1 for your IP address if you have a dialup account that gives you a different address each time you connect.

5.3 Quake II

When I try to run Quake II with the GL renderer, it fails and says "LoadLibrary("ref_gl.so") failed: Unable to resolve symbol"

If immediately prior to the "Unable to resolve symbol" line, you have messages like "can't resolve symbol 'fxMesaCreateContext'", your Mesa library doesn't have glide support compiled in. See section The GL renderer in the Quake II installation section for information on installing Mesa and glide.

I have a RedHat 5.x system. I just built and installed Mesa 3.0 beta X. Now Quake II segfaults when I try to use the ref_gl renderer.

Did you read Mesa's README.QUAKE before you installed Mesa? This is a glibc problem. Quake II was compiled with lib5. All the libraries it loads must also have been built with libc5.

David Bucciarelli (tech.hmw@plus.it) reported in 3dfx.glide.linux:

I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII is working fine for me. I had only to make a small change to the Mesa-3.0/mklib.glide file, from:

GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib -lm"

to:

GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x"

and to make two symbolic links:

[david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2 [david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2

After correctly compiling the library, you should set your $LD_LIBRARY_PATH to /usr/i486-linux-libc5/lib before you run Quake II. There's a nice Quake II startup script in the README.QUAKE.

I have a RedHat 5.x system and when I try to run Quake II with the GL renderer, it fails with "unable to resolve symbol: IO_putc."

Make sure you're loading the right libc. Try:

     export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
     ./quake2 +set vid_ref gl
     

Quake II fails with the message LoadLibrary("ref_XXX.so") failed: No such file or directory

Do I need to have my CD mounted to play the single-player missions?

It depends. The readme.linux says you do, and you do if you're using 3.13 or earlier. However, beginning with 3.15 (on all platforms) this checking was taken out, and you don't have to have your CD mounted in order to play single-player.

When I update the brightness while using the GL renderer, and hit "apply," nothing happens!

Type vid_restart in the console to make the changes take affect.

When I try to run fixperms.sh, it says Command not found.

fixperms.sh has MS-DOS line endings in 3.17. See section Note about the 3.17 distribution for details on how to fix this.

Quake II and the GL renderer run slower in Linux than in Windows. **

Yes it is. The simple fact of the matter is that, right now, the Windows GL "Quake II miniport" is heavily optimized for the things Quake II does. Mesa on the other hand, is more general and less optimized As a result, Linux Quake II runs slower than under Windows. This isn't a limitation of Linux, but a limitation of the current drivers. Regardless, we all owe a big debt to Daryll Strauss, who brought us the 3Dfx drivers, and Brian Paul, who brought us Mesa. Without them, we'd be stuck in software-rendering land, which is MUCH slower than what we have now.

Additionally, for Pentium Pro and Pentium II users, there are some tweaks than can be done with memory buffering - the latest /dev/3dfx device driver has support for automatically setting this up for you.

See http://glide.xxedgexx.com/MTRR.html for some more detailed information about this.

Dave 'Zoid' Kirsch said in his 13 Aug 1998 .plan update that he has ported 3Dfx's OpenGL miniport to Linux. This will be used in place of Mesa for GL Quake and Quake II. Good news!


Next Previous Contents