1 README for Linux QWCL
2 ---------------------
3
4 Please refer to
5
6 http://www.quakeworld.net/
7
8 for documentation on the client that is not operating system specific.
9
10 This README covers all versions of QWCL for Linux:
11
12 Requirements for SVGALib qwcl:
13
14 - SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
15 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
16 - CD-ROM for CDAudio
17 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
18 with. Works fine on SoundBlaster 16.
19 - SVGALib supported mouse (usually if it works with X, it'll work with
20 squake).
21 - Kernel 2.0.24 or later
22 - untested with 2.1 kernels, your mileage may vary
23
24 Requirements for glqwcl:
25
26 - 3DFX based card for the GLQuake version, VooDoo, VooDoo Rush or VooDoo2
27 at this writing. In order to use 3DFX hardware, you must have 3DFX's
28 GLIDE drivers installed. RPMs for these drivers are available at:
29 http://glide.xxedgexx.com/3DfxRPMS.html
30 - For the glX version, an OpenGL implementation that includes hardware
31 glX support.
32 - CD-ROM for CDAudio
33 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
34 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
35 - SVGALib compatible mouse for glquake or X11 for glquake.glx
36 - Kernel 2.0.24 or later
37 - untested with 2.1 kernels, your mileage may vary
38
39 Requirements for X11 qwcl:
40
41 - X11R5 later, only tested with XFree86, should work with most X Servers
42 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
43 or glibc (libc6) for the glibc version
44 - CD-ROM for CDAudio
45 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
46 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
47 - SVGALib supported mouse (usually if it works with X, it'll work with
48 squake).
49 - Kernel 2.0.24 or later
50 - untested with 2.1 kernels, your mileage may vary
51
52 Skins Note
53 ----------
54
55 After you get the skin files from ftp.idsoftware.com (currently,
56 qw_skins.zip, qws_9652.zip and qws_9706.zip) and install them in
57 qw/skins, you should run the shell script 'fixskins.sh' that you can find in
58 the qw/skins directly distributed with this archive.
59
60 Linux qwcl will always look for lowercase file names first.
61
62 Additional notes for SVGALib QWCL
63 ---------------------------------
64
65 Linux qwcl supports 320x200x256, the various modeX modes (320x400, 360x400,
66 etc) as well as high res modes if your card is supported by SVGALib. Use
67 the Quake console command vid_describemodes to list supported modes and
68 the command vid_mode <number> to change modes.
69
70 Full sound support is included. The default sound rate is 16-bit stereo,
71 11KHz. You can change this in the options section below.
72
73 Mouse works great, but SVGALib may not detect a 3-button mouse properly (it
74 will only use two buttons). Check your /etc/libvga.config (or
75 /etc/vga/libvga.config for SlackWare users).
76
77 Additional notes for glqwcl
78 ---------------------------
79
80 There are three different ways to execute glqwcl:
81
82 1. The binary "glqwcl" requires Mesa 3-D 2.5 or later installed and compiled
83 with 3DFX support (fxMesa..() function interface). It also requires
84 svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
85 application. Mesa 3-D requires GLIDE to be installed.
86
87 2. The shell script "glqwcl.3dfxgl" runs the "glqwcl" binary after
88 preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
89 OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
90 since it was written specifically with supporting GLQuake in mind.
91 lib3dfxgl.so requires that GLIDE be installed.
92
93 3. The binary "glqwcl.glx" is linked against standard OpenGL libraries.
94 It should run on many different hardward OpenGL implementations under
95 Linux and X11. This binary is an X11 application and must be run under
96 X11. It will work with Mesa 3-D as a standard glX based OpenGL
97 applications. If the Mesa 3-D library is compiled with 3DFX support,
98 you can have Mesa 3-D support 3DFX hardware under X11 by setting the
99 enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
100 and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
101 or "setenv MESA_GLX_FX fullscreen" for csh.
102
103 For glqwcl, you must also have SVGALib or later installed (1.3.0 or later
104 prefered). glqwcl uses SVGALib for mouse and keyboard handling.
105
106 If you have gpm and/or selection running, you will have to terminate them
107 before running glqwcl since they will not give up the mouse when glqwcl
108 attempts to run. You can kill gpm by typing 'killall gpm' as root.
109
110 You must run glqwcl as root or setuid root since it needs to access things
111 such as sound, keyboard, mouse and the 3DFX video. Future versions may not
112 require root permissions.
113
114 Additional notes for X11 qwcl
115 -----------------------------
116
117 This is a windowed version that is generic for X11. It runs in a window
118 and can be resized. You can specify a starting window size with:
119 -width <width>
120 -height <height>
121 -winsize <width> <height>
122 Default is 320x200. It works in 16bit modes, but it's slower (twice as many
123 bytes to copy).
124
125 No other video modes are supported (just runs windowed). Mouse is read, but
126 not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
127 the mouse and use it in the game (or type "_windowed_mouse 1" at the console).
128
129 New Command Line Options for Linux Quake
130 ----------------------------------------
131
132 -mem <mb>
133 Specify memory in megabytes to allocate (default is 8MB, which should be fine
134 for most needs).
135
136 -nostdout
137 Don't do any output to stdout
138
139 -mdev <device>
140 Mouse device, default is /dev/mouse
141
142 -mrate <speed>
143 Mouse baud rate, default is 1200
144
145 -cddev <device>
146 CD device, default is /dev/cdrom
147
148 -mode <modenum>
149 Use indicated video mode
150
151 -nokdb
152 Don't initialize keyboard
153
154 -sndbits <8 or 16>
155 Set sound bit sample size. Default is 16 if supported.
156
157 -sndspeed <speed>
158 Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
159 Default is 11025.
160
161 -sndmono
162 Set mono sound
163
164 -sndstereo
165 Set stereo sound (default if supported)
166
167 Installation
168 ------------
169
170 Boot DOS (I know, but you need it to run the Quake install program) and
171 install Quake from your Quake CD to a DOS parition.
172
173 Boot Linux and make a directory for Quake. Copy everything from the DOS Quake
174 directory into it. i.e.:
175 (cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)
176
177 Place qwcl into your Quake directory. You must make it setuid root (since
178 Quake access stuff like direct video writes, the raw keyboard mode, CD, etc).
179 Quake will setuid back to the normal user as soon as it opens these files.
180 Make Quake suid root as follows:
181 chown root qwcl
182 chmod 4755 qwcl
183
184 Run qwcl. I don't recommend running it as root, since all the saved
185 config.cfg files will be then owned as root. Use your normal account, unless
186 you do everything as root, then your mileage will vary.
187
188 qwcl may segfault if it tries to initialize your sound card and their isn't
189 one. Same with the CDROM. If it dies, try it with -nosound and/or
190 -nocdaudio. If you have a sound card it died on and you know it is
191 supported by USSLite (the driver that comes with the Linux kernel), let me
192 know and I'll take a look at it.
193
194 It should work with SCSI CDROMs, but is untested.
195
196 End Notes
197 ---------
198
199 Linux QuakeWorld is *NOT* an officially supported product. Mail about it
200 will be deleted. Do not email id about this product. If you are having
201 technical difficultly, you can email me, but make sure you have the correct
202 kernel, libc, svgalib and other software versions before you email me.
203
204 /// Dave 'Zoid' Kirsch
205 zoid (a] idsoftware.com
206 Official Quake Unix Port Administrator
207
208 Acks
209 ----
210
211 Greg Alexander <galexand (a] sietch.bloomington.in.us> for initial work in SVGALib
212 support.
213 Dave Taylor <ddt (a] crack.com> for basic Linux support.
214 id Software for Quake and making me port it. :)
215
216 Lots of people on #linux, #quake for testing.
217
218