Originally Published: Friday, 17 November 2000 Author: Jeff Mrochuk
Published to: enhance_articles_games/General Page: 1/1 - [Printable]

How To Install Quake 1

Quake arrived at the doors of Linux four years ago, the first big-time game to appear there. Back in 1996, companies such as Loki Software didn't exist. Quake became the hobbyists' OS of id software employees, who decided it would be cool to port it to Linux. Fancy installers or comprehensive guides didn't exist, just a few readme's and some binaries. If you'd like to play Quake again, this article covers step-by-step installation.

   Page 1 of 1  

Quake arrived at the doors of Linux four years ago, the first big-time game to appear there. Back in 1996, companies such as Loki Software didn't exist. Quake became the hobbyists' OS of id Software employees, who decided it would be cool to port it to Linux. Fancy installers or comprehensive guides didn't exist- just a few readme's and some binaries. If you'd like to play Quake again, this article covers step-by-step installation.

What You Need

  • A Quake 1 CD or Quake 1 shareware
  • The Quake binaries (covered later)
  • An x86 processor (others might work with the QuakeForge route)
  • Sound card recommended
  • 100MB of hard-drive space

    Single Or Multi?

    Quake boasted TCP/IP play, making it the most graphically advanced game to use TCP/IP. No matter, it remained horrible. Upon its release, netplay seemed almost impossible, especially considering the lack of high speed net connections. The ultra-slow lag made it practically unplayable. Next came QuakeWorld, a stripped down version of Quake with much better TCP/IP code, featuring client prediction and other advances with some of the best netcode even today... QuakeWorld no longer supported the single player portion of Quake or the other multiplayer protocols like IPX or direct modem connections.

    So here we split the article into two paths, Single-Player and Multi-Player. You always can install both; in fact I recommend it.

    Step 1: Installing The Data

  • Mount your Quake 1 cd, usually something like:
    mount /dev/cdrom /mnt/cdrom
    or
    mount /dev/cdrom /cdrom
  • Make a directory for Quake; I recommend putting it in /usr/local/games
    mkdir -p /usr/local/games/quake/id1
    Now things can get a little complicated. I find the following is best explained by Quake How-To, written by Bob Zimbinski, Brett A. Thomas, and Mike Hallock. The following is an excerpt from that document (used with permission):

    Note: /mnt/cdrom may be /cdrom in your configuration.

    ls /mnt/cdrom
    If you have a resource.1 file on your CD, you can skip the next step. For a version 1.01 CD, you'll need to download the Quake shareware package to update the .pak files after the installation. The last bullet in this section explains this.

    Concatenate the two resource files from your CD to a single file on your hard disk:

    cat /mnt/cdrom/quake101.1 /mnt/cdrom/quake101.2 > /usr/local/games/quake/resource.1
    Now it's time to extract the Quake files. The resource.1 file on your CD is really an lha archive (lha is a file compression and archiving format like zip or tar). We'll use the lha (1) command to extract it. If lha is not already installed on your system, you can get it from
    ftp://sunsite.unc.edu/pub/Linux/utils/compress/lha-1.00.tar.Z
    lha e /usr/local/games/quake/resource.1
    When lha is done, your Quake directory contains a bunch of new files. A directory called id1/ also will be created. The files in this directory are the only ones important for Linux Quake, so you can safely remove everything else. If you're totally new to Quake, or even if you're not, you may want to hang on to the *.txt files. On my system, I throw all the readme's that accumulate into a doc/ directory. So:
    cd /usr/local/games/quake mkdir doc mv *.txt doc rm -f *
    If you installed from a version 1.01 CD (the one with Quake101.2 and Quake101.1), now you need to overwrite your id1/pak0.pak file with the one from the Quake shareware version.

    The Quake Shareware is available at
    ftp://ftp.cdrom.com/pub/idgames/idstuff/quake/quake106.zip

    If you are using the shareware only to upgrade your Quake CD version, unzip it in a temp directory and use lhe to expand it. Then copy the pak0.pak into your id1 dir.

    cp (tempdir)/id1/pak0.pak /usr/local/games/quake/id1
    If you're using the shareware to play, you'll want to unzip it in your quake dir and follow the same instructions above with resource.1. Now you should have all the data installed. It's on to the Binaries.

    Step 2: Installing The Binaries

    About a year ago, id Software released the source code to the Quake engine. This created a rash of new projects looking to improve Quake's security and other features. Here the article forks again. QuakeForge is the most advanced of these ports. Now you have to choose to install QuakeForge or the id binaries. I recommend QuakeForge because id's binaries are much older, and contain fewer features. For the sake of completeness, their installation will be documented here.

    For the QuakeForge binaries, see my QuakeForge article. That article will cover everything from here on in the install process. The rest of this document covers id Software's binaries only. If you want to play single player, you're likely going to have to use QuakeForge because all of id's binaries are statically linked against libc5; unless your Linux distribution is a few years old, it is based on glibc, which could cause problems.

    For multi-player id's binaries, all have glibc versions, which is what you want. You can grab either the client or server. The client (qwcl) is for playing, the server (qwsv) for hosting. They are available at:

  • Client:
    qwcl-2.30-glibc-i386-unkn own-linux2.0.tar.gz
  • Server:
    qwsv-2.30-glibc-i386-unk nown-linux2.0.tar.gz

    You'll want to untar these in your /usr/local/games/quake

    cd /usr/local/games/quake
    tar xzvf (file).tar.gz

    Step 3: Running The Game (QuakeWorld Only)

    This portion covers running the game. The QuakeForge portion of running is covered in the article mentioned above.

    Because of their age, running the id binaries can be a little complicated. I'll cover 3d cards first.

    For Mesa based 3d cards like 3dfx and Matrox, they should work right away, just run the desired binaries. For nVidia based cards you're going to have to link your libGL.so to libMesaGL.so.2.2. If you're having trouble with 3dfx or Matrox you might want to try that as well.

    ln -s /usr/lib/libGL.so /usr/lib/libMesaGL.so.2.2
    ldconfig
    Then for Matrox or nVidia and the newer (DRI) 3dfx drivers you'll want to run glqwcl.glx which requires X.
    cd /usr/local/games/quake
    ./glqwcl.glx
    For 3dfx cards running glide2x based drivers (XFree86 3.3) you'll want to run glqwcl.3dfxgl, which loads the 3dfx minidriver first, and can be run from console or X.
    cd /usr/local/games/quake
    ./glqwcl.3dfxgl
    For non-3d accelerated QuakeWorld you can run qwcl in console.
    cd /usr/local/games/quake
    ./qwcl
    Or qwcl.x11 in X.
    cd /usr/local/games/quake
    ./qwcl.x11
    To run the server is simple.
    cd /usr/local/games/quake
    ./qwsv
    You'll need to start a map after the server is running with a command like:
    map dm1
    Now QuakeWorld should be up and running. You can find QuakeWorld servers to join with an application such as XQF.

    Once again, this client is only for TCP/IP multiplayer; if you wish to play through the single player missions, you're going to need to run QuakeForge following the guide in my QuakeForge article.

    Next week Linux.com will feature a guide to installing Quake 2, and then Quake 3: Arena.


    judecca@linux.com




  •    Page 1 of 1