Running Quake 3 on the Raspberry Pi

In this guide, you will be learning how to run Quake 3 on your Raspberry Pi.

Raspberry Pi Quake 3

Quake 3 is one of the first-person shooters that helped define the multiplayer arena shooter genre.

Even though Quake 3 was released back in 1999, it is still highly regarded amongst shooter game fans.

Thanks to the id Software team releasing the engines source code, it has now been ported to run on a variety of devices, including the Raspberry Pi.

For this tutorial, we will be walking you through two different methods to get Quake 3 running on your Raspberry Pi.

The first and most straightforward of these methods is to use the build provided through the package repository. This method, while easy, does have performance issues.

The other method we will be walking you through is to compile the highly optimized Q3Lite port. Q3Lite can easily run at high frames per second on the Raspberry Pi, making it the optimal choice.

For this guide to work, you will need to run a version of the Raspberry Pi OS with a desktop interface.

Equipment List

For this guide on running Quake 3 on the Raspberry Pi, we recommend that you have the following parts.

Recommended

Raspberry Pi

Micro SD Card

Power Supply

Ethernet Cord or WiFi dongle (The Pi 3 and 4 has WiFi inbuilt)

HDMI Cable

Optional

Raspberry Pi Case

We tested this tutorial on a Raspberry Pi 4 and a Raspberry Pi 3B+ running the latest available version of Raspberry Pi OS (Buster version).

Quake 3 from the Package Repository

Installing and running Quake 3 from the Raspberry Pi OS package repository is one of the easiest ways to play the game.

There are a couple of reasons you might want to use this version over the faster Q3Lite.

The number one reason is that it is super simple to get up and running. In just a couple of commands, you will have Quake 3 installed to your Raspberry Pi.

The second reason is that if you are using a Raspberry Pi 4, this is currently the only way you can play Quake 3 Arena. Q3lite does not currently have support for the Pi 4’s hardware.

The drawback of all of this is that performance leaves a lot to be desired. You will find that once you add more than a couple of players, frames will drop drastically.

Installing Quake 3 to your Raspberry Pi

For this section, we will be walking you through the process of installing Quake 3 to your Raspberry Pi.

To make this process simple, we are going to use the version of Quake 3 provided by the Raspberry Pi OS repository.

1. Our first task is to update our operating system.

We can upgrade all the pre-existing packages by running the following two commands.

sudo apt update
sudo apt full-upgrade

2. With our operating system now up to date, let us download Quake 3 from the repository.

We can begin the installation process by running the following command.

sudo apt install quake3

This command will download the package directly from the Raspbian repository. Please note that this does not contain the game data and only contains the ported version of the Quake 3 Arena engine.

3. Once the Quake 3 package has been installed, we need to download the game data by using the command below.

To do that, we make use of a program called game-data-packager. This program will download the demo data for Quake 3 arena to your device.

game-data-packager quake3 -i --gain-root-command sudo

Please note that this process will take some time as it downloads the Quake 3 data and extracts it to the required locations.

4. If you want to use the retail version of Quake 3, then there are a couple more steps you will need to follow.

First, find the file called pak0.pk3 from within your retail Quake 3 Arena installation.

Then copy that file to the following directory /usr/local/games/quake3/baseq3 on your Raspberry Pi.

Running Quake 3 on your Raspberry Pi

Once you have finished installing Quake 3 to your Pi, we can go ahead and run it. To open the game, you will need a mouse and keyboard to be plugged into your Raspberry Pi.

1. To find Quake 3 on your Raspberry Pi, you need to open the start menu.

You can open this by clicking the Raspberry icon in the top-left hand corner of the screen.

Raspberry Pi Start Menu

2. You next need to hover over the “Games” menu (1.). Hovering over this option will bring up a list of the games installed on the OS.

In the menu that appears, click the “Quake 3 Arena” option (2.).

Launching Quake 3

3. You should now have Quake 3 Arena running on your Raspberry Pi and now have access to its main menu.

From this menu, you can start a new game, and configure settings like the game’s resolution.

Quake 3 Arena Main Menu

Using Q3Lite on the Raspberry Pi

In this section, we will be walking you through the process of compiling Q3Lite on your Raspberry Pi.

The most significant advantage of using the Q3Lite version of Quake 3 is that it has been built to run on the Raspberry Pi’s limited hardware.

Q3Lite takes the ioquake3 engine and cuts out unneeded features as well as implements an OpenGL ES renderer. These two improvements combined allow for much faster rendering on all Raspberry Pis.

Using this build, you can easily achieve speeds of over 60 frames per second on a non-overclocked Raspberry Pi 3.

