diff --git a/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml b/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml index d0249471..e98d5157 100644 --- a/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml +++ b/LDP/howto/docbook/HOWTO-INDEX/appsSect.sgml @@ -282,7 +282,7 @@ to be used with a Microsoft Exchange Server. Quake-HOWTO, Linux Quake HOWTO -Updated: Feb 2007. +Updated: May 2008. How to install, run and troubleshoot Quake, QuakeWorld and Quake II on an Intel Linux system. diff --git a/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml b/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml index d25ff4e8..0982d17e 100644 --- a/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml +++ b/LDP/howto/docbook/HOWTO-INDEX/howtoChap.sgml @@ -3609,7 +3609,7 @@ alternative to sendmail. Quake-HOWTO, Linux Quake HOWTO -Updated: Feb 2007. +Updated: May 2008. How to install, run and troubleshoot Quake, QuakeWorld and Quake II on an Intel Linux system. diff --git a/LDP/howto/linuxdoc/Quake-HOWTO.sgml b/LDP/howto/linuxdoc/Quake-HOWTO.sgml index 8d4f640b..095d0b8d 100644 --- a/LDP/howto/linuxdoc/Quake-HOWTO.sgml +++ b/LDP/howto/linuxdoc/Quake-HOWTO.sgml @@ -11,16 +11,16 @@ Author: Steven A -Version: 2.05 +Version: 2.07 -Last updated: 9 February, 2007 +Last updated: 3 May, 2008 -This document is a modern guide to id Software's Quake game, with some information about -QuakeWorld , Quake II, III and IV. +This document is a modern guide to id Software's Quake game, +with some information about Quake's sequels and Linux gaming in general. @@ -32,18 +32,20 @@ QuakeWorld , Quake II, III and IV. Linux Quake sits at the crossroads of two computing revolutions - GNU/Linux, the popular free operating system, and GLQuake, the first "first person -shooter" to use the 3D graphics library OpenGL. Quake has a loyal community -still making games ten years after it's release by ID Software, and -thanks to John Carmack releasing the software under the GPL, people are able to +shooter" to use the 3D graphics library OpenGL. The game still has a community +making new maps ten years after it's release by id Software. And +thanks to John Carmack releasing the software under the GPL, we are able to enjoy it on non-proprietary platforms. -Does all this mean our game is important ? No... It's just fun ;-) +Does this mean our game is important ? No... It's just fun ;-) About

This document is a guide to installing Quake and it's many related games and modifications. It includes compilation notes, tips and pointers to the best web resources, as well as some information about Quake II, III and IV. +You'll also find many issues relevant to +Linux gaming in general. Notation

@@ -96,12 +98,12 @@ the CD. . -There are several to choose from, but the simplest choice is either the author's -, -or Jörgen's . After downloading or compiling -a game engine, place this binary in your Quake directory alongside the -id1 directory. +name="game engine">. There are several to choose from, but the simplest choice +is either , or the more basic . +After downloading or compiling a game engine, place this +binary in your Quake directory alongside the id1 directory. : -/usr/local/games/quake +- glquake.glx (or another game engine) +/usr/local/games/quake +- tyr-glquake (or another game engine) | +- id1 -+- config.cfg | @@ -120,7 +122,7 @@ being in : +- pak1.pak Now, from an xterm window, type (for example) - ./glquake.glx -fullscreen -width 800 -height 600 + ./tyr-glquake -fullscreen -width 800 -height 600 to start the game. @@ -133,7 +135,7 @@ with the command line, try one of these links for more information: section The of this how-to - + @@ -170,7 +172,7 @@ which vary from engine to engine. The most useful/common ones are: You can also append Quake commands to the Linux command line by prefixing them with a plus sign. For example, to automatically start a new game at hard skill, use - glquake.glx +skill 2 +map e1m1 + tyr-glquake +skill 2 +map e1m1 Game Console Commands

@@ -233,29 +235,23 @@ Show player from third person perspective TyrQuake

