Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix 0x00000116

VIDEO_TDR_FAILURE 0x00000116 – display driver stopped responding

11 min read Updated October 5, 2026 Windows Crashes & Boot Recovery

Fix it now

0x00000116 has two documented paths to it: an attempt to reset the display driver and recover from a timeout failed, or more than five TDR events occurred inside one minute. Microsoft’s first listed resolution for both is to install the latest updates for the display driver, so start there even if the crash feels hardware-shaped.

Run this in WinDbg with the newest dump from %SystemRoot%\Minidump open

!analyze -v
  1. Install the current display driver from AMD, Intel or NVIDIA directly. If the newest release crashes, install the previous long-lived branch instead.
  2. Note whether the crash happens under 3D load, during video playback, or at idle. Load-related crashes weight the hardware causes; idle crashes weight the driver.
  3. Remove any factory or user overclock on the card and set the power limit back to default. Microsoft lists over-clocked components among the causes for this bug check.
  4. Check temperatures under sustained load, clean dust from the heatsink and confirm the fans spin. Insufficient cooling and insufficient power are both on Microsoft’s list.
  5. Reseat the card and both PCIe power connectors, and test with a different display cable and a different port.

Do not fix this by raising TdrDelay. Microsoft’s own note on those registry keys is that they are for testing and debugging during driver development only, and that end users and applications should not manipulate them.

If the crashes stop after a clean driver install, stop here. The next section explains the two paths to this bug check and why both keep the driver in scope.

Why it happens

Windows watches how long the GPU takes to complete work it has been given. The default timeout threshold is two seconds. If the adapter has not finished within it, the GPU scheduler calls the display miniport driver’s reset routine to reinitialise the driver and reset the GPU. When that works you get a brief black screen and a message that the display driver stopped responding and has recovered, and no bug check at all – that recovery event is 0x00000117, which Microsoft states can never be used for a real bug check because it identifies live dumps only.

There are two ways that becomes 0x00000116. The first is the reset failing: during recovery the OS gives running threads a short time to leave the driver, five seconds by default, and bug checks if they do not. The second is quantity – Microsoft states that the system can also bug check with VIDEO_TDR_FAILURE if multiple TDR events occur in a short period of time, with the default being more than five TDRs in one minute. In that second case every individual reset succeeded.

That second path is the reason not to conclude “the reset failed, so this must be hardware”. Five recoverable timeouts inside a minute produce the same stop code as one unrecoverable one, and repeated recoverable timeouts are exactly what a bad driver or a shader compilation problem looks like. Microsoft’s own first resolution is to install the latest display driver updates so the driver properly supports the TDR process.

Hardware is genuinely on the list too, and Microsoft names the items: over-clocked components such as the motherboard, incorrect component compatibility and settings especially memory configuration and timings, insufficient system cooling, insufficient system power, and defective parts. There is a software entry as well – visual effects or too many background programs slowing the machine so the video card cannot respond as required.

The display driver

You have this one if Crashes at idle or during ordinary desktop use, or they started after a driver update.

  1. Install the current driver from the GPU vendor directly. Microsoft’s first resolution is exactly this.
  2. Remove the existing driver completely first rather than installing over it, so a partial mix of versions cannot survive.
  3. If the newest release crashes, install the previous long-lived branch. A regression in a current driver is a normal occurrence.

Repeated recoverable timeouts, not a failed reset

You have this one if You see ‘display driver stopped responding and has recovered’ several times, and then a blue screen.

  1. Treat this as a driver or workload problem. Every reset succeeded; there were simply more than five in a minute.
  2. Reduce the load that triggers them while you test – Microsoft names visual effects and too many background programs as a cause in their own right.
  3. Replace the driver before spending money on hardware. This path is the one that most often ends in a driver fix.

Thermals, power or an overclock

You have this one if Crashes only under sustained 3D load, arriving sooner as the machine warms up.

  1. Return the card to reference clocks and default power limits, including any factory overclock.
  2. Check memory configuration and timings, which Microsoft calls out specifically alongside overclocking.
  3. Confirm cooling and power: clean the heatsink, check fans, and make sure the supply and its connectors are adequate for the card.

A different graphics bug check

You have this one if 0x00000119, 0x00000113 or 0x000000EA rather than 0x116.

  1. 0x00000119 VIDEO_SCHEDULER_INTERNAL_ERROR: the video scheduler detected a fatal violation, and parameter 1 names it – an invalid fence ID, a failed command submission, a failed patch of the command buffer, and so on.
  2. 0x00000113 VIDEO_DXGKRNL_FATAL_ERROR: the DirectX graphics kernel subsystem detected a violation.
  3. 0x000000EA THREAD_STUCK_IN_DEVICE_DRIVER: a thread in a device driver is endlessly spinning, most likely waiting for hardware to become idle. Microsoft says this frequently results from a bad video card or a bad display driver.

Full reference

The TDR registry keys, and why you should not change them

Value Type Default Meaning
TdrLevel REG_DWORD TdrLevelRecover (3) The initial level of recovery. 0 TdrLevelOff, 1 TdrLevelBugcheck, 2 TdrLevelRecoverVGA, 3 TdrLevelRecover
TdrDelay REG_DWORD 2 seconds How long the GPU may delay the preempt request from the scheduler – the timeout threshold
TdrDdiDelay REG_DWORD 5 seconds How long the OS allows threads to leave the driver before bug-checking with 0x116
TdrLimitTime REG_DWORD 60 seconds The window within which a number of TDRs is allowed without crashing
TdrLimitCount REG_DWORD 5 How many 0x117 events are allowed within TdrLimitTime before crashing
TdrDebugMode REG_DWORD 2 Debugging behaviour. 0 off, 1 ignore timeout, 2 recover with no prompt, 3 recover unconditionally

