Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5131 | clevermous | 1 | INSTALL for Linux Quake2 |
2 | ------------------------ |
||
3 | |||
4 | Quake2 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 | |||
17 | Also included is a specific 3DFX mini-OpenGL implementation for running Quake2 |
||
18 | on 3DFX hardware. |
||
19 | |||
20 | Installation |
||
21 | ------------ |
||
22 | |||
23 | Mount the Quake2 CD as one would usually mount a CDROM, this can be |
||
24 | accomplished by using the command: |
||
25 | |||
26 | mount /dev/cdrom /mnt |
||
27 | |||
28 | As 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 | |||
35 | The script will ask some questions about what options you want to install |
||
36 | and automatically install the software into /usr/local/games/quake2. |
||
37 | |||
38 | Make sure you have the appropirate hardware, drivers and libraries installed |
||
39 | for the renderer you are going to play on. |
||
40 | |||
41 | Quake2 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 | |||
115 | Permissions |
||
116 | ----------- |
||
117 | |||
118 | Quake2 requires root permissions to use the software (SVGALib) and GL (MesaGL |
||
119 | w/3dfx) renders. In order to make this secure, some special considerations |
||
120 | must be made. |
||
121 | |||
122 | Quake2 should get setuid root: |
||
123 | chown root quake2 |
||
124 | chmod 4711 quake2 |
||
125 | |||
126 | And the ref_soft.so and ref_gl.so files must owned by root. |
||
127 | |||
128 | The file /etc/quake2.conf must be installed. This file contains a single |
||
129 | line with the path of where the ref shared libraries can be found. |
||
130 | A sample one is included that lists /usr/games/quake2 as the default |
||
131 | path. The libraries are only loaded out of the directory listed in |
||
132 | /etc/quake2.conf for security considerations. |
||
133 | |||
134 | Special permissions are not required for the softx renderer, but quake2 may |
||
135 | still need to be setuid root to open the sound device (quake2 will give up |
||
136 | setuid root permissions before loading softx). |
||
137 | |||
138 | NOTE: If you use a setuid quake2 binary and run it as a normal user, it |
||
139 | will NOT be able to switch renderers on the fly because root permissions |
||
140 | are given up after the renderer is loaded. You can switch renderers on the |
||
141 | fly if you run quake2 as root (su or log in as root). |
||
142 | |||
143 | NOTE: 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 | |||
149 | The first time you run Quake2, it will use ref_soft or ref_softx based |
||
150 | on whether a DISPLAY environment variable exists. |
||
151 | |||
152 | To force the loading of a specific renderer at load time, use the following |
||
153 | command 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 | |||
160 | Linux Specific Cvars |
||
161 | -------------------- |
||
162 | |||
163 | To set this, use +set on the command line, i.e.: |
||
164 | ./quake2 +set cd_dev /dev/hdc +set sndmono 1 |
||
165 | |||
166 | nocdaudio (defaults to 0) |
||
167 | Do not enable cd audio if not zero |
||
168 | |||
169 | sndbits (defaults to 16) |
||
170 | Set sound bit sample size. |
||
171 | |||
172 | sndspeed (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 | |||
177 | sndchannels (defaults to 2) |
||
178 | Indicates stereo or mono sound. Defaults to 2 (stereo). Use 1 for mono. |
||
179 | |||
180 | nostdout (defaults to 0) |
||
181 | Whether to output console msgs to standard out. Non-zero is cease output. |
||
182 | |||
183 | Dedicated server |
||
184 | ---------------- |
||
185 | |||
186 | To run Linux Quake2 as a dedicated server, just run it as follows: |
||
187 | |||
188 | ./quake2 +set dedicated 1 |
||
189 | |||
190 | You 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 | |||
196 | Then exec that config file on load, like so: |
||
197 | |||
198 | ./quake2 +set dedicated 1 +exec server.cfg |
||
199 | |||
200 | If you use a config file, you must put a 'map' command in it or the |
||
201 | server won't load a map. |
||
202 | |||
203 | To run a dedicated server in the background, use this; |
||
204 | |||
205 | nohup ./quake2 +set dedicated 1 +exec server.cfg & |
||
206 | |||
207 | A better way is to run Quake2 on a tty via screen. screen can be found |
||
208 | at ftp://prep.ai.mit.edu/pub/gnu/screen-3.7.4.tar.gz, but it comes with |
||
209 | most modern Linux installations now. |
||
210 | |||
211 | ----------------------------------------------------------------------------- |
||
212 | |||
213 | Linux Quake2 is an unsupported product. Usage of this product is bound by |
||
214 | the legal notice found on the distribution Quake2 CDROM. |
||
215 | |||
216 | /// Zoid |
||
217 | zoid@idsoftware.com |
||
218 |