-TyrQuake is a fairly complete project including OpenGL, Software Quake and QuakeWorld -clients, and - including the popular TyrLite. Tyrann's focus is on a fully featured -but minimalist engine for Windows and Linux. -A new feature is command line completion. Pressing the tab key -at the console will automatically complete the current command or mapname - similar to the Linux shell, Bash. +TyrQuake is a fairly complete project including OpenGL, Software Quake and +QuakeWorld clients, and including the popular TyrLite. Tyrann's focus is on a fully featured +but minimalist engine for Windows and Linux. -Currently at version 0.54, TyrQuake now compiles out of the box on all systems I've tested :-) - -Typing make will build all the clients, but to compile only -the single player client, after unpacking the source code, type: - -make prepare -make tyr-glquake - -Alternatively, for a more verbose make process, use: - -make tyr-glquake V=1 - +The latest version is 0.59, which now supports the Power PC platform, FreeBSD and +per-user configuration files. Other newish features include sophisticated +command line completion, and a cool console effect (gl_constretch). + +Typing make will build all the clients. To compile only +the single player client, after unpacking the source code type: + make prepare tyr-glquake . +Tyrann has a nice clean build system, but if you wish to see compilation feedback, add V=1 to the command line. A patched TyrQuake binary is available -. +. @@ -270,7 +266,9 @@ GLQuake and QuakeForge. It also supports many otherwise incompatible mods including and , and has improved support -for the official mission packs. +for the official mission packs. Recent changes include improvements to the +menuing system, and speed increases, though there also appears to be some +mod compatability issues creeping in. Havoc's can be a little confusing. The large "darkplacesengine" @@ -281,40 +279,30 @@ For example - to build the OpenGL engine with ALSA sound type make cl-release, or to build with OSS sound, make cl-release DP_SOUND_API=OSS. -Much thanks to Lord Havoc for this great project. +Much thanks to LordHavoc for this great project. + FitzQuake

+ +This engine has long been the defacto standard for the Quake mapping community, +and has recently been ported to Linux (and Macs). As well as graphical features +such as skyboxes, fog, and coloured light, it includes a rewritten lighting +model and enhanced console commands. + + +

-"Here you'll find QuDos' `linuxified` src+bin tarballs for popular quake ports, -including that of bjp for Nehahra." +QuDos has done much work with Quake engines for BSD and Linux. In the past he +has ported Nehahra , JoeQuake and others, but currently has only a +couple available at his website. -This is great news for gamers. For the first time these engines - including -DemonQuake, JoeQuake, NehQuake, Qrack and Tremor - have been ported to Linux. - runs much faster than -Darkplaces, and has impressive eye candy. - -The tarballs include source code, binaries and in most cases the data -files necessary for the engine. To install these data files, find the simply -named folders (such as "joequake" or "qrack") inside the tarballs and move them -to your quake directory. If they are not present you will have to download them -from the game's homepage. - -For some of the engines, an additional sound library (which is included) -has to be installed. To do this: - - su - cd /usr/lib - mv {some directory}/libfmod-3.74.1.so . - ln -s libfmod-3.74.1.so libfmod.so - ldconfig - -or visit the and install the -libraries manually. +His excellent port is still available at + +, but those after the source code may try contacting him. @@ -392,8 +380,6 @@ for other open source games. - -

- -There are hundreds of user created levels - known variously as "mods", "total -conversions" or simply "maps", all over the internet. When it comes to -finding them though, many URLs are no longer valid, and it is easier to just -google for a file name (perhaps adding "quake" as an extra search term) than -to try and find the project's homepage - which is probably just dust in the -ether now. + About

+Quake has hundreds of user created levels - known variously as "mods", "total +conversions" or simply "maps". To run new maps, place the bsp file into the "quake/id1/maps" subdirectory, and start Quake with the +map MAPNAME option. @@ -516,16 +497,25 @@ sometimes, +map MAPNAME where MAPNAME is the mod's start map. For both maps and mods, all files should be in format. + Free Mods

-Mod lists can be found at and -UnderWorld (, ). -At the DoomWadStation you'll find a comprehensive of Quake levels. +A recent effort has been made at Quaddicted.com +to archive this resource - Quaddicted +, +. A few of the author's favourites are: +, +composed of moody and interesting electronic vibes. + + + - - - - , - - + ","/" keys for inventory, and the "w","e","r" keys for the -grappling hook - +grappling hook - Here you can get the long lost Fantasy Quake . - -, - - Commercial Mods