They live under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Microsoft’s note on the whole set is that they are for testing and debugging during driver development only, and that end users and applications should not manipulate them. The advice circulating elsewhere to raise TdrDelay until the crashes stop is not a supported fix – it widens the window in which a hung GPU is tolerated, and if TdrLevel is set to 1 a detected timeout becomes an immediate bug check with no recovery attempted at all.

How the counters fit together

  1. The GPU exceeds TdrDelay, two seconds by default. The scheduler calls the driver’s reset routine.
  2. If threads do not leave the driver within TdrDdiDelay, five seconds by default, the OS bug checks with 0x116.
  3. If the reset succeeds, the event is logged as 0x00000117 – a live dump identifier, not a bug check – and the user sees the recovery message.
  4. If more than TdrLimitCount of those, five by default, occur within TdrLimitTime, sixty seconds by default, the system bug checks with 0x116 anyway.
  5. That is why both a single hard hang and a burst of recoverable stutters produce the same stop code.

The neighbouring graphics bug checks

Code Name What it says
0x00000116 VIDEO_TDR_FAILURE An attempt to reset the display driver and recover from a timeout failed
0x00000117 VIDEO_TDR_TIMEOUT_DETECTED The display driver failed to respond in a timely fashion. Live dumps only – never a real bug check
0x00000119 VIDEO_SCHEDULER_INTERNAL_ERROR The video scheduler detected a fatal violation; parameter 1 identifies which
0x00000113 VIDEO_DXGKRNL_FATAL_ERROR The DirectX graphics kernel subsystem detected a violation
0x000000EA THREAD_STUCK_IN_DEVICE_DRIVER A thread in a device driver is endlessly spinning, most likely waiting for hardware to become idle

0x000000EA is the one to read carefully if you get it, because Microsoft’s own cause statement is unusually pointed: a device driver spinning in an infinite loop, most likely waiting for hardware to become idle, usually indicating a problem with the hardware itself or with the driver programming the hardware incorrectly – and frequently the result of a bad video card or a bad display driver. Parameter 3 is a pointer to the offending driver name.

Working through it in order

  • Replace the driver first. It is quick, free, and it is Microsoft’s first listed resolution.
  • Then remove overclocks and return memory settings to defaults, because those are the next items on Microsoft’s own cause list.
  • Then check cooling and power delivery under sustained load rather than at idle.
  • Then test the card in another machine, or another card in this one, which is the only way to separate the card from everything around it.
  • Run the Windows Memory Diagnostic and the manufacturer’s hardware diagnostics, both of which Microsoft names among the resolutions.
  • Check Event Viewer for related errors in the same window – also on Microsoft’s list, and frequently more informative than the bug check itself.

Every code this article covers

Code What it points at Source
0x00000116 VIDEO_TDR_FAILURE: an attempt to reset the display driver and recover from a timeout failed. The system also bug checks with this if more than five TDR events occur in one minute Microsoft Learn
0x00000117 VIDEO_TDR_TIMEOUT_DETECTED: the display driver failed to respond in a timely fashion. Microsoft states this code can never be used for a real bug check – it identifies live dumps only Microsoft Learn
0x00000119 VIDEO_SCHEDULER_INTERNAL_ERROR: the video scheduler detected a fatal violation, with parameter 1 identifying the exact violation Microsoft Learn
0x00000113 VIDEO_DXGKRNL_FATAL_ERROR: the DirectX graphics kernel subsystem detected a violation Microsoft Learn
0x000000EA THREAD_STUCK_IN_DEVICE_DRIVER: a thread in a device driver is endlessly spinning, most likely waiting for hardware to become idle. Frequently a bad video card or display driver Microsoft Learn

Confirm the fix worked

  1. A sustained 3D or video workload runs without a crash and without the ‘display driver stopped responding and has recovered’ message.
  2. No new dump appears in %SystemRoot%\Minidump after the test.
  3. GPU temperatures stay within the manufacturer’s stated range under that load.
  4. The fix holds with clocks and power limits at their normal settings, not only with the card underclocked.

Questions people ask about this

Everyone says raise TdrDelay. Should I?

No. Microsoft’s own note on the TDR registry keys is that they are for testing and debugging during driver development only and that end users should not manipulate them. Raising the delay widens the window in which a hung GPU is tolerated; it does not make the GPU respond.

Does a failed reset mean the card is dying?

Not on its own, because there are two paths to this bug check. More than five TDR events in one minute produces it even when every reset succeeded, and that pattern is usually a driver problem. Install the latest display driver before drawing conclusions about the hardware.

I keep seeing 0x117 in the logs but no blue screen.

That is expected. Microsoft states 0x117 can never be used for a real bug check – it identifies live dumps. Each one is a recovered timeout. They matter because TdrLimitCount counts them, and five inside sixty seconds becomes a 0x116.

What is different about 0x000000EA?

It is a thread stuck spinning in a device driver, most likely waiting for hardware to become idle. Microsoft says it usually indicates a problem with the hardware itself or with the driver programming it incorrectly, and frequently a bad video card or display driver. Parameter 3 points at the driver name.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

Free Fix KERNEL_DATA_INPAGE_ERROR 0x0000007A – Windows could not read from disk Free Fix ILLEGAL_IOMMU_PAGE_FAULT 0x00000158 on Hyper-V hosts using DDA passthrough License Error IRQL_GT_ZERO_AT_SYSTEM_SERVICE 0x0000004A and kernel stack exhaustion on hosts License Error ELAM_DRIVER_DETECTED_FATAL_ERROR 0x00000178 and security subsystem crashes
โ† Back to Knowledge Base