How to Install Quake on the Pinephone
| 2 minute read
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.
- Download quakespasm on your pinephone. Specifically, you need the tar.gz at
Source code and Making
. - Uncompress it, and
cd
into theQuake
directory. - Install dependencies with
sudo apk add gcc make sdl2-dev libvorbis-dev libmad-dev
(I might be missing something. this is directly from memory) - Run
make USE_SDL2=1
- Acquire the
id1
data pack directory from any legal copy of Quake, place it into theQuake
directory - 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.