Detailed analysis
DXGI_ERROR_DEVICE_HUNG means your GPU got stuck on a graphics command and Windows killed it after a timeout. The fastest fix: update your GPU driver (DDU clean install), increase the TDR timeout to 10 seconds, and lower any settings that hammer your VRAM. Unlike DEVICE_REMOVED, your GPU is still physically present and working — it just choked on something too complex.
What's actually happening
Windows has a watchdog called TDR (Timeout Detection and Recovery) that monitors your GPU. When DirectX sends a command to the GPU — draw this frame, compile this shader, load this texture — the GPU is expected to respond within 2 seconds. If it doesn't, Windows assumes the GPU has hung (frozen), kills the graphics driver, and restarts it. Your game catches this as DXGI_ERROR_DEVICE_HUNG (0x887A0006) and crashes to desktop.
The key difference between DEVICE_HUNG and DEVICE_REMOVED is that with DEVICE_HUNG, your GPU is still physically connected and responding to basic queries. It just took too long on one specific operation. DEVICE_REMOVED means the GPU vanished from the system entirely. DEVICE_HUNG is more likely to be a software/settings problem; DEVICE_REMOVED leans more toward hardware or driver instability.
The 2-second default timeout is extremely aggressive for modern games. Shader compilation in Unreal Engine 5 games can legitimately take longer than 2 seconds on first load, especially on mid-range GPUs. A scene with heavy ray tracing, dense geometry, and volumetric effects might push your GPU past the timeout even though the card is perfectly healthy and just needs more time.
The most common causes (in order of likelihood)
Shader compilation stalls. This is the #1 cause in 2024-2026 games. When you enter a new area or encounter a new visual effect for the first time, the game compiles shaders on the fly. On mid-range GPUs, compiling complex UE5 Nanite or Lumen shaders can take 3-5 seconds — well past the 2-second TDR timeout. You will notice this because the crash happens in the first few minutes of gameplay or when entering new areas, not during sustained play. Games like Hogwarts Legacy, Star Wars Jedi: Survivor, and Alan Wake 2 are notorious for this.
VRAM exhaustion. When your GPU runs out of VRAM, it has to swap texture data to system RAM over the PCIe bus. This swapping is orders of magnitude slower than local VRAM access, and a single frame that requires swapped data can easily blow past the TDR timeout. Check Task Manager > Performance > GPU while gaming. If Dedicated GPU Memory is at 95%+ of your total, VRAM pressure is your problem.
GPU driver bug with a specific game. NVIDIA and AMD both ship driver updates that fix DEVICE_HUNG crashes in specific titles. The 546.x NVIDIA driver branch had widespread DEVICE_HUNG issues with UE5 games that were resolved in 555.85. AMD's 24.x.x Adrenalin drivers fixed shader timeout issues in several DX12 titles. Check the release notes for your latest driver — they often list specific games with TDR fixes.
Overclocked GPU (including factory OC). An overclock that passes every synthetic benchmark can still fail in actual games because games produce irregular, spiky GPU workloads that benchmarks don't replicate. A shader compilation spike on top of an already-stressed overclock pushes the GPU just past its stable threshold, and instead of an artifact or a brief stutter, you get a full TDR timeout.
Threaded Optimization conflict (NVIDIA). NVIDIA's Threaded Optimization driver setting parallelizes DirectX calls across CPU threads. In some games — particularly older DX11 titles and certain DX12 games that manage their own threading — this causes commands to pile up and create a traffic jam in the GPU command queue, triggering a timeout. Disabling it for the affected game is a known fix.
How to fix it
- Increase the TDR timeout. This is the single most effective fix because it addresses the mechanism that causes the crash, not just a symptom. Open Registry Editor (Win+R, type regedit, press Enter). Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers. Right-click in the right pane, select New > DWORD (32-bit) Value. Name it TdrDelay and set the value to 10 (decimal). Create another DWORD called TdrDdiDelay and also set it to
- Restart your PC. This gives the GPU 10 seconds instead of 2 to complete commands. It will not harm your system — the only downside is that if your GPU truly hangs, it takes 10 seconds for recovery instead of 2, meaning a longer screen freeze before the driver resets.
- DDU clean install your GPU driver. Download DDU (Display Driver Uninstaller) from guru3d.com. Boot into Safe Mode (hold Shift while clicking Restart > Troubleshoot > Startup Settings > restart > press 4 for Safe Mode). Run DDU, select your GPU brand, click "Clean and restart." Once back in Windows, immediately install the latest driver from nvidia.com or amd.com before Windows Update installs its own outdated version. For NVIDIA, use the Game Ready driver, not the Studio driver.
- Reduce VRAM-heavy settings. Open your game's graphics settings and turn down: Texture Quality (biggest VRAM impact), Shadow Quality, Ray Tracing (all options), Volumetric effects, and Screen-Space Reflections. The goal is to get your VRAM usage under 80% of your card's total. A quick way to check: open Task Manager, go to Performance > GPU, and watch Dedicated GPU Memory while gaming. If you have an 8GB card, aim to keep usage under 6.5GB in the settings menu.
- Disable Threaded Optimization for the game (NVIDIA only). Open NVIDIA Control Panel > Manage 3D Settings > Program Settings. Click Add and select the game's executable. Find "Threaded Optimization" in the list and set it to Off. Click Apply. This stops the driver from parallelizing DirectX calls, which eliminates a common source of command queue backup that leads to DEVICE_HUNG. This setting has no meaningful performance impact in most games.
- Disable shader pre-caching in Steam. Go to Steam > Settings > Shader Pre-Caching and uncheck both options. Steam downloads pre-compiled shaders from Valve's servers, but sometimes these pre-compiled shaders are built for a different GPU architecture and cause compilation stalls when your GPU tries to use them. Let the game compile shaders fresh for your specific hardware.
- Remove GPU overclock. Open MSI Afterburner (or your OC tool) and reset core clock, memory clock, and voltage to defaults. Test at stock clocks for at least several gaming sessions. If the crashes stop, your overclock was the problem. You can try a less aggressive OC later — reduce your previous overclock by 30-50% and stability test in the actual game, not just a benchmark.
- Close background VRAM consumers. Chrome uses VRAM even when minimized — each tab with hardware acceleration consumes GPU memory. Close Chrome entirely or disable hardware acceleration (Settings > System > Use hardware acceleration > off). Do the same for Discord (Settings > Advanced > Hardware Acceleration > off). Wallpaper engines, streaming software, and secondary monitor content all eat VRAM.
- Disable Hardware-Accelerated GPU Scheduling (HAGS). Go to Windows Settings > System > Display > Graphics > Change default graphics settings. Turn off Hardware-accelerated GPU scheduling. HAGS changes how the GPU command queue is managed and can interact poorly with certain drivers, making timeouts more likely. Restart after changing this.
Is this a hardware or software problem?
DEVICE_HUNG is almost always software. The GPU is still present and responding — it just got overwhelmed by a single command. If increasing the TDR timeout to 10 seconds and updating drivers fixes your crashes, it was purely a software issue.
Hardware problems look different: if you also see visual artifacts (colored pixels, screen flickering, texture corruption) during normal use — not just in demanding scenes — or if the crash escalates to DEVICE_REMOVED or a full system freeze, then the GPU itself may be failing. Run OCCT's VRAM test and FurMark at stock clocks for 30 minutes. If either crashes or shows errors, you have a hardware issue.
Another telltale sign: DEVICE_HUNG from software causes crashes only during heavy GPU load (gaming, rendering). If your GPU throws DEVICE_HUNG errors during light desktop use, web browsing, or video playback, that points to hardware degradation or a fundamentally broken driver install.
If you're not sure, Crashless can check your drivers, temps, VRAM, and 400+ known patterns automatically — just use the chat above.
Games commonly affected
Cyberpunk 2077 (especially with ray tracing and path tracing), Hogwarts Legacy, Star Wars Jedi: Survivor, Alan Wake 2, Star Citizen, The Finals, Fortnite (UE5 chapters), Baldur's Gate 3, Cities: Skylines II, ARK: Survival Ascended, Dragon's Dogma 2, and most Unreal Engine 5 titles. Any game with heavy shader compilation on first play is a prime candidate for DEVICE_HUNG.
Frequently asked questions
Q: What's the difference between DEVICE_HUNG and DEVICE_REMOVED?
A: DEVICE_HUNG means the GPU is still there but took too long on a command. DEVICE_REMOVED means the GPU completely disconnected from Windows. DEVICE_HUNG is more often a settings or TDR timeout issue; DEVICE_REMOVED leans more toward driver crashes or hardware failure. The fixes overlap heavily, but if you're getting DEVICE_HUNG specifically, the TDR timeout increase is your best first move.
Q: Is it safe to increase the TDR timeout? Will it break anything?
A: Totally safe. The only effect is that if your GPU truly freezes, Windows waits longer before killing the driver, so you get a longer black screen or freeze (10 seconds instead of
2) before recovery. Your system, data, and GPU are not at risk. Microsoft's own documentation acknowledges that the 2-second default is too aggressive for modern workloads.
Q: The crash only happens in the first 5-10 minutes of playing, then never again. Why?
A: That's shader compilation. The game is building shaders for new visual effects as you encounter them. Once all shaders are compiled and cached, the GPU never hits the timeout again because it's reading from cache instead of compiling live. Increase the TDR timeout to survive the initial compilation period, or let the game's shader pre-compilation phase finish (some games do this on first launch).