@@ -652,30 +618,43 @@ new monsters, but the game-play doesn't cut it anymore. Mapping tools

Another first for Quake was the implementation of it's own game language - -Quake C. This enables mods to work seamlessly on any operating system. -It is possible to install many of the editors which are used to make Quake -maps, but creating full scale mods is real voodoo and beyond my knowledge. +Quake C. This enables mods to work seamlessly on any operating system. It is +possible to install many of the editors which are used to make Quake maps, but +creating full scale mods is real voodoo and Linux support is not good. -GtkRadiant + + + is the home of modern Quake mapping. + + has lots of good stuff. + + + +Also + + + + is the only currently maintained and Linux friendly world editor I know of. - -The Quake Army Knife (QuArK) is a multi-purpose Quake editing tool which.. + +(QuArK) is a multi-purpose Quake editing tool which.. may or may not have Linux support %-(. - -...You may be able to find out from the - an ongoing hub for Q1 development and new mapping projects. + Tyrann's +are popular, especially his lighting program. -Bengt Jardrup's + Bengt Jardrup's has lots of mod friendly stuff. - - + include some Quake C tools with their tarball. -The + The has some relevant links for the windows platforms. + + Multiplayer

@@ -686,7 +665,7 @@ has some relevant links for the windows platforms. An enhanced Quake engine for on-line and network multiplayer action. It is incorporated into -, +, , and . @@ -697,6 +676,27 @@ For servers, try: +

+ +This project now works for me ;-> ... And it's looking very nice. + +As well and as GL, X11 and SVGA clients, it has serious graphical and +game-play enhancements and some nice documentation. It is definately a project +to keep up with. + +Sound may be an issue. It defaults to ALSA but to start with OSS try: +"ezquake-gl.glx +set s_device /dev/dsp". To compile the GL client, +type "make glx". You may have to change the Makefile thus: + +- LDFLAGS = -lm -lpthread ++ LDFLAGS = -lm -lpthread -L/usr/X11R6/lib + + + + + + ProQuake

From the ProQuake website: "...What you will find is a rock solid set of @@ -718,16 +718,20 @@ owners of new Nvidia cards may have to apply the + FTE QuakeWorld

+ +A new, ambitious project, + aims to offer support for +multiplayer Quake as well as similar projects such as Hexen II. +

- contains numerous game-play and eye candy enhancements over the original -QuakeWorld game. - -It will still play the original Quake episodes, but the focus is on -multiplayer and single player mods won't work. FuhQuake is actively -maintained by Fuh and has a loyal following. + seems to recently have +become an unsupported project. Thanks to Fuh for his previous support, and his +project lives on at +. XQF and QStat

@@ -806,7 +810,7 @@ the of this how-to, and Often, using an alternative game engine such as , - and + and will fix mouse and sound related problems. Bash won't start the program

@@ -877,6 +881,20 @@ containing the files "pak0.pak" and "pak1.pak". +Missing libraries: "error while loading shared libraries: libGL.so.1: cannot open shared object file" + +A message similar to this means the program cannot run because it can't find a system file it needs. +Perhaps: + + File is not installed - Just check with your package manager and install the correct package. + + Links aren't properly set-up. If you have (say) /usr/lib/libGL.so.1.2, but get the above message, you should be able to remedy this with ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1 + + +Dynamic libraries (or DLLs as they are known to Windows users) can be quite +complex. For more information try the ldd and ldconfig man +pages. +

@@ -987,7 +1015,7 @@ programming. Below are a few relevant issues. The GNU C compiler has recently had a major revision, and most modern distributions now include GCC-4.1. (To find out which version you are using, type gcc --version). -The author used GCC-3.2.2 to make this How-To, and people using GCC-4.x may find +The author generally uses GCC-3.2.2 , and people using GCC-4.x may find extra problems when compiling programs: linux32 tyr-glquake. - Nvidia Drivers

