Last update : 2019/12/15
This guide is intended to help all players affected by the (in)famous 0x80000003 TDR crashing issue that occurs in HITMAN 2 with a Turing card (GeForce 16 series and RTX series). Before posting, please make sure you are affected by this problem, and only that one.
A bit of context :
Click here if you want to read some context about 0x80000003 issue
As many of you know, Hitman 2 is affected by an odd issue since November 2018 (it is literally the first known issue in each patchnote since january…), I have myself experienced this for 5 months between november and march. Another community members know this problem as well (@Mads47, @abeg, @JayE, @Fortheseven…etc). My first crash happened to me on November 8, I still remember very well, it was during Alma’s cutscene, after maybe 10 minutes of gameplay.
At that time, I thought it was only a minor issue, the game just come out, games are never very stable at this point, and thought IO was going to fix it quickly. I was trying to stay positive while waiting for an official solution.
Between November and January my game crashed more than 300 times (I got that number with Windows Event Viewer). So I sent a zip with all my logs files to IO’s QA team. More and more topics have been created on both steam forums and Hitmanforum.com, the number of people affected has also increased gradually.
After two months, IO finally acknowledged the problem and decided to looking at the issue :
- PC players are experiencing “0x8000000_” (and related) crashes. We’re continuing to work on a permanent solution to this with our friends and partners at Nvidia.
At first, only Nvidia RTX card owners were affected by this problem. After more than 300 crashes and seeing that the community could not find a solution, I almost stopped the game to play something else. But I’m a hardcore fan… Hitman is my forever game, as some people would say.
So I started playing HITMAN 2 on Linux with Steam Proton and after a few hours, the game never crashed on this operating system with my RTX GPU, never. I played maybe 20 hours. So I decided to play with the same rendering process on Windows 10, and it worked ! A solution has finally been found, not the best one but definitely makes the game a lot more stable.
The solution is DXVK.
DXVK is a DX11 to Vulkan translation layer used by Steam Proton on Linux. You not really change the renderer, you add another layer. DX11 is still used by the game but your GPU receives Vulkan’s translated calls.
Game DX11 DXVK Vulkan GPU
According to my observations after 5 months, with DX11, Nvidia Turing architecture and HITMAN 2, the GPU randomly hits the timeout threshold defined in TDR Windows registry keys. The default threshold value is 2 seconds. With a low level API like Vulkan, the GPU never reach this threshold, result : 0x80000003 crashes never happen.
I used DXVK almost 3 months, then IO released DX12 and like Vulkan, DX12 doesn’t seems to produce any TDR crashing issue with Turing GPUs.
Everything seemed to be fine, 0x80000003 crashes was gone, everyone was happy. Ideally, 0x8000003 should be fixed regardless the API but since this issue seems to affect only Nvidia’s Turing architecture, DX12 was a great solution for almost all users affected.
But the problem came back two months later in May 2019 after a game update for some users (not all) with Pascal and again Turing GPUs with DX11 and DX12. It seemed to hits people randomly. The GeForce Hotfix Driver Version 431.18 fixed this issue on Pascal for both Shadow of The Tomb Raider and HITMAN 2 :
Shadow of the Tomb Raider may experience a game crash or TDR when launching game on Pascal GPU
A lot of users was not aware of this hotfix because it was merged 3 weeks after in the next stable driver.
But it’s not over yet because the problem came back again after the July update ! (just look the Official HITMAN 2 Technical Support Thread or the steam forum, 0x80000003 is everywhere).
1. How can I know if I am affected by this issue ?
It’s simple. If your game randomly crashes very very frequently with no error code, sometimes after 5-10 minutes of gameplay, sometimes after, open the Windows Event Viewer (in start menu search bar). In application category, look for Hitman application error. If in the detail you see 0x80000003 exception code and if in System category, you see this too : “display driver nvlddmkm stopped responding”, it means that you are affected by the TDR (Timeout Detection & Recovery) crashing issue.
2. How can I fix these crashes ?
These steps are independent and are the result of multiple feedbacks from the community. After each one, try to play and if it doesn’t work, go to the next step.
- First, try to start the game in DirectX 12 mode (available in launcher settings). This is the official solution recommended by IO but it does not work for some overclocked computers.
- DirectX 12 requires a recent and updated Windows 10 build with all drivers update to date and compatible hardware.
Underclock your RAM by disabling any XMP (Intel Extreme Memory Profile) or AMP (AMD Memory Profile) profile in your BIOS/UEFI interface.
Use the Nvidia reference clock speeds for your GPU. If your GPU has been factory overclocked by the manufacturer or if you have applied a custom overclocking, underclock your core clock using MSI Afterburner or an equivalent tool.
Final solution, this method works for almost all people to get rid of this issue but has some downsides about performances, especially in 2K/4K. Follow the instructions below to install DXVK and use it above of DirectX :
For the latest version, check releases page : https://github.com/doitsujin/dxvk/releases
Decompress this archive with WINRAR for example and put x64 d3d11.dll and dxgi.dll in your Hitman retail folder. Then start the game in DX11 mode. DXVK is a DX11 to Vulkan translator, and Vulkan API doesn’t produce GPU 0x80000003 timeout with Hitman 2.
The game will be a bit laggy at the start, because DXVK needs to recalculate and cache all the shaders in real time on each map. Once this step is done, the game will be stable with no stutter.
To enable DXVK’s HUD, open a Powershell terminal in administrator and use this :
[Environment]::SetEnvironmentVariable("DXVK_HUD", "gpuload,fps,version", "Machine")
The list of all HUD elements is available here : https://github.com/doitsujin/dxvk#hud
INFO 2019/12/15 : A DXVK helper is now available. Many thanks to Giovanni Solinas (@Tharon on Steam).
What is HITMAN Vulkan Enabler for ?
This tool is intended to help all players affected by the (in)famous 0x80000003 error that occurs in Hitman 2 with a Turing card (GeForce 16 series and RTX series). This issue can be fixed by intercepting and translating the DirectX API calls to Vulkan, a new and powerful 3D graphical API. This can be done using DXVK, a project born on Linux (but availabe for Windows too) and able to make DirectX games running on Vulkan API. DXVK is now sponsored by Steam.
IO Interactive works on a solution with Nvidia since January 2019 but " they don’t have a specific fix planned " and " continuing to gather data on to pinpoint the cause " as stated in September 2019. In the meantime, DXVK is recommended if both DX11 and DX12 don’t work properly for you.
For the moment, this is the only reliable community workaround recommended by IOI for people continuing to encounter this issue with both DX11 and DX12.
Steam guide :