You can sign up to get a daily email of our articles, see the Mailing List page!
Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can support us on Paypal and Liberapay!

Playing Doom 3 on Linux in 2017

Posted by , / 15215 views

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

image image image image image

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

image image image image image

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 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

image image image image image

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.

45 Likes, Who?
Comments
Page: 1/4»
  Go to:

Sir_Diealot 31 October 2017 at 6:12 am UTC
Thanks for the great writeup
Shmerl 31 October 2017 at 7:02 am UTC
After fiddling with RBDOOM-3-BFG, I made it work decently well, inclusing using the high res mod. You can also apply this patch for proper XDG base directory support.
Mblackwell 31 October 2017 at 7:19 am UTC
You suggested Steam, but it seems the Steam releases don't give you a CD Key and all of the original binaries require one. I hope the same is not true of source ports.
Shmerl 31 October 2017 at 7:20 am UTC
Source ports don't require any keys.
haagch 31 October 2017 at 7:57 am UTC
For playing it in VR there are mainly two options:

https://github.com/Codes4Fun/RBDOOM-3-BFG is a relatively basic VR adaption with few features. It supports OpenVR and compiles and runs unmodified on linux, but for me it had very bad performance.

https://github.com/KozGit/DOOM-3-BFG-VR is doing a much more advanced VR port, but is using pretty bad, unportable style. It supports the Oculus SDK and OpenVR, but with no option to disable the former. For compiling and running on Linux, a lot of changes to the code are necessary, which I have documented at https://github.com/KozGit/DOOM-3-BFG-VR/issues/210 and my fork https://github.com/ChristophHaag/DOOM-3-BFG-VR/. The main problem remaining is that the buttons of the Vive controllers do not work, but I'm not sure why yet. Possibly something with the SDL Keycodes. Also the entire speech recognition part is ifdef'ed out because it uses the Windows API. Other than that it should be playable on Linux.
So, if anyone wants to look into it...
mcphail 31 October 2017 at 8:19 am UTC
  • Supporter
I never had a machine capable of playing the original game, so haven't experienced it in all its dark glory. I've been playing the GOG version with rbdoom-3-bfg and have been enjoying it. So far, I've had no bugs or graphical issues with the proprietary nvidia blob. Even if it isn't the definitive edition, it is entertaining enough to be worth a purchase.
rea987 31 October 2017 at 8:43 am UTC
Keep in mind, GOG release of BFG Edition lacks online multiplayer, just like GOG release of Quake 4. I don't believe BFG Edition is that inferior comparing to original version; BFG Edition which offers brighter environment is the only way for the people like me who has personal discomfort with dark games.


Last edited by rea987 at 31 October 2017 at 8:43 am UTC
RafiLinux 31 October 2017 at 9:26 am UTC
I am seriously thinking about giving DOOM 3 a shot. Should I get the GOG version and then try this? I am only interested in the SP experience.
lucifertdark 31 October 2017 at 10:13 am UTC
MblackwellYou suggested Steam, but it seems the Steam releases don't give you a CD Key and all of the original binaries require one. I hope the same is not true of source ports.
Steam does actually provide a key it's just you have to be in Windows or Wine to see it. Not very helpful to those who don't have either.
Metallinatus 31 October 2017 at 11:06 am UTC
View PC info
  • Supporter
Wow, they created a HIDDEN path for the game's files back in the day!? They were way ahead of their time.... way ahead even of THIS time
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon or Liberapay. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

We also accept Paypal donations and subscriptions! If you already are, thank you!

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Community Livestreams
  • Story Time: "Black Mirror 2" (via Wine)
  • Date:
See more!
Popular this week
View by Category
Contact
Latest Forum Posts
Facebook