- -The latest Nvidia drivers can also cause headaches. Recently they have started -installing their own OpenGL headers by default, which has lead to some -conflicting variable declarations. This is fixed by removing them, -or by uninstalling the drivers (with nvidia-installer ---uninstall) and re-installing with the "--no-opengl-headers" option. - - Other Issues

@@ -1080,11 +1099,6 @@ This tip will not work with poorly supported hardware. For Voodoo 1/2 users, vis - If you're using fluxbox, try another window manager. Fluxbox has issues -with some games in fullscreen mode. - - - If still without success, try the or SDL clients. @@ -1118,7 +1132,8 @@ and info pages to better understand Unix file permissions. In full multi-user environments it is recommended using the - or +, + or game engines, which correctly place per-user data in their home directory. @@ -1136,7 +1151,7 @@ be drawn with lines all over the place. To fix this, delete the directory and everything should be fine. @@ -1167,27 +1182,6 @@ A: Just type the following before running setup.sh [or the installer]: export SE - Video Drivers

- -Setting up hardware GL acceleration under Linux used to be a big deal, but -modern distros should now handle this automatically. Of course there are -exceptions... - -Nvidia's drivers for all of their modern video cards are not open source. -Because of this many distributions do not include them. If your Nvidia card is -running slowly this is probably the cause and you should visit to download the Linux installer. In the author's -experience these drivers are great, but not all versions work 100% with all -cards and kernels. If you have a misbehaving Nvidia video card, try a different -driver. - -While new versions of XFree and Xorg have great support for Voodoo 3, 4 and 5, -early 3dfx hardware such as Voodoo1, Voodoo2 and Rush are no longer hardware -accelerated. To get OpenGL working for these cards, you'll need to download, -install and/or compile the software libraries called Glide and Mesa. - -is a detailed README on old 3dfx cards. - and are also based on Quake II. -See the of this how-to -for Quake II troubleshooting tips. + Notes

+A common command line option is: +set vid_ref glx +set gl_driver /usr/lib/libGL.so.1 +which tells the game to start in OpenGL mode. + +See the of this how-to for other Quake II troubleshooting tips. Quake III Arena

The third Quake installment was a landmark multiplayer game, with -beautiful graphics and well balanced combat. It was one of the first games +beautiful graphics and well balanced combat. It was also one of the first games to receive a full Linux commercial release. Most mods should work. The Linux Gamers FAQ reports: @@ -1289,32 +1286,44 @@ Most mods should work. The Linux Gamers FAQ reports: Quake III ... VM bytecode as advised by id software. ... modifications compiled to Windows library files will not work. -The retail add-on Quake III Team Arena is supported and, despite never -getting rave reviews, is a great game. +The retail add-on Quake III Team Arena is supported and, despite +getting ordinary reviews, is a great game. +The Icculus Quake III Project +which has recently moved to +. +They are adding extra features, including support for Star Trek Voyager: Elite Force Holomatch (multiplayer). Sourceforge is a high quality stand-alone +conversion. It's set in a miniature suburban world with a bizarre cartoon +theme, and is currently multiplayer only but with full bot support. + +In you're matched against pin headed martians with unbelievable OpenGL environments. + is an atmospheric Q3 single player conversion. -Or try the alien themed + +Try the alien themed for an original multiplayer mod. and -guides hosted by ID Software. +guides hosted by id Software. -Linuxgamer's . +Linuxgamer's . Linux Questions' Quake III forums for @@ -1397,12 +1406,14 @@ name="Quake IV demo"> - + + + @@ -1415,7 +1426,6 @@ name="Quake IV demo"> - @@ -1423,30 +1433,17 @@ name="Quake IV demo"> Other -

+ Nvidia

