Quake
Not enough ratings
Quake on Linux
By almos
A detailed guide on how to set up the Quake trilogy on a Debian-based Linux distribution.
2
   
Award
Favorite
Favorited
Unfavorite
Preparation
The first step is to install the games in Steam. Unfortunately, Steam doesn't want to install games that are not available on its current platform, so it has to be done via Wine.

Download the SteamSetup.exe from the store page, and run it with Wine. After it's installed, start it (use the -no-dwrite option if the text doesn't appear in the login window, and use the -no-cef-sandbox option if you get blackness in the store and community tabs), log in, and install Quake. The files will be located at ~/.wine/drive_c/ProgramFiles/Steam/SteamApps/common. Wine is no longer needed from now on.
Quake
The only files that are needed from the installed game are the .pak files in the id1, hipnotic, and rogue directories. Copy them (with the correct directories) wherever you want, and change all of them to lowercase.

QuakeSpasm

The basic Quake engine in Debian is QuakeSpasm. It is a multi-platform port of the FitzQuake engine, which in turn is the original GlQuake with several bugfixes.

apt-get install quakespasm

Run the game as quakespasm -basedir /where/you/have/your/id1/directory. The mission packs are started with adding -hipnotic or -rogue to the command. QuakeSpasm doesn't play the demos on startup, and doesn't show a confirmation dialog when quitting -- If you want these features, start the game with the -fitz option.

I also like to set gl_texturemode GL_NEAREST_MIPMAP_LINEAR, because it perfectly combines the aesthetics of the good old software renderer (which the game was designed for) and the miracle of hardware acceleration.

Music

For whatever sick reason the Steam version of Quake is missing the original CD audio music. Modern Quake engines support playing music from files, if you can obtain them. Take a look at this post. Quakespasm wants the music in Ogg Vorbis format, and the file names should be like id1/music/track02.ogg. The music of the mission packs must be installed separately in their own directories.

Transparent Water

The original software renderer of Quake didn't support transparency (what a stepback from Doom!), and the visibility data in the map files takes this into account. This means, that if you do r_wateralpha 0.6 in the console you see the void when looking through water (lava, portal) surfaces. To fix this you need to use the VisPatch utility[vispatch.sourceforge.net] on the pak files. You need to put vispatch, the original pak, and the corresponding patch file in the same directory, and run vispatch to produce a patched pak. Warning: transparent water makes it easier to find some underwater secret areas.

DarkPlaces

Unlike QuakeSpasm, the DarkPlaces engine aims to improve the visual quality of Quake as much as possible with advanced lighting and shading effects. If you ask me, it's ugly (especially the water reflection), but lots of young people like it, so I list it here.

apt-get install darkplaces

Boring history lesson: DarkPlaces was originally developed for a free shooter called Nexuiz. Later, one of the main devs sold the Nexuiz name, and a totally different game was released under this name, which used CryEngine 3. The original Nexuiz community had to change the name of their game to Xonotic.

HD Texture Pack

If you are one of the heretics that despise the raw and brutal look of the original Quake, you might be interested in a package of high resolution textures, improved models, and other nonsense things. Perhaps the most comprehensible package is Quake HD Pack. It also contains the DarkPlaces engine (only for windows), the missing music, and the VisPatch utility, so it's not completely useless.
Quake II
Again, the only files that are needed from the installed game are the .pak and .cin files, with their corresponding directories.

Yamagi Quake2

The default Quake 2 engine in Debian is Yamagi. It is a multi-platform engine with focus on single player, trying to be as close to the original as possible. If you want multiplayer, you might be interested in r1q2[old.r1ch.net], which is only available for windows.

apt-get install quake2

The startup script quake2 expects the data files in /usr/share/games/quake2/. If you want to put your data elsewhere, you'll need to start the game as /usr/lib/quake2/quake2-engine +set basedir /where/you/have/your/baseq2/directory. The mission packs are started with adding -xatrix or -rogue to the command.

Music

For whatever sick reason the Steam version of Quake 2 is missing the original CD audio music. Modern Quake 2 engines support playing music from files, if you can obtain them. Take a look at this post. Yamagi-quake2 wants the music in Ogg Vorbis format, and the file names should be like baseq2/music/02.ogg. The music of the mission packs must be installed separately in their own directories.

