DXGI_ERROR_DEVICE_HUNG (0x887A0006) and DXGI_ERROR_DEVICE_REMOVED crash occurs when the Windows GPU scheduler detects that a graphics driver failed to respond within its default 2-second timeout window. To resolve this error immediately: (1) Expand the Windows Timeout Detection and Recovery limit by adding a TdrDelay DWORD value of 8 in HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers; (2) Purge the corrupted DirectX shader cache in %localappdata%\NVIDIA\DXCache and %localappdata%\D3DSCache; (3) Disable aggressive factory GPU transient voltage spikes via an MSI Afterburner curve lock; and (4) Turn off PCIe Link State Power Management in Windows Power Options.
You are in the middle of a high-intensity session in Black Myth: Wukong, Call of Duty, Cyberpunk 2077, or an Unreal Engine 5 title. Suddenly, the frame freezes for two seconds, your audio loops, and the game crashes straight to the desktop with a dialog box stating: DirectX function "GetDeviceRemovedReason" failed with DXGI_ERROR_DEVICE_HUNG ("The GPU will not respond to more commands"). Even on top-tier modern graphics cards such as the RTX 40-series and RTX 50-series, this persistent error continues to disrupt PC gaming on Windows 11 24H2. Following our deep-dive diagnostic for EXCEPTION_ACCESS_VIOLATION (0xC0000005) crashes, this guide systematically eliminates the root hardware timeouts and graphics subsystem desynchronizations causing device hung failures.
Why DXGI_ERROR_DEVICE_HUNG Occurs in Windows 11
The DirectX Graphics Infrastructure (DXGI) acts as the bridge between graphics applications and the underlying operating system kernel. When a title crashes with DXGI_ERROR_DEVICE_HUNG, the failure originates from one of four architectural points:
- TDR (Timeout Detection and Recovery) Threshold Exceeded: By default, Windows allocates exactly 2,000 milliseconds (2 seconds) for a GPU command buffer to complete execution. If a complex shader calculation or Ray Tracing BVH traversal takes 2.01 seconds, the Windows kernel assumes hardware failure and forcibly resets the display driver.
- Microsecond Transient Voltage Dropouts: Modern GPUs feature aggressive boost algorithms that shift clock speeds by hundreds of megahertz within milliseconds. When transitioning from high load to low load, temporary voltage sags cause the GPU core to lose synchronization with the memory controller.
- Corrupted DirectX Shader Pipelines: Game updates and driver installations frequently leave fragmented compiled binary blobs in the local DirectX shader cache, causing immediate execution exceptions when shaders are recalled.
- PCIe Bus Power State De-sync: Aggressive PCIe Link State Power Management (ASPM) can drop the motherboard expansion slot into low-power states during loading screens, causing the GPU to disconnect momentarily from the system bus.
Method 1: Expand Windows TDR Registry Timeout Limits
The most reliable fix for compute-heavy modern engines is increasing the TDR delay threshold from the restrictive 2-second default to 8 seconds. This gives demanding shaders sufficient execution headroom without triggering kernel driver resets:
- Press Win + R, type
regedit, and press Enter to open the Registry Editor with administrative privileges. - Navigate to the following key path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers - Right-click in the right pane, select New > DWORD (32-bit) Value, and name it exactly
TdrDelay. - Double-click
TdrDelay, set the Base to Decimal, and enter value8. - Create a second new DWORD (32-bit) named
TdrDdiDelay, set its Base to Decimal, and enter value8(this controls the software driver timeout limit). - Restart your computer for the kernel registry modifications to take effect.
Method 2: Cleanly Purge Corrupted DirectX Shader Caches
Corrupted precompiled shader binaries trigger immediate device hung errors when Unreal Engine 5 or Frostbite attempts to load pre-cached textures. Clean both the driver-level and system-level shader repositories:
- Close all running game clients, Steam, Epic Games Launcher, and web browsers.
- Press Win + R, paste the following path, and press Enter:
(For AMD Radeon users, navigate to%localappdata%\NVIDIA%localappdata%\AMD). - Delete all folders named DXCache and GLCache. If certain active files are locked, click Skip.
- Press Win + R, type
cleanmgr, select driveC:, check DirectX Shader Cache, and click OK.
Method 3: Stabilize Voltage & GPU Boost Clocks in MSI Afterburner
Factory-overclocked graphics cards from third-party manufacturers (ASUS ROG, MSI Suprim, Gigabyte Aorus) often push boost clocks past the silicon stability margin at stock voltage tables. Locking the core clock curve eliminates the micro-voltage spikes that crash the DirectX engine:
- Open MSI Afterburner and press Ctrl + F to bring up the Voltage/Frequency Curve Editor.
- Locate the 975mV to 1000mV point on the voltage curve.
- Select your target core clock (e.g., 2600 MHz on RTX 40/50 series) and press L to lock the voltage-frequency line. A yellow line will appear, ensuring the GPU core never spikes into unstable voltage zones during gameplay.
- Apply the profile and ensure it activates on Windows startup.
Method 4: Configure PCIe Link State Power Management
When Windows 11 drops the PCIe bus into Active State Power Management (ASPM) L1 or L0s states to conserve electricity, latency spikes can disconnect the GPU driver during scene transitions:
- Press Win + R, type
powercfg.cpl, and press Enter. - Click Change plan settings next to your active power profile, then select Change advanced power settings.
- Expand PCI Express > Link State Power Management.
- Set the setting to Off for both On Battery and Plugged In.
- Click Apply and OK.
Technical Comparison: Common DirectX Crash Triggers by Architecture
Different GPU architectures respond differently to DirectX pipeline stresses. The table below details verified failure triggers and the exact countermeasure for each silicon generation:
| GPU Family | Primary Failure Cause | Error Code Variant | Target Hardware Fix |
|---|---|---|---|
| NVIDIA RTX 50 & 40 Series | Aggressive transient clock boost sags | 0x887A0006 (DEVICE_HUNG) | TdrDelay=8 + Voltage curve lock |
| AMD Radeon RX 7000 & 9000 | Multi-monitor MPO (Overlay) desync | 0x887A0005 (DEVICE_REMOVED) | Disable MPO in registry + DXCache wipe |
| Intel Arc Battlemage & Alchemist | DirectX 11 to DX12 translation timeouts | 0x887A0007 (DEVICE_RESET) | Enable Resizable BAR in UEFI BIOS |
| NVIDIA RTX 30 Series | PCIe Gen 4 bus signal integrity loss | 0x887A0006 (DEVICE_HUNG) | Switch PCIe Slot from Auto to Gen 3/4 in BIOS |
Frequently Asked Questions (Hardware & GPU Troubleshooting)
Does TdrDelay harm my graphics card or degrade gaming performance?
No. TdrDelay simply instructs the Windows operating system to wait 8 seconds instead of 2 seconds before declaring a graphics driver frozen. It has zero impact on frame rates, power consumption, or physical GPU thermals.
Why does this crash happen more frequently in Unreal Engine 5 games?
Unreal Engine 5 features complex asynchronous compute pipelines utilizing Lumen and Nanite. When building Nanite meshes or calculating ray-traced reflections on the fly, transient GPU execution stalls can briefly exceed 2 seconds, triggering instant TDR crashes.
Can a failing power supply cause DXGI_ERROR_DEVICE_HUNG?
Yes. If your PSU cannot sustain microsecond transient power spikes on 12V rails, the GPU core voltage drops momentarily. The motherboard will register a PCIe bus drop, resulting in GetDeviceRemovedReason. Check your system power headroom with our PC Power Supply Sizer.
💬 Reader Discussion & Feedback 0