When I first started using Linux full time in 2007 gaming on the platform was dominated by id Software. Thanks to a flexible policy regarding unsupported binaries and a corporate culture open to experimentation, something which was lost not long after the ZeniMax acquisition, Linux users were graced with both native closed source binaries for their latest games and a treasure trove of source ports for many of their older titles.

Coming as it did only a few years after the fall of Loki Software and the dark age that followed it, Linux gaming received a major boost in 2004 with the release of Doom 3. Not only did it add one more title to the then nascent Linux gaming library, it was also one of the most anticipated games of the year and remained a graphical powerhouse for many years after.

Not only were Linux users able to play the game on their systems mere months after the release of the commercial Windows version, they could play it with no loss of graphical fidelity. At a time when Linux was dismissed even more than it is today as just being a software toy or something only meant for servers, being able to play Doom 3 was a significant achievement which helped pave the way for the Linux gaming scene as we know it today.

With the release of the source code to both Doom 3 and the later BFG Edition, there now exists three options for Linux users wanting to play the game. Having gone through Doom 3 again, I decided it was time for me to compare them and give my thoughts on both the game and which of the three versions are best for Linux users in 2017.

Original Linux Binaries

The original Linux game binaries created by Timothée Besset can still be made to run on modern Linux distributions, but they have several limitations. Remarkably ZeniMax have elected to keep the original Linux FAQ page online, even though they have taken down all of the files from the old id Software FTP server. Look for doom3-linux-1.3.1.1304.x86.run from another mirror.

Once downloaded this will give you a graphical installer which will install the game binary without any of the game assets. These will need to be taken from either the game discs of a retail Windows version as I did, or taken from an already installed Windows version of the game such as from Steam. Once installed the game should function identically to its original Windows counterpart, with the exception of surround sound.

id Software found itself in a patent dispute with Creative Labs over the stencil shadowing method in the game known as "Carmack's Reverse". As part of the settlement they were forced to put Creative EAX ADVANCED HD audio technology into Doom 3, which did not support Linux. This actually mirrors to a degree the classic Linux Doom port by Dave Taylor, which had its music removed due to copyright issues over DMX, leading to it being the basis of all future source ports.

Getting the game to run properly on my modern Arch Linux setup involved removing the bundled libgcc_s.so.1 and libstdc++.so.6 libraries from the install directory. Doing this allowed the game to launch without issues, but still I did not have working sound. This was resolved by modifying the DoomConfig.cfg file located in the hidden ~/.doom3/base directory to change the “seta s_alsa_pcm” value from “default” to “hw:0,0” instead.

Just like with the original Windows release though this port of Doom 3 does not have native widescreen or 64 bit support, making it less than optimal for use on modern machines. As it is a static binary it is also vulnerable to upstream system library changes, which have required workarounds with many other older Linux ports. In addition it includes a CD Key check for both Doom 3 and Resurrection of Evil which validates both keys against a server, which never worked well for me.

dhewm3 Source Port

Seven years after the release of the original game, John Carmack along with Timothée Besset released the Doom 3 engine source code under the GNU General Public License, with a reworked system for handling stencil shadowing in order to prevent any further legal challenges from Creative Labs. This was later taken by Daniel Gibson to craft his dhewm3 source port.

Like with the original Linux release, playing the game requires access to the original game data, while dhewm3 itself can be built using the well documented build instructions listed on its GitHub page. This source port has been constructed from the ground up using cross-platform technologies such as SDL and OpenAL, allowing it to offer all of the same features as the original Windows release including surround sound.

More significantly it also addresses many of the deficiencies of the original proprietary game on any platform, offering better support for widescreen and arbitrary display resolutions as well as native 64 bit binaries to take full advantage of modern hardware. To do this it does have to stretch and scale some of the original game art assets to work on a widescreen, such as the HUD and menu interfaces, but by and large this does little to degrade the game experience.

The wider camera does sometimes expose some background details in cutscenes that were not meant to be seen by the player, most notably in the opening Mars City level where the wider pan exposes the shadow of the person's head in front of the traffic monitoring station as well as briefly showing the full idle pose of the Campbell model during Swann’s first meeting with Betruger. None of these prove to be that obtrusive.

