Willard's Guide to Computing for Forgetful Power Users

How to Install Quake on the Pinephone

| 2 minute read

Quake running natively on the Pinephone on Postmarket OS

Introduction

I dunno if I’ve ever discussed this online, but I really like Quake. I dunno why I got so into it, but it must’ve started in late 2017, early 2018-ish. I was in my senior year of highschool, and stumbled upon OpenArena, a fork of ioquake3, which in and of itself is a community-supported fork of Quake. I’m actually not even sure if that lineage is correct. Quake and its sequels is one of those legendary games that was forked a million-and-a-half times since it was released to the FOSS world under a GPL license in 2005(?).

Anyway, all I remember is that I thought it was Neatâ„¢ becuase it was FOSS. I think the only game at the time I had ever seen that was FOSS was Space Station 13, which is an exquisite mess of a game, and one that I no longer dare touch with a 10 foot pole. Without understanding much about the context, nor the history, of the game, I just started messing around. It became the go-to lunchtime/study hall passtime. One day, in the spring semester, I was given an assignment in math class to write a paper… about math.

So of course I chose to write about OpenArena, and all the cool Vector math that goes on therein.

Ever since then, Quake has been a curiosity of mine. I’ve made brief studies of the source code, but never actually modified or compiled the game.

Now I have a PinePhone, so I thought, “why the hell not?”

Tutorial

I figured out how to do it on the pinephone, with PostmarketOS. It wasn’t actually that hard. The hard part would be cross-compiling this on an X86 machine. Oof.

  1. Download quakespasm on your pinephone. Specifically, you need the tar.gz at Source code and Making.
  2. Uncompress it, and cd into the Quake directory.
  3. Install dependencies with sudo apk add gcc make sdl2-dev libvorbis-dev libmad-dev (I might be missing something. this is directly from memory)
  4. Run make USE_SDL2=1
  5. Acquire the id1 data pack directory from any legal copy of Quake, place it into the Quake directory
  6. Happy fragging

Next Steps

I’d really like to get this cross-compiling on my server. It’d be neat to package this and add it to the postmarketOS repositories. All the dependencies are there, so I don’t see why not. Making a modified version of Quake that was playable on the pinephone, with onscreen controls, would be SICK.

As I figure stuff out, I’ll be posting updats in the pinequake repo.

Cheers.