Quake3

So - here's some info on one of the most talked about "features" of the Raspberry Pi - Quake 3.  It's quite a simple process - just a few downloads (about 170MB).  As far as the environment goes, I'm running the latest Debian image.  If you don't have this you can download it here, and if you need some help getting it up and running, you can take a look at my guide here.

Files to download
There are two main things we need to download - the first is the update Quake Engine, kindly provided by Liam McLoughlin - you can download it here.  The second is a set of Quake files.  you'll have these if you own the game.  As I don't own the game, I need to download the files.  You can find them here - there are 9 files to download, totalling about 75MB.  NOTE/DISCLAIMER: This does not legally allow you to access the entire game.  Without a valid license key you will not be able to access anything other than the demo levels.

Installation
It's fairly straight-forward - 3 step.

Step 1
First, extract the contents of the quake3.zip file to a location you can access.  For this I've used /home/pi/quake3.  The Debian image comes with built in compression software - simply right-click and select 'Extract Here'

Once the files have been extracted, you'll see the following files and folders in the newly created quake3 folder:

Step 2
The next step is place the downloaded pak files and place them in the /quake/baseq3 folder.  Once copied in you should see the following files and folders:

Step 3
The last thing to do is ensure certain files have the relevant permissions you'll need to launch Quake 3.  To do this open up a Terminal window - this can be found in the 'Other' system menu:

Once open, type in the following commands, one by one:
sudo chmod +x /home/pi/quake3/start.sh
sudo chmod +x /home/pi/quake3/ioquake3.arm
sudo chmod +x /home/pi/quake3/ioq3ded.arm

EDIT 01/05/2012: Updated paths - thanks Pete!

Running Quake
That's alll the setup required - now we just need to run it!  For this you need to get out of the GUI and it needs to be run from the command line directly.  So - restart (to do this you can open a terminal window and type sudo shutdown -r now), log in, but don't start a GUI - rather browse to the quake3 folder and run the start.sh file using the following commands:
cd /home/pi/quake3
sudo ./start.sh

Here's the main menu:

Here's it loading:

Here's the gameplay:

I took a video, but after realising how absolutely bad I am at this I decided I'd hold of from posting it :-)

NOTE: That's my Pi in the white box - a prototype of something being built by another Pi fan.  It looks really good and I'd recommend it - I'll let you know once it's available.

Oh - and by the way, it's running at 1080p :-)