-The game variable "r_wateralpha" allows for water transparency - but most maps -don't have the necessary "vis" information. There are two ways to get this. -After setting r_wateralpha < 1.0, issuing the -console command r_novis 1 enables the game to calculate it's own vis -information at the penalty of cpu cycles. Alternatively, vispatch is a utility -that patches your Quake/QuakeWorld levels to support transparent water. +Nvidia's drivers for all of their modern video cards are not open source. +Because of this many distributions do not include them. If your Nvidia card is +running slowly this is probably the cause and you should visit to download the Linux installer. In the author's +experience these drivers are great, but not all versions work 100% with all +cards and kernels. If you have a misbehaving Nvidia video card, try a different +driver. -To do this you'll need the -, -as well as the - -for the game you are patching. - -Vispatch was originally written by Andy Bay but has not had much support since -and is finicky to use. Old Linux binaries on the web won't work, and -the utility itself has a rigid structure. To patch the main data files in "id1" - -from your Quake directory - type vispatch -dir id1 -data id1.vis - - (outdated) - - Nvidia Tweaks

+ Tweaks

These tweaks are for users with a GeForce video card (or better) and Nvidia's proprietary drivers. They are accessed using the bash command export @@ -1483,11 +1480,27 @@ giving a more stable image especially on slower video cards. + + 3Dfx

+ +While new versions of XFree and XOrg have great support for Voodoo 3, 4 and 5, +early 3Dfx hardware such as Voodoo1, Voodoo2 and Rush are no longer hardware +accelerated. To get OpenGL working for these cards, you'll need to download, +install and/or compile the software libraries called Glide and Mesa, though this is +not trivial. The author does have precompiled libGL for the Voodoo2, +and his includes proper 3Dfx brightness control. is a README for old 3Dfx cards. + + +

The author has limited experience with this OS and currently uses FreeBSD 5.3 with Nvidia's -proprietary drivers. and , and work well with this system. has recently ported several @@ -1516,24 +1529,46 @@ to hobbyists as being a successful microkernel OS. compiles and runs on QNX-NC-6.2.1 after running configure --host=QNX and then making these changes: -Makefile: -LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound - +LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound -lsocket -net.h: -extern unsigned long htonl (unsigned long hostlong); - -extern unsigned long ntohl (unsigned long netlong); -sys_sdl.c: -#include - -int psize = getpagesize(); - +int psize = _SC_PAGESIZE; +Makefile: + -LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound + +LIBS = -L/usr/local/lib -lSDL -lm -lph -lasound -lsocket +net.h: + -extern unsigned long htonl (unsigned long hostlong); + -extern unsigned long ntohl (unsigned long netlong); +sys_sdl.c: + -#include + -int psize = getpagesize(); + +int psize = _SC_PAGESIZE; +

+ +The game variable "r_wateralpha" allows for water transparency - but most maps +don't have the necessary "vis" information. There are two ways to get this. +After setting r_wateralpha < 1.0, issuing the +console command r_novis 1 enables the game to calculate it's own vis +information at the penalty of cpu cycles. Alternatively, vispatch is a utility +that patches your Quake/QuakeWorld levels to support transparent water. + +To do this you'll need the vispatch utility, as well as the + +for the game you are patching. + +To patch the main data files in "id1" - +from your Quake directory - type vispatch -dir id1 -data id1.vis + + + Quake Inspired XTerms

- Quake's in-game console is a great feature and has been adopted by many +Quake's in-game console is a great feature and has been adopted by many other games. Now you can also use the 'tilda' key to access X terminal windows. Both and are projects inspired by this idea. - Unfortunately neither are easy to install from source. Yakuake is a KDE +Unfortunately neither are easy to install from source. Yakuake is a KDE application and needs the KDE development packages, and compiling Tilda is more complicated. It requires a couple of unusual libraries, and gave this author compilation errors, so perhaps looking for a RPM package is a better choice. @@ -1589,7 +1624,7 @@ The author can recommend Yakuake as a very handy X terminal. Func Message Board - "... This Will Produce A Fully Functional Bouncing, Exploding Zombie." - Sounds like fun :) + Sounds like fun :-) @@ -1661,7 +1696,7 @@ the players exist in the same world. Linus Torvalds for hacking together his free operating system kernel. -. +. O. Sezer for pointers to some of the many things I'm clueless about. @@ -1721,12 +1756,38 @@ This webpage was constructed using Linuxdoc-Tools-0.9.20 (currently unmaintained Todo

-impulses, ezquake. +impulses Changelog

+ License

-This document is released under the GPL. +This document is released under version 2 of the GPL.

-Steven A. +Steven A. lives and works in rural Australia. - +