About

dhewm3 is a source port of the original Doom3 (notDoom3 BFG, for that you may want to tryRBDoom3BFG). It’s known to work on Windows, Linux, macOS,FreeBSD,OpenBSD andAROS, but it should work on (or be easily portable to) any system that supports OpenGL 1.4 withARB shaders,SDL andOpenAL.
Compared to the original version of Doom3, dhewm3 has many bugfixes, supports EAX-like sound effects on all operating systems and hardware (viaOpenAL Softs EFX support), has much better support for widescreen resolutions and has 64bit support.

It only supportsold Mods if theyeither don’t require their own game DLLor have been ported to dhewm3 - see theMods page for more information.

Note that while the Doom3 source code has been released under GPL, you still need to legally own the game and provide dhewm3 the game data to play. See theHow to Install section for more information.

News

2024-08-03:dhewm3 1.5.4

Twenty years ago to the day, Doom 3 was released!

To celebrate this, dhewm3 1.5.4 is released today!

The biggest new features since 1.5.3 are a new mod-independentSettings Menu that usesDear ImGui andSoft Particles (that don’t “cut” into geometry but fade smoothly).
TheSettings Menu can be opened by pressing theF10 key (unless some other action is already bound to that key) or by enteringdhewm3Settings in the console and lets you configure many basic and advanced options, can be navigated with gamepad, keyboard or mouse and has an improved keybindings menu (compared to the original options menu).

You candownload it at Github (incl. builds forWindows and 64bitLinux).
An up-to-date version formacOS is available atMacSourcePorts.com.

NOTE: On some systems, Soft Particles noticeablyslow down rendering! If the performance of dhewm3 1.5.4 is worse than you’d expect, try disabling them (r_useSoftParticles 0 or in the newSettings Menu under
Video Options uncheck ☐Use Soft Particles).

Changes since 1.5.3:

Thank you very much to everyone who tested this, especially@j4reporting,@ALord7,@Eonfge and@tomkidd (who also maintains MacSourcePorts)!

Special thanks toValkyries733 from theidtech 4 Discord server for creating the awesome picture with the birthday cake!

2024-07-29:dhewm3 1.5.4 Release Candidate 3

The third Release Candidate for the upcoming 1.5.4 release is available!

Click to see the rest of this (outdated) newspost

It fixes an issue with the Soft Particles first noticed in Dentonmod, but the way I had to fix it was kinda intrusive sotesting would bevery welcome.

You candownload it at Github (incl. builds for Windows and 64bit Linux).

(Note: The mod DLLs haven’t changed, so if you want to test the supported mods just use the dhewm3-mods archive from1.5.4 RC2)

2024-07-28:dhewm3 1.5.4 Release Candidate 2

The second Release Candidate for the upcoming 1.5.4 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux).

It only has some minor changes:

(see the newspost just below this one for changes since 1.5.3)

2024-07-27:dhewm3 1.5.4 Release Candidate 1

A first Release Candidate of the upcoming 1.5.4 release is available!

Click to see the rest of this (outdated) newspost

The biggest new features since 1.5.3 are a new mod-independentSettings Menu that usesDear ImGui andSoft Particles (that don’t “cut” into geometry but fade smoothly).
TheSettings Menu can be opened by pressing theF10 key (unless some other action is already bound to that key) or by enteringdhewm3Settings in the console and lets you configure many basic and advanced options, can be navigated with gamepad, keyboard or mouse and has an improved keybindings menu (compared to the original options menu).

You candownload it at Github (incl. builds for Windows and 64bit Linux).

Changes since 1.5.3:

2024-03-29:dhewm3 1.5.3

Just in time for the Easter weekend, dhewm3 1.5.3 is done!

This brings (the often-requested) support forgamepads, as long as they’re supported by SDL2. This includes XBox Controllers (and compatible ones), Playstation 3-5 controllers, Nintendo Switch Pro Controllers, many thirdparty controllers for those consoles, and lots of other gamepads for PC.
See theConfiguration documentation for how to make make it work (well, basically you can just plug in your gamepad and configure bindings in the Controls menu, but I also provide configs with default bindings that you could use).
Furthermore, dhewm3 now supports takingscreenshots in different formats: TGA (like before), BMP, JPEG and PNG.
Last but not least, there were severalbugfixes and other small improvements, see the list below for details.

You candownload dhewm3 1.5.3 at Github (incl. builds for Windows and 64bit Linux for both dhewm3and thesupported mods).

Changes since 1.5.2:

