dhewm3 - Doom3 Source Port
About
dhewm3 is a source port of the original Doom3<br>(not Doom3 BFG, for that you may want to try<br>Chocolate<br>DOOM-3-BFG). It’s known to work on Windows, Linux, macOS, FreeBSD, OpenBSD and AROS, but it should work on (or be<br>easily portable to) any system that supports OpenGL 1.4 with ARB<br>shaders, SDL and OpenAL.
Compared to the original version of Doom3, dhewm3 has many bugfixes,<br>supports EAX-like sound effects on all operating systems and hardware<br>(via OpenAL Softs EFX support),<br>has much better support for widescreen resolutions and has 64bit<br>support.
It also has a great new mod-independent Settings Menu.
It only supports old Mods if they either<br>don’t require their own game DLL or have been ported to dhewm3<br>- see the Mods page for more information.
Note that while the Doom3 source code has been released under GPL,<br>you still need to legally own the game and provide dhewm3 the game data<br>to play. See the How to Install section<br>for more information.
News
2026-06-08: dhewm3 1.5.5
Rejoice, dhewm3 1.5.5 is here!
You can download it at<br>Github (incl. builds for Windows and 64bit Linux).
There have been lots of changes (see below for details), one<br>highlight is that several sources of microstutters have been removed<br>(like the old 60 vs 62.5fps problem) so the game should run smoother<br>than before, especially when using VSync.
Another great new feature is the support for widescreen GUIs. It<br>requires adjusting the .ui files; Arl created versions for the<br>base game, Resurrection of Evil and The Lost Mission, they are provided<br>as an optional Download<br>(dhewm3-wide-guis-*.zip).
Furthermore, dhewm3 now supports BC7-compressed (BPTC) .dds textures.<br>They offer better quality than the older S3TC/DXT/BC1-3 texture<br>compression standard that Doom3 always supported, at the same size as<br>DXT3-5. Useful for high-res retexturing packs. See the full changelog<br>below for more details.
The first texture pack to use this feature is hidef2k by<br>y2keeth.
dhewm3-mods has DLLs for some new mods:
ELDOOM
Grimm
HeXen:<br>Edge Of Chaos Demo
Real<br>Gibs
Note: The page says it only works with the 32bit version of dhewm3,<br>but that refers to the realgibs.dll they ship.
Use their gamedata with the .dll/.so provided here (or build the lib<br>yourself)
Blood Mod has<br>been updated to v1.8 and now also supports Resurrection Of Evil
LibreCoop<br>is now maintained as part of dhewm3-sdk, until upstream becomes active<br>again. This means that you should use the librecoop.dll/.so/.dylib<br>provided with the dhewm3 download
All mods got updated with gamecode changes from dhewm3 1.5.5
Changes since 1.5.4:
Enable/disable Soft Particles when loading a<br>graphics quality preset (only enabled in Ultra preset, though you can<br>still configure it independently like before; #604)
Greatly improve precision of internal timing, which should eliminate<br>micro stutters (that were esp. noticeable when using VSync with 60Hz<br>displays).
Related: com_showFPS is now more precise and<br>com_showFPS 2 shows additional information
Support BC7-compressed (BPTC) .dds textures. They offer better<br>quality than the older S3TC/DXT/BC1-3 texture compression standard that<br>Doom3 always supported. Mostly relevant for high-res retexturing packs,<br>because they offer similar quality as uncompressed TGAs while being<br>smaller, using only a quarter of the VRAM (TGA: 4 bytes per pixel, BC7:<br>1 byte per pixel) and loading significantly faster because<br>mipmaps are contained and don’t have to be generated on load.
If you have such DDS files and want to use them (instead of TGAs), you<br>must set image_usePrecompressedTextures 1 and<br>image_useNormalCompression 2.
You can also set image_usePrecompressedTextures 2, then<br>dhewm3 will only load .dds textures with BC7 data - if it only finds an<br>old one (with S3TC/DXT/BC-13 compression) it will use the uncompressed<br>TGA textures instead.
If you want to create .dds files with BC7 texture data, you can<br>use any common texture compression tool, except for<br>normalmaps , those must be created with my customized<br>bc7enc with the -r2a flag! (Because Doom3<br>requires that normalmaps have the red channel moved into the alpha<br>channel, id confusingly called that “RXGB”, and AFAIK no other tool<br>supports that for BC7.)
Just like the old DXT .dds files, they must be in the dds/<br>subdirectory of a mod (either directly in the filesystem or in a<br>.pk4).
Allow creating aspect-ratio-independent GUIs (HUD and menus), based<br>on code from CstDoom3,<br>but greatly extended (#324).
Note that this won’t work out of the box with the original Doom3 game<br>data, but requires updated GUIs. See docs/GUIs.md for how to use these features when<br>creating GUIs.
Support SDL3 (SDL2 and, to some degree, SDL1.2 are also still<br>supported)
Fix bugs on 64bit Big Endian platforms (#472, #625)
Fixes for high-poly models (use heap allocation instead of<br>alloca() for big buffers; #528)
Fix building dhewm3ded with newer OpenAL Soft headers (#633)
Better support for High-DPI mice:
Don’t ignore...