BASE1.TXT
is the same as base1.txt
. Under Linux and other
unices, case IS significant. MOTD.TXT
and motd.txt
are
different files. This can cause problems with player models and skin files
if they're installed with upper- or mixed-case filenames.
players/male/santa.PCX
needs to be renamed to santa.pcx
in
order to work in Linux. The fixskins.sh
script included with
quakeworld will convert all filenames in a directory to lowercase. It's
reproduced below for your convenience:
#!/bin/sh
for x in *; do
y=`echo $x | tr '[A-Z]' '[a-z]'`
if [ $x != $y ]; then
mv $x $y
fi
done
\
"
character to separate file pathname elements. In Unix, the backslash is an escape
character. If you use file pathnames in your config files (or your mod code, or
anywhere else, for that matter), be sure you're using "/
" and not "\
".
quake2.conf
file from the Quake2 3.17 package, for
example, gives the error "LoadLibrary("ref_XXX.so") failed: No such file or
directory
". LMCTF-TE reports a floating point exception.
If you've got an problem you can't explain, try removing the CRs from your text
files:
mv file.txt file.bak; tr -d '\r' < file.bak > file.txt
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:
/usr/i486-linux-libc5/lib
,
I believe.$LD_LIBRARY_PATH
to your compatibility libraries directory before
it runs Quake.
#!/bin/sh export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib ./quake2 +set vid_ref gl $*
ps aux | grep gpm
If you get output like
root 6115 0.0 0.4 832 316 ? S 17:54 0:00 gpm -t PS/2
then gpm is running and interfering with Quake. gpm -k
(as root)
ought to stop gpm. If it doesn't (gpm -k
doesn't always work on
my system), kill gpm with the command killall gpm
.
If you never use gpm, you may want to stop it from running at startup.
See the documentation for your distribution for information on how to do
this.
libvga.config
? This file
usually lives in /etc
or /etc/vga
. Open it up and look
for a line like
mouse Microsoft
On my system, this is the first option in the file. Make sure the mouse
type is appropriate for your hardware.
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.
sensitivity
in the game console cures the problem.
If you are experience video 'lag' in the GL renderer (the frame rate feels like it's lagging behind your mouse movement) type "gl_finish 1" in the console. This forces update on a per frame basis.
libvga.config
that you can use to customize the behavior of
your mouse. With the proper settings it should be possible to make your
mouse feel any way you want. On my system, just changing
mouse_accel_type
to normal
(default is power
)
gave me the results I wanted. I haven't messed with the other settings,
and I don't pretend to have a clue about what they all do.
There are different versions of Glide for Voodoo and Voodoo 2 cards. Be sure you downloaded the correct one for your system.
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
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.
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.
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.
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.
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.
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.
Make sure you're loading the right libc. Try:
export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
./quake2 +set vid_ref gl
LoadLibrary("ref_XXX.so") failed: No such file or directory
/etc/quake2.conf
doesn't have the correct path to your
Quake II directory in it. This file should contain one line that is the
directory Quake II lives in.
/etc/quake2.conf
does contain the correct
path, try removing the file and re-creating it by hand. Some versions of
Quake II for Linux included an incorrectly formatted quake2.conf
file.
/lib
,
/usr/lib
and /usr/local/lib
for a file called
libvga.so.1.X.X
, where the X's are some numbers. If nothing
turns up, you need to get and install SVGAlib to run Quake II outside of
X.
ref_gl.so
, Mesa may not be
properly installed. Did you copy libMesaGL.so.2.6
to a
library directory like the installation instruactions told you to?
ref_gl.so
, did you install
the glide libraries?
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.
Type vid_restart
in the console to make the changes take
affect.
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.
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!