2024-03-19:dhewm3 1.5.3 Release Candidate 2

The second release candidate for 1.5.3 fixes a bug with gamepad support (sometimes the gamepad buttons were mixed up after using ingame UI panels) and updates the integrated minizip library.

Furthermore, all the mods have been updated for gamepad support and the bugfixes since 1.5.2.

Downloaddhewm3 1.5.3 RC2 at Github (incl. builds for Windows and 64bit Linux)!

2024-02-04:dhewm3 1.5.3 Release Candidate 1

A first Release Candidate of the upcoming 1.5.3 release is available!

Click to see the rest of this (outdated) newspost

This brings support forgamepads, as long as they’re supported by SDL2. This includes XBox Controllers (and compatible ones), Playstation 3-5 controllers, Nintendo Switch Pro Controllers, many thirdparty controllers for those consoles, and lots of other gamepads for PC.
Furthermore, dhewm3 now supports takingscreenshots in different formats: TGA (like before), BMP, JPEG and PNG.
Last but not least, there were severalbugfixes and other small improvements, see the list below for details.

You candownload it at Github (incl. builds for Windows and 64bit Linux).

Changes since 1.5.2:

2022-06-13:dhewm3 1.5.2

dhewm3 1.5.2 is done.

You candownload it at Github (incl. builds for Windows and 64bit Linux for both dhewm3and the supported mods)

Since dhewm3 1.5.1, there have been a lot of enhancements, like better compatibility with Wayland, or applying gamma and brightness in shaders, which means that those settings work better on all platforms and are visible in screenshots (to demonstrate this, the screenshot above has been taken withr_gamma 2.0 andr_brightness 1.9).
Furthermore, both keyboard- and mouse-input have been improved and now there are multiple Quicksave slots (that are cycled through), so if you accidentally saved in a bad situation, you can still load the previous Quicksave.
Last but not least, there were lots of bugfixes and the (sadly still Windows-only) tools have been improved again with nice new features like High-DPI support, 64bit-compatibility andthe Script Debugger you might remember from Quake4!

See the following list for more details.

Changes since 1.5.1:

2022-05-29:dhewm3 1.5.2 Release Candidate 2

The second Release Candidate of the upcoming 1.5.2 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux for both dhewm3and the supported mods)

Changes since 1.5.2 Release Candidate 1:

2022-05-16:dhewm3 1.5.2 Release Candidate 1

A first Release Candidate of the upcoming 1.5.2 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux)

Changes since 1.5.1:

2021-12-20:Miscellaneous News

Some things of interest (that I should’ve written about much earlier) happened since the 1.5.1 release:

idDevNet

dhewm3.org now hosts a mirror of the (defunct)iddevnet.com:
https://iddevnet.dhewm3.org

It’s still a very valuable resource for modding Doom3/Quake4/idTech4.

It was reconstructed from archive.org and private backups that several people luckily made while the original page was still up. This mirror is (as good as) complete,even including downloads!
To make sure it doesn’t get lost again (and for offline viewing), the whole page source isavailable on Github.

Hard Corps

TheDoom 3: Hard Corps mod, which supports dhewm3 exclusively, has been released. It’s an updated/remastered version of the well-knownHardQore2 mod and turns Doom3 into a side-scroller.

You can get it atModDB; ourMods page also has some information and screenshots.

dhewm3 progress

There have been a lot of improvements to dhewm3 since 1.5.1.
Several concern the (sadly still Windows-only) tools, like full 64bit support, High-DPI support and the Script Debugger you might remember from Quake4!
Furthermore, dhewm3 now applies brightness and gamma in shaders, which means that those settings work better on all platforms (no more changing gamma of the whole screen) and are visible in screenshots (so those now look the same as the game itself). Other improvements include multiple Quicksave slots (that are cycled through), improved keyboard support, fewer external dependencies and of course bugfixes.
TheChangelog has more details.

I hope I’ll get around to releasing a fresh build soon-ish.

2021-03-14:dhewm3 1.5.1

dhewm3 1.5.1 is done.

Apart from lots of bugfixes, the biggest changes since 1.5.0 are support for the (Windows-only) editing tools and for theDoom3 Demo gamedata.
See below for a more detailed changelog.

Furthermore, there now is a coop mode for dhewm3:LibreCoop, see thedhewm3 mods page for more details. Thanks a lot toStradex for creating it!
Another Mod that is now supported isThe Lost Mission, see alsohere - thanks toArl90 for making this possible!

