Building a Retro Linux Gaming Computer
Part 6: A Lone Marine Battled

By Hamish Paul Wilson
First published on 2021-08-02

Continued from Part 5: Quaking in My Boots

Return to Index

In the same vein as Quake: The Offering, the next game in the series got a similar treatment for Linux with Quake II: Colossus from Macmillan Digital Publishing, containing Quake II as well as its two mission packs The Reckoning and Ground Zero. This time the mission packs were included on a separate CD-ROM from the main game, but that disc only holds the soundtrack for Ground Zero, meaning that music tracks unique to The Reckoning are absent.

Installation was much the same as with the first Quake, with the port now done by Zoid Kirsch still having most of the same limitations as Dave Taylor’s original Quake port, although Quake II does at least have better support for mouselook. That said, I did find I had to copy my system’s libGL.so.1.2 file to the Quake II installation directory twice named as both opengl32 and libGL.so in order to get OpenGL acceleration to work reliably.

Rather than featuring multiple different binaries as Quake did to launch the various different rendering options, Quake II instead accepts command arguments using the "vid_ref" variable to just the one application. SVGAlib can be used for both software rendering from a console as well as hardware acceleration on 3dfx cards, with the "softx" and "glx" renderers working instead through an X11 window on any graphics card.

Like with the original Quake, I created a custom launch script that blanks the mouse cursor and adjusts the X11 gamma as well as providing a nice menu for selecting the mission packs. After encountering memory leaks with Nautilus when playing the game from Gnome, I also went ahead and created a custom all black style for Blackbox to make use of my full screen hack and switched to playing Quake II from Blackbox instead.

From time to time the game would hard lock the system, forcing me to hit the power switch on the computer. Try as I might I was never able to diagnose a cause for this issue, although the freezes do seem to be more prevalent on the first map of each Unit and towards the end of the game, with the worst level for locking appearing to be Launch Command. I suspect my graphics drivers but I can not say for sure.

I also ran into a known issue with the Linux binaries where the game would kick you back to the desktop with a Signal 11 error upon completing the Big Gun map. This is actually due to a bug in how Quake II calculates string lengths in saved games, and can be avoided by completing the level without loading it from a save file. Not having a recent save available, I ended up just level warping to Outer Hanger from the console.

Of course this meant starting the game again with just a Blaster, which was not too bad until I found the Comm Satellite secret level. I would have been much better served if I had went through the Research Lab first, as I could have grabbed the Super Shotgun. In the end I faced the Makron without possessing either a Chaingun or the BFG10k, but he still fell easy from my Hyperblaster with the Quad Damage and Invulnerability power ups enabled.

Performance wise Windows 98 was ahead of every Linux renderer although the difference was marginal in software mode, with SVGAlib also taking a slight lead over X11. With OpenGL things were more marked with Linux getting a mean average of 45 FPS to 63 FPS on Windows, even when the game was ran in windowed mode. Quake II does seem to have benefited from being designed as a native Win32 application.

As time goes on it seems that the original Quake is being more fondly remembered, but in terms of consistency the sequel is still the superior package, both from a technical and design standpoint. I can not help but wonder if the game would now be better received if it had been named something like "Wor" as originally intended, given all the flack id Software got at the time for being derivative. Like with Doom 3, it would shine brighter by not having to suffer the comparison.

The next game in the Quake series would leave SVGAlib and X11 on Linux behind and utilize instead the then brand new Simple DirectMedia Layer, being embraced into the welcoming arms of a nascent Loki Software. Like its predecessor it would take the Quake name to create something both vastly different but also very much the same. The result would be, to my mind at least, the closest a game has ever come to being a valued piece of utility software.

Carrying on in Part 7: The Arena Eternal

Avatar

Hamish Paul Wilson is a free software developer, game critic, amateur writer, cattle rancher, shepherd, and beekeeper living in rural Alberta, Canada. He is an advocate of both DRM free native Linux gaming and the free software movement alongside his other causes, and further information can be found at his icculus.org homepage where he lists everything he is currently involved in.

http://www.icculus.org/~hamish

Comments

You can use your Fediverse (including Mastodon, among many others) account to reply to this post. You can also follow my Mastodon to be notified when new parts of this series are released.

Further reading and resources:

The Linux Game Tome entry for Quake II is archived here:

http://happypenguin.org/show?quake%202

An article on Quake II from Linux NetMag can be read here:

https://www.linuxsupportline.com/~netmag/en/issue2/m2quake1.html

The final release of the Quake II binary for Linux is available here:

http://www.markshan.com/thesinraven/linux_quake_2_v.3.20.htm

Anybody wanting to try my shell script can download the following:

http://icculus.org/~hamish/dianoga/quake2-glx-launch.sh

Here is my all black Blackbox style:

http://icculus.org/~hamish/dianoga/Quake

Some information on the Big Gun map crash:

https://quake2.icculus.narkive.com/LrfU4VGF/big-gun-crash

And my raw Quake II timedemo data can be found here:

http://icculus.org/~hamish/dianoga/quake2-timedemos.txt


Licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)