Windows  ·  high  ·  Hardware, drivers & peripherals

Display driver stopped responding and has recovered — TDR, event 4101

The GPU did not respond within the timeout, so Windows reset it. If the reset fails, it becomes a bugcheck instead.

What you see

The screen goes black for a second or two and comes back with a notification, or the machine bluescreens with VIDEO_TDR_FAILURE naming nvlddmkm.sys or amdkmdap.sys. Often during games, video playback or hardware-accelerated browsing.

What is actually wrong

Genuinely three things: an unstable overclock or undervolt (including factory ones), insufficient or failing power delivery under load, and a driver defect. Heat is fourth and easy to rule out.

Codes and articles

Event 4101nvlddmkmamdkmdapigfxTDRVIDEO_TDR_FAILURE0x00000116

Fixes (3)

Establish which driver, and get to a known-good one
Elevated PowerShell45 minutesmedium riskreversible

It happens at idle or since an update. Start here.

  1. Read the events. The message names the driver file, which is the whole diagnosis.

    PowerShell
    Get-WinEvent -LogName System -MaxEvents 200 | Where-Object { $_.Id -eq 4101 -or $_.ProviderName -like '*Display*' } | Format-Table TimeCreated,Id,Message -Wrap
  2. Note the current driver version before changing it.

    PowerShell
    Get-CimInstance Win32_VideoController | Format-List Name,DriverVersion,DriverDate,VideoProcessor
  3. Uninstall the display driver completely and install the manufacturer's current studio or WHQL build — not a beta, and not the version Windows Update supplies.

    Windows Update carries a generic driver that is often several versions behind and occasionally mismatched to the card's firmware. For graphics the vendor's own package is the correct source.

  4. Stop Windows Update replacing it again on the next reboot while you test.

    PowerShell
    Get-WindowsDriver -Online | Where-Object ClassName -eq 'Display' | Format-Table Driver,ProviderName,Version
  5. If the current version is the problem, install the previous one and test for a full day before concluding.

Confirm it workedNo 4101 events across a day of normal use.
PowerShell
Get-WinEvent -LogName System -MaxEvents 500 | Where-Object Id -eq 4101 | Measure-Object | Format-List Count
If you need to undo itReinstall the version noted in step two.
Rule out power delivery and factory overclocks
The machine, plus vendor tools60 minutesmedium riskreversible

It happens under load. This is the most common real cause on a machine that has worked before.

  1. Reset any overclock, including the factory one on a manufacturer-overclocked card, and test at reference clocks.

    A card that has been stable for two years can become unstable as its power delivery ages. Reference clocks are the test that separates a marginal card from a driver bug — nothing else does it as cleanly.

  2. Check the power supply is adequate and that both PCIe power connectors are on separate cables where the card requires it, rather than one cable with two ends.

  3. Reseat the card and the power connectors. Reseating fixes more of these than any software change.

  4. Cap the frame rate or enable V-Sync temporarily. If the crashes stop, it is a load or power problem, not a driver one.

Confirm it workedA sustained load test — half an hour of the workload that triggers it — completes with no reset.
If you need to undo itOverclocks can be reapplied from the vendor tool once a stable baseline is established.
Rule out heat, and extend the timeout only as a diagnostic
Elevated PowerShell40 minutesmedium riskreversible

The machine is dusty, old, or in a warm enclosure.

  1. Watch the GPU temperature during the workload with the vendor's own tool. Above 90°C sustained is the answer.

  2. Clean the heatsink and fans properly, and confirm the case has an intake as well as an exhaust.

  3. Only as a diagnostic, raise the TDR timeout from the default two seconds.

    PowerShell
    New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers' -Name TdrDelay -PropertyType DWord -Value 8 -Force

    This does not fix anything — it gives a struggling GPU longer before Windows resets it. It is useful to confirm the diagnosis (crashes become stutters) and should be removed afterwards, because a real hang now locks the desktop for eight seconds instead of two.

  4. Restart for it to take effect, test, then remove it.

    PowerShell
    Remove-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers' -Name TdrDelay
Confirm it workedTemperatures stay under load limits and the resets stop with TdrDelay removed.
If you need to undo itRemove the TdrDelay value, as in the last step.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.