README
1 README for Linux Quake
2 ----------------------
3
4 This README convers all versions of Quake for Linux:
5 - SVGALib Quake (squake)
6 - GLQuake (glquake, glquake.glx and glquake.3dfxgl)
7 - X11 Quake (quake.x11)
8
9 Requirements for SVGALib Quake:
10
11 - SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
12 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
13 or glibc (libc6) for the glibc version
14 - CD-ROM for CDAudio
15 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
16 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
17 - SVGALib supported mouse (usually if it works with X, it'll work with
18 squake).
19 - Kernel 2.0.24 or later
20 - untested with 2.1 kernels, your mileage may vary
21
22 Requirements for GLQuake:
23
24 - 3DFX based card for the GLQuake version, VooDoo, VooDoo Rush or VooDoo2
25 at this writing. In order to use 3DFX hardware, you must have 3DFX's
26 GLIDE drivers installed. RPMs for these drivers are available at:
27 http://glide.xxedgexx.com/3DfxRPMS.html
28 - For the glX version, an OpenGL implementation that includes hardware
29 glX support.
30 - CD-ROM for CDAudio
31 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
32 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
33 - SVGALib compatible mouse for glquake or X11 for glquake.glx
34 - Kernel 2.0.24 or later
35 - untested with 2.1 kernels, your mileage may vary
36
37 Requirements for X11 Quake:
38
39 - X11R5 later, only tested with XFree86, should work with most X Servers
40 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
41 or glibc (libc6) for the glibc version
42 - CD-ROM for CDAudio
43 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
44 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
45 - SVGALib supported mouse (usually if it works with X, it'll work with
46 squake).
47 - Kernel 2.0.24 or later
48 - untested with 2.1 kernels, your mileage may vary
49
50 Additional notes for SVGALib Quake
51 ----------------------------------
52
53 SVGALib may not detect a 3-button mouse properly (it
54 will only use two buttons). Check your /etc/vga/libvga.config
55 and set it up for your mouse type.
56
57 Additional notes for GLQuake
58 ----------------------------
59
60 There are three different ways to execute GLQuake:
61
62 1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
63 with 3DFX support (fxMesa..() function interface). It also requires
64 svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
65 application. Mesa 3-D requires GLIDE to be installed.
66
67 2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
68 preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
69 OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
70 since it was written specifically with supporting GLQuake in mind.
71 lib3dfxgl.so requires that GLIDE be installed.
72
73 3. The binary "glquake.glx" is linked against standard OpenGL libraries.
74 It should run on many different hardward OpenGL implementations under
75 Linux and X11. This binary is an X11 application and must be run under
76 X11. It will work with Mesa 3-D as a standard glX based OpenGL
77 applications. If the Mesa 3-D library is compiled with 3DFX support,
78 you can have Mesa 3-D support 3DFX hardware under X11 by setting the
79 enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
80 and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
81 or "setenv MESA_GLX_FX fullscreen" for csh.
82
83 For glquake, you must also have SVGALib or later installed (1.3.0 or later
84 prefered). GLQuake uses SVGALib for mouse and keyboard handling.
85
86 If you have gpm and/or selection running, you will have to terminate them
87 before running GLQuake since they will not give up the mouse when GLQuake
88 attempts to run. You can kill gpm by typing 'killall gpm' as root.
89
90 You must run GLQuake as root or setuid root since it needs to access things
91 such as sound, keyboard, mouse and the 3DFX video. Future versions may not
92 require root permissions.
93
94 Additional notes for X11 Quake
95 ------------------------------
96
97 This is a windowed version that is generic for X11. It runs in a window
98 and can be resized. You can specify a starting window size with:
99 -width <width>
100 -height <height>
101 -winsize <width> <height>
102 Default is 320x200. It works in 16bit modes, but it's slower (twice as many
103 bytes to copy).
104
105 No other video modes are supported (just runs windowed). Mouse is read, but
106 not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
107 the mouse and use it in the game (or type "_windowed_mouse 1" at the console).
108
109 Command Line Options for Linux Quake
110 ------------------------------------
111
112 -mem <mb>
113 Specify memory in megabytes to allocate (default is 8MB, which should be fine
114 for most needs).
115
116 -nostdout
117 Don't do any output to stdout
118
119 -mdev <device> (SVGALib based versions only)
120 Mouse device, default is /dev/mouse
121
122 -mrate <speed> (SVGALib based versions only)
123 Mouse baud rate, default is 1200
124
125 -cddev <device>
126 CD device, default is /dev/cdrom
127
128 -mode <modenum>
129 Use indicated video mode
130
131 -nokdb
132 Don't initialize keyboard
133
134 -sndbits <8 or 16>
135 Set sound bit sample size. Default is 16 if supported.
136
137 -sndspeed <speed>
138 Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
139 Default is 11025.
140
141 -sndmono
142 Set mono sound
143
144 -sndstereo
145 Set stereo sound (default if supported)
146
147 End Notes
148 ---------
149
150 Linux Quake is *NOT* an officially supported product. Mail about it
151 will be deleted. Do not email id about this product. If you are having
152 technical difficultly, you can email me, but make sure you have the correct
153 kernel, libc, svgalib and other software versions before you email me.
154
155 Dave 'Zoid' Kirsch
156 zoid (a] idsoftware.com
157 Official Quake Unix Port Administrator
158
readme.glquake
1 Linux Glquake v0.98, Quake v1.09 release notes
2
3 Requirements
4 ------------
5
6 For 3DFX based hardware, you must download and install Linux GLIDE from
7 http://glide.xxedgexx.com/3DfxRPMS.html and install as per the
8 instructions.
9
10 Running GLQuake
11 ---------------
12
13 There are three different ways to execute GLQuake:
14
15 1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
16 with 3DFX support (fxMesa..() function interface). It also requires
17 svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
18 application. Mesa 3-D requires GLIDE to be installed.
19
20 2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
21 preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
22 OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
23 since it was written specifically with supporting GLQuake in mind.
24 lib3dfxgl.so requires that GLIDE be installed.
25
26 3. The binary "glquake.glx" is linked against standard OpenGL libraries.
27 It should run on many different hardward OpenGL implementations under
28 Linux and X11. This binary is an X11 application and must be run under
29 X11. It will work with Mesa 3-D as a standard glX based OpenGL
30 applications. If the Mesa 3-D library is compiled with 3DFX support,
31 you can have Mesa 3-D support 3DFX hardware under X11 by setting the
32 enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
33 and "window" for windowed mode.
34
35 You must also have SVGALib 1.3.0 or later installed. GLQuake uses SVGALib
36 for mouse and keyboard handling.
37
38 If you have gpm and/or selection running, you will have to terminate them
39 before running GLQuake since they will not give up the mouse when GLQuake
40 attempts to run. You can kill gpm by typing 'killall gpm' as root.
41
42 You must run GLQuake as root or setuid root since it needs to access things
43 such as sound, keyboard, mouse and the 3DFX video. Future versions may not
44 require root permissions.
45
46 resolution options
47 ------------------
48 glquake -width 512 -height 384
49 Tries to run glquake at the specified resolution.
50 Only highend VooDoo cards support such high resolutions (most
51 cards on the market right now do not). Another popular and supported mode
52 is 512x384 (-width 512 -height 384) which can offer a faster speed than
53 the default 640x480.
54
55 You can also specify the resolution of the console independant of the screen
56 resolution.
57
58 glquake -conwidth 320
59 This will specify a console resolution of 320 by 240 (the height is
60 automatically determined by the default 4:3 aspect ratio, you can also
61 specify the height directly with -conheight).
62
63 In higher resolution modes such as 800x600 and 1024x768, glquake will default
64 to a 640x480 console, since the font becomes small enough at higher
65 resolutions to become unreadable. If do you wish to have a higher resolution
66 console and status bar, specify it as well, such as:
67 glquake -width 800 -height 600 -conwidth 800
68
69 texture options
70 ---------------
71 The amount of textures used in the game can have a large impact on performance.
72 There are several options that let you trade off visual quality for better
73 performance.
74
75 There is no way to flush already loaded textures, so it is best to change
76 these options on the command line, or they will only take effect on some of
77 the textures when you change levels.
78
79 OpenGL only allows textures to repeat on power of two boundaries (32, 64,
80 128, etc), but software quake had a number of textures that repeated at 24
81 or 96 pixel boundaries. These need to be either stretched out to the next
82 higher size, or shrunk down to the next lower. By default, they are filtered
83 down to the smaller size, but you can cause it to use the larger size if you
84 really want by using:
85
86 glquake +gl_round_down 0
87 This will generally run well on a normal 4 MB 3dfx card, but for other cards
88 that have either worse texture management or slower texture swapping speeds,
89 there are some additional settings that can drastically lower the amount of
90 textures to be managed.
91
92 glquake +gl_picmip 1
93 This causes all textures to have one half the dimensions they otherwise would.
94 This makes them blurry, but very small. You can set this to 2 to make the
95 textures one quarter the resolution on each axis for REALLY blurry textures.
96
97 glquake +gl_playermip 1
98 This is similar to picmip, but is only used for other players in deathmatch.
99 Each player in a deathmatch requires an individual skin texture, so this can
100 be a serious problem for texture management. It wouldn't be unreasonable to
101 set this to 2 or even 3 if you are playing competatively (and don't care if
102 the other guys have smudged skins). If you change this during the game, it
103 will take effect as soon as a player changes their skin colors.
104
105 run time options
106 ----------------
107 At the console, you can set these values to effect drawing.
108
109 gl_texturemode GL_NEAREST
110 Sets texture mapping to point sampled, which may be faster on some GL systems
111 (not on 3dfx).
112
113 gl_texturemode GL_LINEAR_MIPMAP
114 This is the default texture mode.
115
116 gl_texturemode GL_LINEAR_MIPMAP_LINEAR
117 This is the highest quality texture mapping (trilinear), but only very high
118 end hardware (intergraph intense 3D / realizm) supports it. Not that big of
119 a deal, actually.
120
121 gl_finish 0
122 This causes the game to not issue a glFinish() call each frame, which may make
123 some hardware run faster. If this is cleared, the 3dfx will back up a number
124 of frames and not be very playable.
125
126 gl_flashblend 0
127 By default, glquake just draws a shaded ball around objects that are emiting
128 light. Clearing this variable will cause it to properly relight the world
129 like normal quake, but it can be a significant speed hit on some systems.
130
131 gl_ztrick 0
132 Glquake uses a buffering method that avoids clearing the Z buffer, but some
133 hardware platforms don't like it. If the status bar and console are flashing
134 every other frame, clear this variable.
135
136 gl_keeptjunctions 0
137 If you clear this, glquake will remove colinear vertexes when it reloads the
138 level. This can give a few percent speedup, but it can leave a couple stray
139 blinking pixels on the screen.
140
141 novelty features
142 ----------------
143 These are some rendering tricks that were easy to do in glquake. They aren't
144 very robust, but they are pretty cool to look at.
145
146 r_shadows 1
147 This causes every object to cast a shadow.
148
149 r_wateralpha 0.7
150 This sets the opacity of water textures, so you can see through it in properly
151 processed maps. 0.3 is very faint, almost like fog. 1 is completely solid
152 (the default). Unfortunately, the standard quake maps don't contain any
153 visibility information for seeing past water surfaces, so you can't just play
154 quake with this turned on. If you just want to see what it looks like, you
155 can set "r_novis 1", but that will make things go very slow. When I get a
156 chance, I will probably release some maps that have been processed properly
157 for this.
158
159 r_mirroralpha 0.3
160 This changes one particular texture (the stained glass texture in the EASY
161 start hall) into a mirror. The value is the opacity of the mirror surface.
162
163
readme.squake
1
2 README for Linux SVGALib Quake
3 ------------------------------
4
5 Requirements:
6
7 - SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
8 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
9 - CD-ROM for CDAudio
10 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
11 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
12 - SVGALib supported mouse (usually if it works with X, it'll work with
13 squake).
14 - Kernel 2.0.24 or later
15 - untested with 2.1 kernels, your mileage may vary
16
17 Here's the release you've been waiting for. Linux squake supports
18 320x200x256, the various modeX modes (320x400, 360x400, etc) as well as high
19 res modes if your card is supported by SVGALib. Use the Quake console command
20 vid_describemodes to list supported modes and the command vid_mode <number> to
21 change modes.
22
23 Full sound support is included. The default sound rate is 16-bit stereo,
24 11KHz. You can change this in the options section below.
25
26 Mouse works great, but SVGALib may not detect a 3-button mouse properly (it
27 will only use two buttons). Check your /etc/libvga.config (or
28 /etc/vga/libvga.config for SlackWare users).
29
30 **Version 1.1 fixes some crash bugs with the mission packs.
31
32 New Command Line Options for Linux SVGAlib Quake
33 ------------------------------------------------
34
35 -mem <mb>
36 Specify memory in megabytes to allocate (default is 8MB, which should be fine
37 for most needs).
38
39 -nostdout
40 Don't do any output to stdout
41
42 -mdev <device>
43 Mouse device, default is /dev/mouse
44
45 -mrate <speed>
46 Mouse baud rate, default is 1200
47
48 -cddev <device>
49 CD device, default is /dev/cdrom
50
51 -mode <modenum>
52 Use indicated video mode
53
54 -nokdb
55 Don't initialize keyboard
56
57 -sndbits <8 or 16>
58 Set sound bit sample size. Default is 16 if supported.
59
60 -sndspeed <speed>
61 Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
62 Default is 11025.
63
64 -sndmono
65 Set mono sound
66
67 -sndstereo
68 Set stereo sound (default if supported)
69
70 Installation
71 ------------
72
73 Boot DOS (I know, but you need it to run the Quake install program) and
74 install Quake from your Quake CD to a DOS parition.
75
76 Boot Linux and make a directory for Quake. Copy everything from the DOS Quake
77 directory into it. i.e.:
78 (cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)
79
80 Place squake into your Quake directory. You must make it setuid root (since
81 Quake access stuff like direct video writes, the raw keyboard mode, CD, etc).
82 Quake will setuid back to the normal user as soon as it opens these files.
83 Make Quake suid root as follows:
84 chown root squake
85 chmod 4755 squake
86
87 Run squake. I don't recommend running it as root, since all the saved
88 config.cfg files will be then owned as root. Use your normal account, unless
89 you do everything as root, then your mileage will vary.
90
91 squake may segfault if it tries to initialize your sound card and their isn't
92 one. Same with the CDROM. If it dies, try it with -nosound and/or
93 -nocdaudio. If you have a sound card it died on and you know it is
94 supported by USSLite (the driver that comes with the Linux kernel), let me
95 know and I'll take a look at it.
96
97 It should work with SCSI CDROMs, but is untested.
98
99 Full TCP/IP network support is in, including listen and dedicated server
100 modes. squake makes a nice dedicated server as you don't need the X11
101 libraries kicking around.
102
103 All of the options described in TECHINFO.TXT and MANUAL.TXT from the Quake
104 distribution will work, 'cept for stuff with vid modes and stuff.
105
106 End Notes
107 ---------
108
109 Linux SVGALib Quake is *NOT* an officially supported product. Mail about it
110 will be deleted. Do not email id about this product. If you are having
111 technical difficultly, you can email me, but make sure you have the correct
112 kernel, libc, svgalib and other software versions before you email me.
113
114 Dave 'Zoid' Kirsch
115 zoid (a] threewave.com
116 Official Quake Unix Port Administrator
117
118 Acks
119 ----
120
121 Greg Alexander <galexand (a] sietch.bloomington.in.us> for initial work in SVGALib
122 support.
123 Dave Taylor <ddt (a] crack.com> for basic Linux support.
124 id Software for Quake and making me port it. :)
125
126 Lots of people on #linux, #quake for testing.
127
128
README.X11
1
2 README for Linux SVGALib Quake
3 ------------------------------
4
5 Requirements:
6
7 - X11R5 later, only tested with XFree86, should work with most X Servers
8 - libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
9 - CD-ROM for CDAudio
10 - Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
11 with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
12 - SVGALib supported mouse (usually if it works with X, it'll work with
13 squake).
14 - Kernel 2.0.24 or later
15 - untested with 2.1 kernels, your mileage may vary
16
17 This is a windowed version that is generic for X11. It runs in a window
18 and can be resized. You can specify a starting window size with:
19 -width <width>
20 -height <height>
21 -winsize <width> <height>
22 Default is 320x200. It works in 16bit modes, but it's slower (twice as many
23 bytes to copy).
24
25 No other video modes are supported (just runs windowed). Mouse is read, but
26 not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
27 the mouse and use it in the game. If you want to move the mouse out of
28 QWCL, you have to turn Use Mouse off.
29
30 Full sound support is included. The default sound rate is 16-bit stereo,
31 11KHz. You can change this in the options section below.
32
33 New Command Line Options for Linux SVGAlib Quake
34 ------------------------------------------------
35
36 -mem <mb>
37 Specify memory in megabytes to allocate (default is 8MB, which should be fine
38 for most needs).
39
40 -nostdout
41 Don't do any output to stdout
42
43 -cddev <device>
44 CD device, default is /dev/cdrom
45
46 -sndbits <8 or 16>
47 Set sound bit sample size. Default is 16 if supported.
48
49 -sndspeed <speed>
50 Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
51 Default is 11025.
52
53 -sndmono
54 Set mono sound
55
56 -sndstereo
57 Set stereo sound (default if supported)
58
59 Installation
60 ------------
61
62 Boot DOS (I know, but you need it to run the Quake install program) and
63 install Quake from your Quake CD to a DOS parition.
64
65 Boot Linux and make a directory for Quake. Copy everything from the DOS Quake
66 directory into it. i.e.:
67 (cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)
68
69 Quake for X11 does not need to be setuid root. Sound can fail if /dev/dsp is
70 not mode 666.
71
72 Quake may segfault if it tries to initialize your sound card and their isn't
73 one. Same with the CDROM. If it dies, try it with -nosound and/or
74 -nocdaudio. If you have a sound card it died on and you know it is
75 supported by USSLite (the driver that comes with the Linux kernel), let me
76 know and I'll take a look at it.
77
78 It should work with SCSI CDROMs, but is untested.
79
80 Full TCP/IP network support is in, including listen and dedicated server
81 modes.
82
83 All of the options described in TECHINFO.TXT and MANUAL.TXT from the Quake
84 distribution will work, 'cept for stuff with vid modes and stuff.
85
86 End Notes
87 ---------
88
89 Linux Quake is *NOT* an officially supported product. Mail about it
90 will be deleted. Do not email id about this product. If you are having
91 technical difficultly, you can email me, but make sure you have the correct
92 kernel, libc, svgalib and other software versions before you email me.
93
94 Dave 'Zoid' Kirsch
95 zoid (a] idsoftware.com
96 Official Quake Unix Port Administrator
97
98 Acks
99 ----
100
101 Greg Alexander <galexand (a] sietch.bloomington.in.us> for initial work in SVGALib
102 support.
103 Dave Taylor <ddt (a] crack.com> for basic Linux support.
104 id Software for Quake and making me port it. :)
105
106 Lots of people on #linux, #quake for testing.
107
108