HighRes Texture Pack

Now, unlike the first Quake, Quake 2 desperately needs higher resolution textures, because the original ones are really blurry. A good texture pack can be found at the Yamagi[deponie.yamagi.org] website, but there are several others at ModDB. Extract both zip archives into the baseq2 directory, and it's done.

Quake III Arena
Again, the only files that are needed from the installed game are the .pk3 files, baseq3 and missionpack directories.

IoQuake3

The default multiplatform Quake 3 engine is IoQuake3. It is fully compatible with the original Quake 3 content, and AFAIK it can run some of the popular mods as well.

apt-get install ioquake3

The game is started as /usr/lib/ioquake3/ioquake3 +set fs_basepath /where/you/have/your/baseq3/directory.

The only problem with IoQuake3 is that it doesn't support PunkBuster, so only play with people whom you trust not to be cheating.

Improving Visuals

If you're not satisfied with the texture quality of the game, there is a good HighRes Texture Pack at IoQuake3[ioquake3.org]. Just put the .pk3 into the baseq3 directory.

For widescreen resolution you need to edit the config file ~/.q3a/baseq3/q3config.cfg: set the r_customheight and r_customwidth parameters, and set r_mode to -1. To fix the field-of-view set cg_fov to something like 115.

The game uses a geometry LoD feature to reduce the complexity of distant polygon meshes. Its threshold values were calibrated for extremely low screen resolutions (or extremely slow computers), so the objects already get jagged at 5 meters or so (check the health orbs). This can be improved by setting r_lodbias to -1.

Team Arena

The only official mission pack for Quake 3 is Team Arena, which is in the missionpack directory. IoQuake3 will initially refuse to run it, because Steam only supplies the pak0.pak, but not the point releases (they are like service packs that fix certain files in the pak0.pak by overriding them). Get the point releases from the ioquake3 website[ioquake3.org] (read the big wall of legal text, and click on agree at the bottom), and put the .pk3 files in the missionpack directory.

Team Arena can be started either from the main menu of Quake 3, or by adding +set fs_game missionpack to the command.

Warning: Team Arena initially starts as 640x480 full screen, which may not be supported by modern monitors, so it might be a good idea to edit its config file beforehand.
Epilogue
I hope this guide was useful to someone, and not just a hunk of bits filling Steam's storage capacity. On a second thought I'm fine with the second option.

Guide icons are from Th3 ProphetMan (Jose)[www.iconarchive.com].
< >
6 Comments
[-ODU-] afogl001 Feb 22, 2019 @ 1:13pm 
Totally agree with the author about not being deprecated. Personally, I think nothing is quite like playing Quake on Darkplaces with some properly tuned real-time lighting. All the shadows, dark corners, and flickering lights makes feel and even play on a deeper level than the original release.

Plus, by not running it through Steam, you can avoid all your friends complaining that your playing a game from 1996 instead of Rocket League with them :D
almos  [author] Sep 23, 2018 @ 2:30pm 
Steam ships the Quake series with their original executables from the 90's (just like all old games). Proton runs them with a windows emulator.

This guide is not deprecated, because it tells you how to run these games on the latest and greatest version of the game engine. Natively. With music. With improved visuals.
xdshot Sep 22, 2018 @ 5:12pm 
With new Steam Proton being a thing, this guide is kinda deprecated.
L3X Apr 18, 2018 @ 3:34pm 
Impressive work! Thank you very much!
JLaw Feb 7, 2017 @ 1:47pm 
Pizel, the basedir argument needs to specify where your id1 directory is.

For example if your id1 directory is at /home/pizel/quake/id1 then you would do:
quakespasm -basedir /home/pizel/quake/id1
JLaw Nov 6, 2015 @ 8:27pm 
Good info.

Something you might be interested in: on Linux (and on OS X) you can still download a Windows game's files from Steam without needing to use Wine. See post #25878 in this thread: http://www.celephais.net/board/view_thread.php?id=1&start=25878

Unlike what I was thinking in that post, you do NOT need to already have Steam installed.

When you do this on Linux the files will end up in the ~/Steam/steamapps/common/Quake directory.