BASE1.TXTis the same as
base1.txtis the same as
Base1.Txt. Under Linux and other unices, case IS significant.
motd.txtare 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.PCXneeds to be renamed to
santa.pcxin order for the Santa skin to be visible in Linux. The
fixskins.shscript 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. Quake and Quake2 for Windows recognize both "
\" and "
/" as valid path delimiters, so 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.conffile from the Quake2 3.17 package generated 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
[The following applies to the Quake I binaries (
quake.x11) only. As of versions
2.30 and 3.19 respectively, QuakeWorld and Quake II are available
in both libc5 and glibc versions.]
The Quake executables were compiled with libc5. Newer Linux distributions like RedHat 5.1 and Debian 2.0 use the incompatible libc6 (or glibc) as their default C library. If you're running Quake on a glibc system, there are a few things to watch out for:
$LD_LIBRARY_PATHto your compatibility libraries directory before it runs Quake.
#!/bin/sh export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib ./quake2 +set vid_ref gl $*
If you get output like
ps aux | grep gpm
then gpm is running and interfering with Quake.
root 6115 0.0 0.4 832 316 ? S 17:54 0:00 gpm -t PS/2
gpm -k(as root) ought to stop gpm. If it doesn't (
gpm -kdoesn'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/vga. Open it up and look for a line like
On my system, this is the first option in the file. Make sure the mouse type is appropriate for your hardware.
chmod 666to it, or run as a user or group that's allowed to read and write to it. The actual device file in question will vary according what type of mouse you have on your system. Most of the time,
/dev/mouseis a symbolic link to your actual mouse device file, so doing an
ls -l /dev/mouseshould allow you to find which device file to modify.
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
IntelliMouse (for serial mice) or
PS/2 mice) in your
sensitivityin the game console cures the problem. Setting
sensitivityby hand in the console or in a
.cfgfile allows you to increase the mouse sensitivity more than the slider in the Options menu allows.
sensitivity 15, for example.
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.configthat 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
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 that resets the keyboard and terminal 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 when using the SVGAlib renderer, 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
to reenable it.
xset r on
Your sound hardware is not properly configured. You may simply need to do
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.
The Windows 3Dfx GL 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.
With the most recent releases of QuakeWorld and Quake II, the 3Dfx miniport mentioned above is available for Linux. Also, in Quake II version 3.20, the OpenGL function handling code was completely rewritten, resulting in significant speedups.
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. Enabling MTRRs can result in
significant (10 fps on my system) GL Quake speedups. See
http://glide.xxedgexx.com/MTRR.html for some more
detailed information about this.
On a PPro/PII system with a Voodoo2, performance under Linux is now at least as fast as under Windows.
screen(1) is a great utility for this sort of thing. It allows you to create many virtual screens in one tty and switch between them. Screen comes with most distributions. You can download it from ftp://prep.ai.mit.edu/pub/gnu or any GNU mirror.
Start screen by typing the command
screen, then create a new
screen window by pressing CTRL-A CTRL-C. You won't see much as
you do these things, but be assured, something is happening.
Start a Quakeworld server:
Now open a new screen window with CTRL-A CTRL-C and start up a Quake II server:
/usr/local/games/quake2/quake2 +set dedicated 1
You can switch back and forth between your servers by pressing CTRL-A CTRL-N.
Press CTRL-A CTRL-D to detach from the screen program. Screen and your servers are still running, but they're no longer visible in your terminal window. You can logoff now and your processes will continue to run normally.
screen -r to re-attach to your previous screen
process and access your servers again.
That's all there is to it. See the screen(1) man page for more detailed information.
From the Quake II
readme.linux file (this applies to all version of Quake):
By default, the mouse will not be 'tied' to the Quake2 window. To cause Quake2 to grab the mouse, select 'Windowed Mouse' from the video menu, or type '_windowed_mouse 0' at the console. Do the reverse to release it. You can bind keys to grab and release the mouse in the console, like so: bind i "_windowed_mouse 1" bind o "_windowed_mouse 0" Then "i" will grab the mouse and "o" will release it.
The X clients only support color depths of 8 and 16 bits per pixel. Your X server is probably running at 24 or 32 bpp. Change the default color depth to 16 bpp and this problem will go away.
The source code for the Quake engines is the proprietary property of id Software. While there's a good chance that id will release the source to Quake eventually like they did for Wolfenstein 3-D and Doom, they have not done so yet. I don't have the source to Quake no matter how nicely you ask me for it.
This usually means your network setup isn't right. Try starting quake
-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
glqwclis the standard GL Quakeworld client you've seen in previous versions. It's linked against libMesaGL.so.2.
glqwcl.3dfxglis a script that runs
glqwclafter preloading the 3Dfx GL miniport library,
lib3dfxgl.so. Preloading the minport library causes its GL functions to get used instead of Mesa's. Since the GL minport is optimized for Quake, this is a good thing.
glqwcl.glxis linked against standard OpenGL libriaries instead of Mesa. This will allow glquake to run on other 3D hardware that is supported by some other OpenGL implementation. This is an X application and so must be run from X.
glqwcl.glxfullscreen from X, I can't use my mouse or keyboard.
glqwcl.glx with the
option. GLX Quakeworld is running in a window, even though it
appears to take up your whole screen. If you move the mouse
while the window manager is in focus-follows-mouse mode, you're likely to
move the pointer outside this window, and then Quake will stop
responding to mouse and keyboard input.
makes Quakeworld grab the mouse exclusively.
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.
The GL renderer in the
Quake II installation section for information on installing Mesa and
LoadLibrary("ref_XXX.so") failed: No such file or directory
/etc/quake2.confdoesn'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.confdoes 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
/usr/local/libfor 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.6to a library directory like the installation instruactions told you to?
ref_gl.so, did you install the glide libraries?
vid_restart in the console to make the changes take
As of this writing, the most recent Quake II version is 3.20. If for some reason, you're running version 3.17 instead, the following information may be helpful to you.
Two text files (
fixperms.sh) in the 3.17
distribution were inadvertently saved in MS-DOS CR/LF text-file format
instead of the unix LF format. This means there's an extra carriage
return character at the end of each line in these files and they're not
going to behave right until you fix them.
We'll run them through tr(1) to strip out the CR's.
for i in fixperms.sh quake2.conf do mv $i $i.bak tr -d '\r' < $i.bak > $i done
+set vid_ref glxfullscreen from X, I can't use my mouse or keyboard.
quake2 with the
+set _windowed_mouse 1
option. GLX Quake2 is running in a window, even though it
appears to take up your whole screen. If you move the mouse
while the WM is in focus-follows-mouse mode, you're likely to
move the pointer outside this window, and then Quake II will stop
responding to mouse and keyboard input.
1 makes Quake II grab the mouse exclusively.
SVGAlib probably doesn't know how to create the modes on your card.
When Quake II starts up with the SVGA renderer (
it prints a list of all the modes that SVGAlib tells it are available:
These are the only modes you will be able to successfully switch to from the Video menu. If say, 512x384 isn't on the list, selecting it from the Video menu won't work.
------- Loading ref_soft.so ------- Using RIVA 128 driver, 4096KB. mode 320: 200 1075253220 mode 320: 240 1075253220 mode 320: 400 1075253220 mode 360: 480 1075253220 mode 640: 480 1075253220 mode 800: 600 1075253220 mode 1024: 768 1075253220 mode 1280: 1024 1075253220
SVGAlib does let you define new video modes for some chipsets in
libvga.config, so you may be able create your own video mode this
way. See the SVGAlib documentation for more detail on this topic.
According to Zoid, this problem occurs when the video system restarts due to a gamedir change. Several libraries get unloaded and reloaded during the restart, and this apparently causes quake2 to blow chunks on many systems.
The workaround solution is to set the
game CVAR on the command line before
you start up
quake2. So if you're going to connect to a CTF server,
This may seem inconvenient if you're used to connecting to new servers without leaving the quake2 program, but unfortunately it's the only way around this problem right now. A frontend program like XQF will automatically do this command line stuff for you, so you ought to consider using one if you're not currently doing so.
./quake2 +set game ctf ...