22 comments:

  1. thank you! I was reading through the Quake 3 stuff on the raspberry pi forums and wasn't entirely sure where to put the program once i've downloaded it.

    Tiny edit - the chmod commands in your example:

    sudo chmod +x /home/pi/start.sh
    sudo chmod +x /home/pi/ioquake3.arm
    sudo chmod +x /home/pi/ioq3ded.arm

    would need to point the the quake3 folder:

    sudo chmod +x /home/pi/quake3/start.sh
    sudo chmod +x /home/pi/quake3/ioquake3.arm
    sudo chmod +x /home/pi/quake3/ioq3ded.arm

    all I need to do know is work out how to do all of the download and uninstall in the command line...

    (+ for some reason I can't access this site in Midori on the Pi - it keeps crashing, is this just me?)

    ReplyDelete
    Replies
    1. Thanks for the corrections Pete - I'm update accordingly.

      As for Midori, no - I didn't have that issue - I accessed everything from my Pi, using Midori. Possibly get the direct links to each file onto your Pi and try trigger the link from Midori?

      Delete
    2. I have the mirdori fault to. It just crashes the browser. In the end I used chromium-browser :P

      Delete
  2. Hey there, nice little blog post. Just to let you know that to gain access to the CLI (a tty session) after starting xserver press Ctrl + Alt + F1. There you will see the xserver is still a running process. You can press Ctrl + c to kill the running process. Ctrl + z to halt the process, or you can leave it running and enter tty3 by pressing Ctrl + Alt + F3 (however i can imagie quake will have a hard time runnig smoothly if you take this option). Note that xserver is currently holding what would be tty2. Overall therefore there is no need to restart everytime you want a game of quake from running xserver :)

    ReplyDelete
  3. Excellent. Just the sort of article I was looking for. I've just got my Pi and this is probably the first thing I will try with it. Thanks for providing the basic instructions. The Pi needs nice, clean articles like this so we don't scare off the beginners!

    ReplyDelete
  4. Recieved the Raspberry Pi yesterday and using this article got Quake up and running in under 1/2 hour. Very good! Thanks a bunch!

    ReplyDelete
  5. Thanks for the comments guys - glad this helped. And things for the info Phil - good to know!

    ReplyDelete
  6. Does anyone know how to change the output to 50Hz instead of 60?

    ReplyDelete
  7. Why is it important to shut down the gui to run the game? I run it from "bash" in the gui, and it works fine.

    ReplyDelete
  8. I haven't tried it from the gui, but from what I gather it's a resource issue. Even though you go to "bash" mode, the gui is still in the background using resources.

    ReplyDelete
  9. I copied the pak files from quake3droid, but it didn't seem to work.

    Q1: Will I get any response after chmod? (I'm new to linux, sort of)

    Q2:
    Here is the error from ./start.sh
    ioq3 1.35 linux-arm Apr 27 2012
    ----- FS_Startup -----
    Current search path:
    /root/.q3a/baseq3
    ./baseq3

    --------------------
    0 files in pk3 files

    pak0.pk3 is missing. Please copy it
    from your legitimate Q3 CDROM.

    Point Release files are missing. Please
    re-install the 1.32 point release.

    Also check that your Q3 executable is in
    the correct place and that every file
    in the baseq3 directory is present and readable.
    Couldn't load default.cfg

    Also, I do have a legitimate copy of Q3, but as it is on a CD and this is a rPI, I don't see that working out very well (I also haven't figured out samba yet to access my PC). Anyway, let me know if you know what I can do to get around this. Thanks for posting the guide, it was very helpful (almost).

    ReplyDelete
  10. Tass - I see! :)

    I have a problem though, as my pak-files from the original game is about 500 mb. There's not enough free space on mi "pi" partition for it, and therefore I want to use my 2nd partion on the SD-card for it. It's a 8 gb card, and the 2nd partion has about 6 gb of storage, so there's sufficient space free. The problem arises when I try to run the "sudo ./start.sh" part, as the terminal gives me this response: "command not found". Using "sudo sh ./start.sh" gives me the response: ./ioquake3.arm: command not found". And this is although I have of couse done the chmod-part.

    Any ideas would be highly appreciated! Also, I need to run it from the GUI Terminal, as I can't seem to access my 2nd partion through the command line after boot.

    ReplyDelete
  11. Thanks for sharing this Tass - makes things much easier than compiling on the pi, like a lot of folks have.

    Bjarke - see this thread to fix your problem. You have probably updated your pi's firmware and need a replacement .arm file :
    http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=5306&p=73795&hilit=vchiq+quake+3#p73802

    Don't forget that you will need to chmod the new file after copying it to the quake3 directory.

    Texy

    ReplyDelete
  12. The Q3 Demo Paks are currently offline so I mirrored them on my site / blog:

    http://sheasilverman.com/rpi/Q3%20Demo%20Paks.zip
    http://blog.sheasilverman.com

    ReplyDelete
  13. This comment has been removed by the author.

    ReplyDelete
  14. When I run it it goes to a black screen with a cursor in the center and then the rPi freezes up

    ReplyDelete
  15. Followed your instructions. When I run ./start.sh I get the following error:

    ./ioquake3.arm: error wjile loading shared libraries: libbcm_host.so: cannot open shared object file: No such file or directory.

    Any ideas?

    ReplyDelete
  16. Installed Quake 3 and loaded game. However it freezes my pi and I have to restart it either during the map selection or about 1 minute into a game. Why is this?

    ReplyDelete
  17. The Hexxeh image in no-longer available, anyone know anywhere else I could get the Q3 image so that I can test?

    ReplyDelete
    Replies
    1. No, sorry - I haven't looked at this in quite some time.

      Delete
  18. Hello, I came arcorss a problem like this:
    pi@raspbmc:~/Game/quake3$ ./start.sh
    sudo: unable to execute ./ioquake3.arm: No such file or directory

    what's the reason, thanks for you help!

    ReplyDelete