dhewm3 is a source port of the original Doom3 (not Doom3 BFG, for that you may want to try RBDoom3BFG). It's known to work on Windows, Linux, macOS, FreeBSD, OpenBSD and AROS, but it should work on (or be easily portable to) any system that supports OpenGL 1.4 with ARB shaders, SDL and OpenAL.
Compared to the original version of Doom3, dhewm3 has many bugfixes, supports EAX-like sound effects on all operating systems and hardware (via OpenAL Softs EFX support), has much better support for widescreen resolutions and has 64bit support.
It only supports old Mods if they either don't require their own game DLL or have been ported to dhewm3 - see the Mods page for more information.
dhewm3 currently does not support the integrated (Windows-only) editors.
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 the How to Install section for more information.
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:
- Support for some Mods via custom SDK: Classic Doom3, Fitz Packerton, HardQore2, Denton's Enhanced Doom3 and Rivensin (formerly known as Ruiner).
- dhewm3-mods_1.5.0_win32.zip contains prebuild Windows game DLLs for those Mods (except Rivensin) and a README that tells you where to get the game data
- See the Mods page for more information.
- This has also broken backwards compatibility with 1.4.x game DLLs, that's why this version will be 1.5.0 and not 1.4.2.
- Supports High DPI displays on Windows now
- Scale menus, fullscreen videos and the PDA to 4:3 (with black bars left/right) on widescreen displays so they don't look stretched/distorted. Can be disabled with
No, this unfortunately can't be done for the HUD (except for the crosshair), because it also handles fullscreen effects (for example when receiving damage), and those would look bad with black/empty bars on left/right.
- Commandline option to display some help on supported commandline arguments:
- (Experimental) uncapped framerate, enable by entering
com_fixedTic -1in the console (can be set back with
- Providing binaries for Linux amd64 (x86_64) now
- Should work on any halfway-recent distro, needs
- Should work on any halfway-recent distro, needs
- Updated some libraries bundled in the Win32 build: SDL2 2.0.9, OpenAL-soft 1.19.1 and curl 7.62.0
- Support for the AROS and OpenBSD operating systems
- Several bugfixes
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 the README.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:
- Fixed some (kinda rare) crashes due to assertion errors, especially observed in the last boss fights of both doom3 and the Resurrection of Evil Addon.
- Improved compatibility with AZERTY keyboards (the row of keys with 1...9, 0 is now usable)
- Fixed a crash (at least on FreeBSD) when loading Resurrection of Evil's last level
- Compatibility with Microsoft Visual Studio 2015
- Video resolutions in menu now sorted, added 2880x1800
- Support for up to 8 mouse buttons (on Linux this needs SDL2 2.0.4 or newer to work)
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:
... and (optionally) these .pk4 files for the Resurrection of Evil addon:
... 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.
On Linux (and probably other Unix-like systems and maybe even Windows with a mingw shell) you can extract the needed files from the official 1.3.1 patch for Linux with:
sh /path/to/doom3-linux-220.127.116.114.x86.run --tar xvf --wildcards base/pak* d3xp/pak*
On Windows you can just install the game and the 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 buy Doom3 of course (and the Resurrection of Evil Addon, if you want that too; Note that the Addon is not available in Germany).
Thankfully the game from Steam is already fully patched to 1.3.1.
On Windows, just install it and copy the game data from there (see above for what files are needed).
On Linux/OSX unfortunately you can't just install the game (unless you run Windows Steam in Wine), because it's Windows-only on Steam.
However, you can still download it with SteamCMD.
See this description for Linux or here for OS X 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
<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
It should be possible to get the Resurection of Evil data in the same way, by replacing
9070; the files should be in
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 at SteamDB.
Getting dhewm3 executables
On Windows you can just download the Win32 binaries from the Download 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.
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're on macOS/OSX and there is none), or you want to use the very latest code, you'll have to compile it yourself. It's not super hard, see the README for details on compiling and the FAQ on where to put the game data.