Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

Playing Doom 3 on Linux in 2017

By -

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, such as this one run by the fan website Quaddicted.

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

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

Article taken from GamingOnLinux.com.
43 Likes
About the author -
author picture
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://icculus.org/~hamish
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
35 comments
Page: 1/2»
  Go to:

Sir_Diealot Oct 31, 2017
Thanks for the great writeup :)
Shmerl Oct 31, 2017
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 Oct 31, 2017
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 Oct 31, 2017
Source ports don't require any keys.
haagch Oct 31, 2017
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 Oct 31, 2017
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 Oct 31, 2017
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 on 31 October 2017 at 8:43 am UTC
Mezron Oct 31, 2017
View PC info
  • Supporter
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 Oct 31, 2017
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.
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 Oct 31, 2017
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 :O
fabertawe Oct 31, 2017
Periodically I'll casually look at Doom 3 with a view to getting it set up as it's "the one that got away". I love all the old ID stuff. Good write up and thanks for the push - dhewm3 it is then!
Guest Oct 31, 2017
Fantastic write up @Hamish.

LinAGKar Oct 31, 2017
grigi Oct 31, 2017
View PC info
  • Supporter Plus
I have to agree that Doom3 and Quake4 was a bit ahead of their times.
After playing Mass Effect (I think it was 2) I played Doom3 for the first time, and not only had a blast, but had to say that it looked no worse, and had early versions of all the same gameplay elements.

I really liked the atmosphere of Doom3 in particular.
Mountain Man Oct 31, 2017
"id Software found itself in a patent dispute with Creative Labs over the stencil shadowing method in the game known as 'Carmack's Reverse'."

That was a bullshit lawsuit, too. Carmack gave details of his technique at a tech conference with the intent that anybody could freely use the technique in their own software, but then Creative Labs immediately ran out and patented it and then hit id Software with a patent infringement suit. This experience no doubt left a bad taste in Carmack's mouth, and I suspect it's one of the reasons he became less enamored with open source and code sharing. It's crap like this that inspired Austin Meyer, CEO of Laminar Research and creator of the X-Plane flight simulator, to launch a very expensive and wide ranging legal battle and publicity campaign against what he calls "patent trolls".

https://www.thepatentscam.com/
Shmerl Oct 31, 2017
Keep in mind, GOG release of BFG Edition lacks online multiplayer, just like GOG release of Quake 4

It really doesn't. You can use console commands to join multiplayer servers. It just doesn't work from the UI for some reason. Just search for this method, it shouldn't be hard to find.


Last edited by Shmerl on 31 October 2017 at 2:54 pm UTC
Comandante Ñoñardo Oct 31, 2017
And this is why I keep a couple of 17" CRT monitors in a corner of my bedroom... Is the best way to play old games
I'm gonna try dhewm3
Shmerl Oct 31, 2017
About multiplayer in the GOG version, see https://pcgamingwiki.com/wiki/Doom_3:_BFG_Edition#Version_differences

Despite the GOG.com version being single-player only, it is possible to play multiplayer by adding seta net_useplatformbackend 0 in default.cfg and use the console command connect in order to join the server.
rea987 Oct 31, 2017
About multiplayer in the GOG version, see https://pcgamingwiki.com/wiki/Doom_3:_BFG_Edition#Version_differences

Despite the GOG.com version being single-player only, it is possible to play multiplayer by adding seta net_useplatformbackend 0 in default.cfg and use the console command connect in order to join the server.

That must be LAN multiplayer, not online multiplayer. Online multiplayer of BFE Edition uses Steamworks. Also, one of the user reviews of GOG release points LAN multiplayer;

Multiplayer is hidden, NOT removed. by Kalandir

If you're looking to play some DRM-free LAN multiplayer, you can re-enable it. Edit your Default.cfg in the BASE folder. Scroll to the bottom and add: com_skipintrovideos 1 seta com_allowconsole 1 net_useplatformbackend 0 This set of CVARs skips the company logos, enables the console, and most importantly, re-enables the multiplayer menu. You can use the GUI in game to set up your multiplayer, and then use the console on ~ to CONNECT to the host's IP. ...

https://www.gog.com/game/doom_3_bfg_edition


Last edited by rea987 on 31 October 2017 at 3:41 pm UTC
Shmerl Oct 31, 2017
Yeah, I expect it to be LAN multiplayer really for such games. Which is the proper multiplayer IMHO, not lock-in type.

By the way, it would work over WAN as well, so formally speaking it's not LAN multiplayer, but multiplayer that allows you running your own server instance.


Last edited by Shmerl on 31 October 2017 at 3:38 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.