At this stage, Q3Lite does not currently have support for the Raspberry Pi 4. However, the developer has been working on the changes required for it to work.

Compiling Q3Lite to your Raspberry Pi

For this section, we will be walking you through the process of installing Quake 3 to your Raspberry Pi.

To make this process simple, we are going to use the version of Quake 3 that is provided through the Raspberry Pi OS repository.

1. Before we compile Q3Lite on our Pi, we need to ensure our operating system is up to date.

We can update all the existing packages by running the following command.

sudo apt update
sudo apt full-upgrade

2. Next, we will need to install all the packages that are required to compile Q3Lite.

Run the command below to install the required packages.

sudo apt install git libasound2-dev libudev-dev libibus-1.0-dev libevdev-dev libdbus-1-dev libcurl4-openssl-dev fcitx-libs-dev libgbm-dev libsamplerate0-dev xinput

3. Once the packages have all been installed, let us grab the Q3Lite source code.

We can retrieve the required code by making use of the git program.

git clone https://github.com/cdev-tux/q3lite.git

3. Let’s now change into the Q3Lite directory.

cd ~/q3lite

4. We now need to run the bash script that has been written by the Q3Lite team.

This script will do all the heavy work for us by compiling the Q3Lite software as well as downloading all of the extra data that it requires.

sudo ./make-raspberrypi.sh

Please note that this compilation process will take some time as it must compile the code. This process is faster on newer Raspberry Pi’s.

5. Our next step is to install the Quake 3 Arena patch data.

To do that, we will be making use of the make-raspberrypi script again.

sudo ./make-raspberrypi.sh install

6. During the installation, you will be asked if you want to download the updated Quake 3 pak files.

As Q3Lite requires these to work, type in y, then press the ENTER key.

Install q3lite pack files

7. Before the script can download the pak files, we will need to agree to idTech’s EULA.

Use the TAB key to select “< I Agree >” and then press the ENTER key.

idtech software eula agreement

8. Once the installation process completes, we can move on to getting game data to play with.

Getting the Quake 3 Game Data

For this step, you will need to own Quake 3 Arena on another device, or you will need to download and install the Quake 3 Demo.

We cannot distribute the demo files ourselves due to licensing and copyright laws, so you will be required to locate it yourself.

1. You will need to locate a file called pak0.pk3 within the installation directory of Quake 3.

This is the file that contains all the data Quake 3 needs, including levels, characters, and sounds.

2. Once you have found the location of this file, you need to copy it to your Raspberry Pi.

The folder you need to copy it to is located at /usr/local/games/quake3/baseq3 on your Raspberry Pi.

3. Once you have copied over the files you can verify everything is as it should be by using the ls command on the directory.

ls -l /usr/local/games/quake3/baseq3/

From this command you should see something like below. With all of the required game packs now available on your system.

-rw-r--r-- 1 root root 479493658 Jun 11 09:30 pak0.pk3
-rw-r--r-- 1 root root    374405 Nov 14  2002 pak1.pk3
-rw-r--r-- 1 root root   7511182 Nov 14  2002 pak2.pk3
-rw-r--r-- 1 root root    276305 Nov 14  2002 pak3.pk3
-rw-r--r-- 1 root root   9600350 Nov 14  2002 pak4.pk3
-rw-r--r-- 1 root root    191872 Nov 14  2002 pak5.pk3
-rw-r--r-- 1 root root   7346884 Nov 14  2002 pak6.pk3
-rw-r--r-- 1 root root    320873 Nov 14  2002 pak7.pk3
-rw-r--r-- 1 root root    454478 Nov 14  2002 pak8.pk3
drwxr-xr-x 2 root root      4096 Jun 11 08:43 vm

Playing Q3Lite on your Raspberry Pi

Now that we have finished installing Q3Lite, we can finally launch it on your Raspberry Pi.

1. First, open the start menu on your Raspberry Pi.

You can open the start menu by clicking the Raspberry icon in the top-left hand corner of the screen.

Raspberry Pi Start Menu

2. Within the start menu, you need to hover over the “Games” option (1.).

Then hover over the “Q3lite” folder (2.).

Within the menu that pops up, click the “Q3lite” option (3.).

Launching Q3Lite on the Raspberry Pi

3. You should now have a fully working copy of Quake 3 running on your Raspberry Pi. Using the optimized Q3Lite engine.

Quake 3 Gameplay running on Raspberry Pi

At this stage of the tutorial, you should now have Quake 3 installed and running on your Raspberry Pi.

If you have run into any issues with getting the game to run on your Raspberry Pi, feel free to comment below.

Leave a Reply

Your email address will not be published. Required fields are marked *