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

How To Install Quake 1

Quake was the first big-time game to make it to Linux. Back in 1996 there were no companies such as Loki Software. The game was the hobbyists' OS of id software employees. They decided it would be cool to port Quake to Linux. Therewere no fancy installers or comprehensive guides then, just a few readme's and some binaries. For those interested in playing Quake again, this article coversits step-by-step installation.

   Page 1 of 1  

Quake was the first big-time game to make it to Linux. Back in 1996 there were no companies such as Loki Software. The game was the hobbyists' OS of id software employees. They decided it would be cool to port Quake to Linux. Therewere no fancy installers or comprehensive guides then, just a few readme's and some binaries. For those interested in playing Quake again, this article coversits 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 had TCP/IP play, was the most graphically advanced game to use TCP/IP, butit was horrible. When Quake was released, netplay was almost impossible, especially considering the lack of high speed net connections. The lag seemed awful and to many, unplayable. Thus, QuakeWorld came into existence. as a stripped down version of Quake with much better TCP/IP code, featuring client prediction and other advances. It's still considered to be some of the best netcode today. QuakeWorld no longer supported the single player portion of Quake, nor did it support the other multiplayer protocols like IPX or direct modem connections.

    So here the article splits into two, Single-Player and Multi-Player, you can always 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 (bobz@mr.net), Brett A. Thomas(quark@baz.com), and Mike Hallock (mikeh@medina.net). The following is anexcerpt 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 explainsthis. 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 theonly 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 intoa 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 fromthe 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 security and features of Quake. 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, and 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, theserver (qwsv) for hosting. They are available at:

  • Client - ftp://ftp.cdrom.com/pub/idgames/idstuff/quakeworld/unix/qwcl-2.30-glibc-i386-unknown-linux2.0.tar.gz
  • Server - ftp://ftp.cdrom.com/pub/idgames/idstuff/quakeworld/unix/qwsv-2.30-glibc-i386-unknown-linux2.0.tar.gz
    cd /usr/local/games/quake
    tar xzvf (file).tar.gz

    Step 3: Running The Game (QuakeWorld Only)

    This portion is on the topic of 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 Matroxyou 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
    Or qwcl.x11 in X.
    cd /usr/local/games/quake
    ./qwcl.x11
    To run the server is simply.
    cd /usr/local/games/quake
    ./qwsv
    You'll need to start a map after the server is running with a command like:
    map dm1
    Well that should cover it. Hopefully QuakeWorld should be up and running. You can find QuakeWorld servers to join with an application like 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.





  •    Page 1 of 1