You candownload dhewm3 1.5.1 at Github (incl. builds for Windows and 64bit Linux)

Changes since 1.5.0:

2021-02-23:dhewm3 1.5.1 Release Candidate 3

Finally, the third (and hopefully last) Release Candidate of the upcoming 1.5.1 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux)

Changes since Release Candidate 2:

2020-07-21:dhewm3 1.5.1 Release Candidate 2

The second Release Candidate of the upcoming 1.5.1 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux)

Changes since Release Candidate 1:

2020-07-13:dhewm3 1.5.1 Release Candidate 1

A first Release Candidate of the upcoming 1.5.1 release is available!

Click to see the rest of this (outdated) newspost

You candownload it at Github (incl. builds for Windows and 64bit Linux)

Changes since 1.5.0:

2019-03-11:A first prerelease of dhewm3 1.5.1

There are no immediate plans for the final 1.5.1 release, but the current status might be interesting :-)

Click to see the rest of this (outdated) newspost

Changes since 1.5.0:

2018-12-16:dhewm3 1.5.0 released

The final version of 1.5.0 release is now available!
You can download it (incl. builds for Windows and 64bit Linux)at Github

Changes since 1.4.1:

2018-07-11:dhewm3.org launched

dhewm3 now has an official homepage!

I guess it makes sense to be a bit less dependent on Github (especially as it has been bought by Microsoft, but also in general), so I decided to create this homepage with a domain I control.
Another advantage is that it has some screenshots and more user-centric documentation than theREADME.md.
We’ll continue to use Github for hosting the code and issues (and indeed this page via github pages), but if we need to migrate to another hoster some day,dhewm3.org will still be reachable and will link to the new code repo and issue tracker instead.

2016-06-18:dhewm3 1.4.1 released

Fixes/improvements since 1.4.0:

How to Install

Getting the Doom3 Game Data

You’ll need the game data from a Doom3 installation patched to 1.3.1. Specifically, you’ll need the following .pk4 files for the main game:

FilenameSizeMD5-sum
base/pak000.pk4337MB71b8d37b2444d3d86a36fd61783844fe
base/pak001.pk4220MB4bc4f3ba04ec2b4f4837be40e840a3c1
base/pak002.pk4398MBfa84069e9642ad9aa4b49624150cc345
base/pak003.pk4303MBf22d8464997924e4913e467e7d62d5fe
base/pak004.pk4227MB38561a3c73f93f2e6fd31abf1d4e9102
base/pak005.pk4540KB2afd4ece27d36393b7538d55a345b90d
base/pak006.pk4214KBa6e7003fa9dcc75073dc02b56399b370
base/pak007.pk4118KB6319f086f930ec1618ab09b4c20c268c
base/pak008.pk412KB28750b7841de9453eb335bad6841a2a5

… and (optionally) these .pk4 files for theResurrection of Evil addon:

FilenameSizeMD5-sum
d3xp/pak000.pk4514MBa883fef0fd10aadeb73d34c462ff865d
d3xp/pak001.pk498KB06fc9be965e345587064056bf22236d2

.. or alternatively you can use thedemo00.pk4 from the free Demo version,see below for more information.

If you’re using an official binary release of dhewm3 (for Win32 or Linux amd64), you just put the .pk4 files into the corresponding directories (base/ andd3xp/) indhewm3/.

There are also platform-specific places where dhewm3 looks for the game data, seethe FAQ for more details.

Alternatively you can just tell dhewm3 where to find the directory that contains base/ and d3xp/ with the .pk4s, with the following commandline argument:

dhewm3 +set fs_basepath /path/to/Doom3/

(On Windows it might look likedhewm3.exe +set fs_basepath C:\Games\Doom3\)


The following sections explain how to obtain the .pk4 files.

… from CD/DVD + Patch

If you bought the game on CDs/DVD, base/pak000.pk4 - pak004.pk4 and d3xp/pak000.pk4 can be copied from the disks, the other files are from the patch.

OnLinux (and probably otherUnix-like systems and maybe even Windows with a mingw shell) you can extract the needed files fromthe official 1.3.1 patch for Linux with:

sh /path/to/doom3-linux-1.3.1.1304.x86.run --tar xvf --wildcards base/pak* d3xp/pak*

OnWindows you can just install the game andthe official 1.3.1 patch for Windows and then get the files from the installation directory (or copy dhewm3 in there).

… from Steam