Overall it is a very solid port that aims to correct the original game’s technical faults and bugs without altering the original gameplay. Graphical fidelity is maintained even with the new stencil shadow rendering, and performance was the same or better when compared to the original port on my Arch Linux setup using the free software R600 Gallium3D drivers. It also removes the temperamental CD Key check, which is especially nice when playing with Resurrection of Evil.

RBDOOM-3-BFG Source Port

In order to bring the game to newer console platforms, ZeniMax released the BFG Edition of the game in 2012 which boasted a variety of graphical refinements as well as other numerous changes, including a new set of levels known as The Lost Mission. John Carmack was able to secure the release of the BFG Edition source code before he left id Software, allowing Robert Beckebans to craft his RBDOOM-3-BFG source port.

Orginally released exclusively through Steam, the BFG Edition appeared on GOG.com over the summer allowing me to play it for the first time. Regardless of where you get it though if you are playing the game on Linux you will not have access to any of the Steamworks integration features due to them being unavailable in the source port. RBDOOM-3-BFG itself can be built using the build instructions included on its GitHub page.

Due to Issue #386 I had to bring down the console and type set r_useHDR "0" in order to get the game to display correctly, and even then the performance was suboptimal until I typed set r_useShadowMapping "0" as highlighted in Issue #395. Once that was done though I did have a reasonable game experience, although thanks to Issue #373 the bundled versions of Doom and Doom II that include the once Xbox exclusive No Rest for the Living campaign were still left unplayable for me.

While I do appreciate the enhanced textures I am still not sold on the new aesthetic that the BFG Edition creates, with the darker lighting from the original game in particular looking far better than the brighter world included with the BFG Edtion. Further many of the game features themselves have been altered or badly cut resulting in a game that is far less interesting to play. The new HUD and menu interfaces are crisper on a widescreen display, but I still find them to be less attractive.

By far the biggest problem for me though is the narrower field of view, which actually made me feel a bit ill when jumping from classic Doom 3 over to the BFG Edition. The Lost Mission itself is fun with the new Hell levels being a blast to go through, but little things like the computer voice being different still throw off the experience for me. I also hate the shoulder mounted flashlight, and find myself longing to have the handheld flashlight back again.

Final Thoughts

As far as I am concerned dhewm3 is easily the best version of the game to play, with it offering the closest experience to the original game without dealing with the hassles of the classic closed binary. RBDOOM-3-BFG is a laudable effort, but it is also a far buggier port and I am just not happy with most of the BFG Edition changes anyway. Overall the BFG Edition just feels like a consolized cash grab on the part of ZeniMax, with features such as checkpoint saves only helping to reinforce this view.

What frustrates me more though is how Doom 3 is being increasingly sidelined or dismissed, especially since the release of the latest DOOM game from ZeniMax. Most of the criticism directed at Doom 3 for supposedly not being in the same vein as the classic Doom games do not hold true, with the common refrain that Doom 3 was designed only as a showcase for Carmack's new lighting and shadowing engine ignoring the fact that the same was true with the original Doom as well.

There were plenty of areas in Doom where the game was dark, the lights would go out, and you were forced to face demons you could barely see. There were plenty of monster closets too. Nor was the level of action in the original Doom as constant as a lot of people today like to maintain, with the game instead generating an important sense of cadence by allowing for slower more atmospheric moments as well as all out frantic action, just as Doom 3 does.

In this way Doom 3 is paced far more like the original Doom than people realize, embodying more of the subtleties of the original Knee Deep in the Dead campaign than the over the top nature of the latest DOOM game does, or even large swathes of the sequel Doom II do. I would rather have far more hand crafted campaigns like the one in Doom 3 than the mass of swarm shooters coming out today trying to assert they alone can lay claim to the retro mantle.

It is for this reason, as well as its importance to the history of Linux gaming, that I feel Doom 3 deserves another look. And thanks to the likes of Timothée Besset, Daniel Gibson, and Robert Beckebans we now have a wealth of ways to do so.