1INSTALL for Linux Quake2 2------------------------ 3 4Quake2 for Linux supports the following video subsystems: 5 6- SVGALib Console Graphics (ref_soft.so) 7 - Requires SVGALib 1.2.0 or later 8- X11 Window Graphics (ref_softx.so) 9 - X11R5 or later, XShm shared memory extension supported 10- 3DFX fxMesa with Mesa 3-D or 3DFX Miniport (ref_gl.so) 11 - Mesa 3-D 2.6 or later, specifically compiled for 3DFX support 12 Mesa 3-D 2.6 compiled with 3DFX support is provided with this archive. 13- Generic glX (X11) based OpenGL (ref_glx.so) 14 - Requires a glX based hardware accelerated OpenGL implementation. 15 Mesa 3-D 2.6 supports this on 3DFX hardware. 16 17Also included is a specific 3DFX mini-OpenGL implementation for running Quake2 18on 3DFX hardware. 19 20Installation 21------------ 22 23Mount the Quake2 CD as one would usually mount a CDROM, this can be 24accomplished by using the command: 25 26 mount /dev/cdrom /mnt 27 28As root. Once the CD is mounted, run the setup script on the CD as root. 29 30 $ su 31 Password: 32 # mount /dev/cdrom /mnt 33 # /bin/sh /mnt/setup 34 35The script will ask some questions about what options you want to install 36and automatically install the software into /usr/local/games/quake2. 37 38Make sure you have the appropirate hardware, drivers and libraries installed 39for the renderer you are going to play on. 40 41Quake2 for Linux supports the following renderers: 42 43- ref_soft 44 Software rendering under SVGALib (console only). SVGALib 1.2.10 or later 45 is required. Note that SVGALib 1.2.11 supports the ability to run a 46 SVGALib application under X11 as it will automatically allocate a new 47 console. The default mode is 320x240 (ModeX) since that is the lowest 48 resolution supported by Quake2. If SVGALib supports your video card, higher 49 resolution modes such as 640x480 and 800x600 are also supported. 50 51 Please note that you may need to configure your mouse for SVGALib in 52 /etc/vga/libvga.config (or /etc/libvga.config). 53 54- ref_softx 55 Software rendering under X11. This uses the MITSHM Extension and should 56 work will virtually all Linux X Servers. **NOTE: Do not resize the window 57 under X11. You must use the Video menu to change resolution/window size. 58 59 By default, the mouse will not be 'tied' to the Quake2 window. To cause 60 Quake2 to grab the mouse, select 'Windowed Mouse' from the video menu, 61 or type '_windowed_mouse 0' at the console. Do the reverse to release it. 62 You can bind keys to grab and release the mouse in the console, like so: 63 bind i "_windowed_mouse 1" 64 bind o "_windowed_mouse 0" 65 Then "i" will grab the mouse and "o" will release it. 66 67- ref_gl 68 This render can be run with two different OpenGL drivers: Mesa 3-D 69 ontop of Linux GLIDE, or 3DFX's mini-OpenGL Quake driver. 70 For Mesa 3-D, the necessary libMesaGL.so.2.6 is included with this archive. 71 You must copy it to /usr/lib or /usr/local/lib and run ldconfig (as root) 72 in order to use it. You can do this as follows: 73 tar cf - lib*GL* | (cd /usr/lib; tar xf -) 74 You should use tar to keep the symlinks intact. Once you copy them over 75 run ldconfig. 76 You must also download and install the Linux GLIDE drivers at 77 http://www.3dfx.com/software/download_glidel.html 78 And install them as instructed. 79 RPMs for GLIDE are available at : 80 http://glide.xxedgexx.com/3DfxRPMS.html 81 With version 3.20, the GL library is entirely runtime loaded. This means 82 you can specify what shared object to load for GL display. 83 To use Mesa 3-D GL (console), run quake with: 84 ./quake2 +set vid_ref gl +set gl_driver libMesaGL.so.2 85 To use the 3DFX OpenGL Miniport, run the included quake2.3dfxgl: 86 ./quake2 +set vid_ref gl +set gl_driver lib3dfxgl.so 87 The gl_driver cvar indicates the name of the library to load for GL 88 functions. It can be in any directory listed in /etc/ld.so.conf 89 or in /etc/quake2.conf 90 91 **NOTE: There is a problem on libc5 systems where a vid_restart (causing 92 a reload of the video system) will crash. There doesn't seem to be a 93 solution to this yet. It looks to be some sort of ld.so dynamic loading 94 interaction with SVGALib and ref_gl.so. A work around is to start in 95 software mode (./quake2 +set vid_ref soft), then use the menu to set your 96 mode and a vid_restart will work when going from software to GL. Exit 97 out then and save your video mode settings. 98 This problem does not occur on libc6 (glibc) based systems; vid_restart 99 works fine on there. 100 101- ref_glx 102 ref_glx should run on many different hardward OpenGL implementations under 103 Linux and X11. This binary is an X11 application and must be run under 104 X11. It will work with Mesa 3-D as a standard glX based OpenGL 105 applications. If the Mesa 3-D library is compiled with 3DFX support, 106 you can have Mesa 3-D support 3DFX hardware under X11 by setting the 107 enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode 108 and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh 109 or "setenv MESA_GLX_FX fullscreen" for csh. 110 111 As with ref_gl, the "gl_driver" cvar indicates the shared library to load 112 for OpenGL functions (the glX functions must provided in that library 113 as well). 114 115Permissions 116----------- 117 118Quake2 requires root permissions to use the software (SVGALib) and GL (MesaGL 119w/3dfx) renders. In order to make this secure, some special considerations 120must be made. 121 122Quake2 should get setuid root: 123 chown root quake2 124 chmod 4711 quake2 125 126And the ref_soft.so and ref_gl.so files must owned by root. 127 128The file /etc/quake2.conf must be installed. This file contains a single 129line with the path of where the ref shared libraries can be found. 130A sample one is included that lists /usr/games/quake2 as the default 131path. The libraries are only loaded out of the directory listed in 132/etc/quake2.conf for security considerations. 133 134Special permissions are not required for the softx renderer, but quake2 may 135still need to be setuid root to open the sound device (quake2 will give up 136setuid root permissions before loading softx). 137 138NOTE: If you use a setuid quake2 binary and run it as a normal user, it 139will NOT be able to switch renderers on the fly because root permissions 140are given up after the renderer is loaded. You can switch renderers on the 141fly if you run quake2 as root (su or log in as root). 142 143NOTE: When the quake2 binary is run in dedicated server mode 144(+set dedicated 1), no special permissions are required and 145/etc/quake2.conf is not read since no renderer is loaded. 146 147---- 148 149The first time you run Quake2, it will use ref_soft or ref_softx based 150on whether a DISPLAY environment variable exists. 151 152To force the loading of a specific renderer at load time, use the following 153command lines: 154 155 ./quake2 +set vid_ref soft 156 ./quake2 +set vid_ref softx 157 ./quake2 +set vid_ref gl 158 ./quake2 +set vid_ref glx 159 160Linux Specific Cvars 161-------------------- 162 163To set this, use +set on the command line, i.e.: 164 ./quake2 +set cd_dev /dev/hdc +set sndmono 1 165 166nocdaudio (defaults to 0) 167 Do not enable cd audio if not zero 168 169sndbits (defaults to 16) 170 Set sound bit sample size. 171 172sndspeed (defaults to 0) 173 Set sound speed. Usual values are 8000, 11025, 22051 and 44100. 174 If set to zero, causes the sound driver to attempt speeds in the following 175 order: 11025, 22051, 44100, 8000. 176 177sndchannels (defaults to 2) 178 Indicates stereo or mono sound. Defaults to 2 (stereo). Use 1 for mono. 179 180nostdout (defaults to 0) 181 Whether to output console msgs to standard out. Non-zero is cease output. 182 183Dedicated server 184---------------- 185 186To run Linux Quake2 as a dedicated server, just run it as follows: 187 188 ./quake2 +set dedicated 1 189 190You can also set dmflags, timelimit, etc. in a config file, like so: 191 set timelimit 20 192 set fraglimit 25 193 set dmflags 532 194 map fact3 195 196Then exec that config file on load, like so: 197 198 ./quake2 +set dedicated 1 +exec server.cfg 199 200If you use a config file, you must put a 'map' command in it or the 201server won't load a map. 202 203To run a dedicated server in the background, use this; 204 205 nohup ./quake2 +set dedicated 1 +exec server.cfg & 206 207A better way is to run Quake2 on a tty via screen. screen can be found 208at ftp://prep.ai.mit.edu/pub/gnu/screen-3.7.4.tar.gz, but it comes with 209most modern Linux installations now. 210 211----------------------------------------------------------------------------- 212 213Linux Quake2 is an unsupported product. Usage of this product is bound by 214the legal notice found on the distribution Quake2 CDROM. 215 216/// Zoid 217zoid@idsoftware.com 218 219