How to install and benchmark Quake 3 on the Raspberry Pi
Please share with your friends...
  • 1
  • 1
  • 1
  • 1

⇐ BackPage⇑ First


One of the main reason to run Quake III on your Raspberry Pi is to use it as a benchmarking platform.


This section provides instructions on how to benchmark Quake III on your Raspberry Pi.

Quake 3 Script for Raspberry Pi

To perform a timedemo benchmark using the Quake 3 Script for Raspberry Pi, use the following command line parameter.

./ --timedemo

Quake III will start, automatically run a timedemo benchmark of the four demo, exit and display a result in frames per second (fps).


To perform a timedemo benchmark using ioquake3 directly, perform the following steps.

  1. Launch Quake III using the following command.

    Quake III will start as normal.

  2. Press the tilde ~ key. The Quake III console will open.
  3. Type the following commands at the Quake III console.
    timedemo 1
    demo four

    A timedemo benchmark of the four demo will start and run through to completion.

  4. Press the tilde ~ key. The Quake III console will open, and display the results of the timedemo benchmark.


We have compiled a comprehensive benchmark results table for Quake III, covering each model of Raspberry Pi.

Device ModelSpeedCompileFrames per SecondTemperature (°C)
(MHz)Time (s)Sound OnSound OffMinimumMaximum
Raspberry Pi Model B+7004,002.821.630.829.336.9
Raspberry Pi Model B+8003,732.522.532.329.937.9
Raspberry Pi Model B+9003,507.224.435.129.937.9
Raspberry Pi Model B+9503,421.525.335.831.539.0
Raspberry Pi Model B+1,0002,592.735.047.830.444.4
Raspberry Pi Zero1,0002,786.330.543.237.953.0
Raspberry Pi 2 Model B900432.558.060.340.153.0
Raspberry Pi 2 Model B1,000379.962.762.941.257.3
Raspberry Pi 3 Model B1,200265.172.772.954.272.5
Raspberry Pi 3 Model B+1,400272.5
∗ denotes an overclock configuration

We would be only too happy to hear of your own benchmark results in the comments section, and how you achieved them!

Compile Time

The time it takes to compile the Quake III source code is a good benchmark of the raw processing power of the Raspberry Pi’s ARM processor and speed of it’s memory.

Honestly, there is nothing really unexpected here! The original model Raspberry Pi with a single-core CPU takes significantly longer (over an hour!) to compile the Quake III source code, while the more recent models with their quad-core CPUs are significantly faster.

The Raspberry Pi 3 @ 1,200MHz is 93% faster than the original Raspberry Pi @ 700MHz when compiling the Quake III source code.

It is interesting to note that an original overclocked Rasperry Pi @ 1,000MHz is 7% faster than a stock Raspberry Pi Zero @ 1,000MHz – when they are essentially then same device. This difference in performance can be explained by the fact that the Turbo overclock preset also increases the SDRAM speed from 400MHz to 600MHz.


Even the original Raspberry Pi can run Quake III at a frame rate of over 20 FPS. With overclocking, you can even get 35 FPS. Very playable! But the quad-core Raspberry Pi 2 and 3 models take it to 60 FPS and above.

Disabling sound on the single-core Raspberry Pi models provides a huge benefit in benchmarking performance, with an average 42% improvement in frame rates. However, this benefit does not continue with the quad-core Raspberry Pi 2 and 3 models, with the effect of disabling sound only a few fractions of a frames per second.

On the original Raspberry Pi, the significant performance boost that occurs at 1,000MHz is very little to do with CPU speed, and much more to do with the doubling in speed of the Broadcom VideoCore IV GPU from 250MHz to 500MHz, which occurs when using the Turbo overclock preset.


Temperatures where recorded before, during and after benchmarking using Roy Longbottom’s Raspberry Pi Temperature Recorder.

The original Raspberry Pi, with it’s single-core processor, was the most thermally consistent with a temperature rise of just 8°C between idle and load. It wasn’t until this model was overclocked to 1,000MHz that it recorded a temperature rise of 14°C between idle and load, and this is because of the increase in VideoCore and SDRAM speeds that also occurs with the Turbo overclock preset.

The Raspberry Pi Zero runs as warm as the Raspberry Pi 2, despite only having a single-core. The Raspberry Pi Zero recorded a temperature rise of 15°C between idle and load.

The Raspberry Pi 2 starts out some 10°C warmer than the original Raspberry Pi when idle, and recorded a temperature rise of 13°C between idle and load. When overclocked to 1,000MHz, this becomes a temperature rise of 16°C between idle and load.

And finally, the Raspberry Pi 3 is a hot little processor! Starting out some 25°C warmer than the original Raspberry Pi when idle, it recorded a temperature rise of 18°C between idle and load.

⇐ BackPage⇑ First

How to Install and Benchmark Quake III on the Raspberry Pi

Please share with your friends...
  • 1
  • 1
  • 1
  • 1
Tagged on:                                 

3 thoughts on “How to Install and Benchmark Quake III on the Raspberry Pi

  • 03/03/2018 at 4:48 AM

    I’m going to test this! but there’s something very confusing about the post.

    You say the script downloads the quake files. But also say you have to manually download it.

    Do i have to download quake files before using the script or can I just run it?

    • 04/03/2018 at 2:35 PM

      Hi Thiago,

      You can use the Quake 3 Script OR use the Manual Instructions – you don’t have to do both. We recommend using the script, however, some people prefer the manual instructions.

      Before you begin, you will need:
      – Quake III Arena “PAK0.PK3” from the original game disc or from the Steam installation.

      The script will:
      – Install prerequisite Raspbian packages.
      – Download the ioquake3 source from GitHub.
      – Compile the ioquake3 source code.
      – Copy the Quake III Arena PAK0.PK3 to the baseq3 directory.
      – Download and apply Quake III Point Update 1.32
      – Launch Quake III Arena

      Yes, the script will do everything for you, including running Quake III!

      Hope that helps 🙂

      Kind Regards,

  • 20/09/2018 at 5:08 AM

    Great script and tutorial, still works great! I’ve tried running the dedicated binary (./ioq3ded.arm) and I can’t seem to connect to the PI via any client. I’ve specified the IP of the PI in the multiplayer menu, and WireShark only shows a UDP packet ever few seconds sending “getChallenge” with no response. It’s not my WiFi isolation feature, same happens when wired… have you tried the dedicated server?


Leave a Reply

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