Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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.  
  219.