First you need to buyDoom3 of course - it also includes the Resurrection of Evil Addon (and the BFG Edition re-release of the game,which isnot supported by dhewm3).

Thankfully the game from Steam is already fully patched to 1.3.1.

OnWindows,just install it and copy the game data from there (see above for what files are needed).

Same onLinux, thanks to Steam Play / Proton, though you might have to enable it:
In Steam in theSteamSettings menu, underSteam Play, check both:

☑ Enable Steam Play for supported titles
☑ Enable Steam Play for all other titles

OnmacOS unfortunately you can’t just install the game (unless you run Windows Steam in Wine), because it’s Windows-only on Steam and Steam (currently?) doesn’t use Proton on Mac.

However, you can still download it withSteamCMD.
Seethis description for macOS orhere for Linux on how to install SteamCMD on your system. You won’t have to create a new user.

Then you can download Doom3 with

./steamcmd.sh +@sSteamCmdForcePlatformType windows +login <YOUR_STEAM_LOGIN_NAME> +force_install_dir ./doom3/ +app_update 9050 validate +quit

(replace<YOUR_STEAM_LOGIN_NAME> with your steam login name)
When it’s done you should have the normal windows installation of doom3 in./doom3/ and the needed files in./doom3/base/
It should be possible to get theResurection of Evil data in the same way, by replacing9050 with9070; the files should be in./doom3/d3xp/ then.

By the way, that number is the “AppID” of Doom3/RoE; if you wanna use this to get the data of other games you own, you can look up the AppID atSteamDB.

… from GOG

GOG.com offers the same bundle as Steam (Doom3 + Resurrection of Evil + BFG Edition):https://www.gog.com/game/doom_3

I haven’t tried the GOG version yet, but you should be able to download it without installing any launcher. At GOG you usually get Windows Installers that useInno Setup and can be extracted withinnoextract on all relevant operating systems.
See alsohttps://constexpr.org/innoextract/#gog

I assume that the GOG version of the game is also fully patched to 1.3.1.

Using the Doom3 Demo gamedata

First you need to download the Doom3 Demo, of course.

ForWindows, you can getD3Demo.exe at Fileplanet and just run the installer.

ForLinux (andother operating systems that have a POSIX-compatible shell andtar) you can downloaddoom3-linux-1.1.1286-demo.x86.run from Holarse or some other page that has that file.
Then you can extract the relevant file from the .run installer with

sh doom3-linux-1.1.1286-demo.x86.run --tar xf demo/

You’ll needdemo/demo00.pk4 for playing, either in exactly that directory, or you can copy it intobase/.
Note that youdon’t need the patches of the full version, adding their pk4s when using Demo gamedata breaks the game.

demo00.pk4 has a size of 462MB but there are minimal differences between the one for Linux and Windows, so they have different md5sums:
Windows: md5sumbd410abbb649b9512d65b794869df9fe size 483534533 Bytes
Linux: md5sum70c2c63ef1190158f1ebd6c255b22d8e size 483535485 Bytes

Both work on all platforms though, but the Linux demo had been released two months after the Demo for Windows and contains at least one tiny bugfix: A missing string for" or " which is used when binding multiple keys to the same action - the Windows Demo shows a nonsense string instead.

Getting dhewm3 executables

OnWindows you can just download the Win32 binaries from theDownload page.
You can either extract them into your Doom3 installation directory, or into a fresh directory and copy the needed game data (see above) in there.
The official Windows binaries are built with Visual Studio 2017, so if it doesn’t start on your system make sure you havethe Visual C++ 2017 Redistributablefor X86 installed.

Similarly, you can find x86_64 (amd64)Linux binaries on theDownload page - these expect that your system haslibSDL2-2.0.so.0,libopenal.so.1,libz.so.1 andlibcurl.so.4 installed (on debian, Ubuntu and similar distros the corresponding packages are calledlibsdl2-2.0-0,libopenal1,zlib1g andlibcurl4).

If you’re usingmacOS,MacSourcePorts.com provides signed and notarizeddhewm3 binaries for 64bit Intel and Apple Silicon.

On Linux and *BSD it might be that your package manager provides a dhewm3 package/port that you can install; please refer to that packages documentation on where to put the game data.
You could also try telling dhewm3 where to find the game data with:

dhewm3 +set fs_basepath /home/HansWerner/Games/doom3

(adjust the path to your needs)

If your package manager does not provide dhewm3, or you want to use the very latest code, you’ll have to compile it yourself. It’s not super hard, seethe README for details on compiling andthe FAQ on where to put the game data.