DarkPlaces Quake: Hardware accelerated goodness for the Pi!

posted in: Games | 6

A little while ago Chris Gransden mentioned on the RISC OS Open forums that a test version of the DarkPlaces Quake engine for RISC OS on the Raspberry Pi was available for download.

The game uses the Khronos module to take advantage of DarkPlaces’ hardware acceleration, something I haven’t really seen in RISC OS before. So six months late to the party, I thought I’d take it for a whirl and see what it could do on my little Pi 3.

What is DarkPlaces Quake?

DarkPlaces is a Quake modification that uses its own custom OpenGL-only engine and features improved graphics and image quality when compared to the original Quake – which saw its engine released under the open-source GPL license a few years ago.

Taken from DarkPlaces’ website, developer LordHavoc says he wasn’t happy with the custom modifications and engines available after the Quake engine was initially open-sourced, and he decided to create his own project with a focus on improving the quality of effects and image quality.

DarkPlaces engine was started because I was unsatisfied with the other engines available soon after the Quake source release (which did little more than add some flashy effects), and craved modding features for my DarkPlaces mod, and wanted some real enhancements to the online gaming experience as well.” Said Lord Havoc on the DarkPlaces website.

Some features specific to DarkPlaces Quake include:

  • Fully integrated per pixel lighting and shadowing technology, lightmapping and deluxe mapping as well as a variety of material effects fully integrated into one shader system that deals with all situations
  • Support for a variety of file formats (Quake1 and Quake3 file formats, skeletal models, various image formats, ogg vorbis etc.)
  • Game logic scripting in QuakeC programming languageAdvanced networking support
  • Realistic global fog feature with height limit for seamless blending with sky.
  • ODE physics engine integration
  • Per-polygon collision detection optimized for large static meshes, as well as Quake brush technology.
  • Background music support with sequential and random playlists and playlist switching (
  • CD audio support

Setting it up

DarkPlaces for RISC OS can be downloaded here. You’ll need to source your own PAK files, which contain the levels for the game. The freely available shareware file is available for download from here, if you have a full copy of Quake then you can extract the PAK files and use them with DarkPlaces.

Once you’ve extracted !DarkPlaces from the zip file and into a location on your hard drive, you’ll to need to create a ‘id1’ folder in the !DarkPlaces folder and drop a PAK file into it.

The game uses hardware accelerated graphics so you’ll need Khronos for it to run. Just merge the !Boot and !System folders with your current ones, it’ll then add the Khronos module and necessary shared libraries to your system.


DarkPlaces Quake is currently only compatible with the Raspberry Pi due to it using the GPU for hardware acceleration. It will however run on all versions of the Pi including the Pi 3 and Zero.

Gameplay and performance

Running on the Raspberry Pi 3, I found DarkPlaces to run reasonably smoothly using a 1920×1080 resolution. Occasionally there is some flickering on the screen, this is down to VSync not working but it doesn’t hinder gameplay for the most part. The game is test quality as it stands so encountering issues like this is to be expected.

The FPS rate when playing averaged about 50fps which if you look at the hardware its running on and the massive improvement in graphics and effects quality when compared to the original Quake, it’s pretty impressive.

Chris has also tested DarkPlaces on a Raspberry Pi Zero running RISC OS, the performance wasn’t quite up-to-par with the Pi 3 obviously, but it was running at 20fps at 1920×1080 which is not bad.

Another issue that can be annoying is if you press multiple keys together at the same time, the game will completely ignore the presses all together. Also, the Escape key will exit the game without warning – so be warned!


Overall, Chris’ port of DarkPlaces is a very impressive demonstration of the hardware accelerated graphics capabilities that the Khronos module can be provided on RISC OS. If you fancy having a play and don’t mind the little quirks that this test version of the game has, then go give it a shot – you can grab it from here.

6 Responses

  1. Gavin Wraith

    I am afraid all I get after double-clicking !DarkPlaces is a black screen (Rpi2 on RO5.23). I note that some of the shared libraries in the Khronos download have earlier datestamps than the corresponding files in my !Boot; but then newer versions are going to be backwards compatible, aren’t they ;)? I did replace the abi-2/0.VFP directory with the one in the khronos directory, and I am worried now that I might have overwritten some later libraries by earlier ones.
    It seems to me that !System and !SharedLibs need some more meticulous journalling behaviour to protect sloppy users like me.

  2. Greg

    Ive managed to get it to run as I can here it but I cannot see any image.
    Any ideas what this might be ?

  3. Chris Gransden

    It needs a fairly recent RISC OS rom. Anything from September 2016 on wards should be fine.
    Also set gpu_mem=128 in !Boot.Loader.config/txt.

  4. Greg

    Got it working ta. Very nice
    Mouse seems to be inconsistent with regards to rotating player. I can rotate player one way but not the other way very effectively

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.