Next Previous Contents

2. General Info

2.1 Getting Started

Installing Quake requires a few basic steps.

Get the Game Data Files

Getting the game data files is normally done by installing the game (or game demo) using Microsoft Windows, or an emulator such as Wine or Dosbox, and then copying the id1 directory of the installed game to your Linux Quake directory - making sure all files are in lowercase.

Alternatively, you can use the lha utility to extract the data files. For early CDs, you must first

    cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > resource.1

Once you have the resource.1 file, then type
    cd /usr/local/games/quake
    lha e {some directory}/resource.1

Later versions of the game, including WinQuake, come with the data files in an uncompressed form and the id1 directory can be directly copied from the CD.

Install a Quake Executable

The program you execute to run Quake is known as the game engine. There are several to choose from, but the simplest choice is either TyrQuake, or the more enhanced QuakeSpasm. After downloading or compiling a game engine, place this binary in your Quake directory alongside the id1 directory.


Finally, you should have a directory structure similar to this, with all files being in lowercase:

/usr/local/games/quake +- quakespasm (or another game engine)
                       +- progs.dat
                       +- id1 -+- pak0.pak
                               +- pak1.pak
Now, from an xterm window, type (for example)
    ./quakespasm -fullscreen -width 800 -height 600

to start the game.


This sounds simple, but if you are new to Linux and you are not familiar with the command line, try one of these links for more information:

2.2 Command Line Options

Command Line Options are extra parameters that are typed on the Linux command line following the program's name. Quake has a large number of them, some of which vary from engine to engine. The most useful/common ones are:


Run the game in windowed mode


Run the game in fullscreen mode

-game NAME

Load the mod NAME.

-mem N

Reserve N megabytes of memory for the internal heap. This generally defaults to 8 or 16 meg, but must be increased when playing larger mods.

-width WIDTH

window/fullscreen width

-height HEIGHT

window/fullscreen height

-basedir DIRECTORY

Use this directory by default

-sndspeed MHz

Set sound sampling rate (eg. 44100, 22050, 11025)

-sndbits N

Set sound bits to N = 8 or 16


Disable sound. Necessary when sound is absent/unconfigured to stop the game from crashing.


Disable GL multitextures.

-listen N

Allow a maximum of N players/bots to join multiplayer games.

-cddev DEVICE

Use DEVICE for playing the cd music


Disable cd audio

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

    quakespasm +skill 2 +map e1m1

2.3 Game Console Commands

For more info see

The console is an in-game command line at which you can issue commands, change variables and cheat. It is toggled by pressing the tilde "~" key when in a game. The main commands include -




Walk through walls


Enemies won't attack player

timedemo DEMO

Play DEMO (eg. "demo1") at top speed and show frame rate

impulse N

Issue "impulse N"

These are in-game commands which can be given special uses. A few usefull ones are:

bind key "COMMAND"

Bind a key to perform a command

map MAP

Load MAP

changelevel MAP

Load MAP without resetting player settings


Exit to system

skill VALUE

value = 0 (easy) - 3 (impossible)

Degree of difficulty. Level must be restarted to take effect

r_wateralpha VALUE

value = 0.0 - 1.0

Opacity of water in maps with transparent water support (See Watervis)

_snd_mixahead VALUE

value = 0.1 - 1.0

Raising this value is a good way to speed up the game at the expense of some sound lag. I use 0.3 on my slower computers

gl_texturemode VALUE

value = gl_nearest | gl_nearest_mipmap_nearest | gl_linear_mipmap_nearest | gl_linear_mipmap_linear

Worst to best texture quality.

r_shadows FLAG

flag = 0 | 1

Display model shadows

vid_wait FLAG

flag = 0 | 1

Sync video output with screen refresh

chase_active FLAG

flag = 0 | 1

Show player from third person perspective

Next Previous Contents