One of the most common GPU related errors and crashes are referred to as Timeout Detection and Recovery or TDR errors in logs, Event Viewers, etc. In this article I’ll suggest you few methods to troubleshoot such errors.
TDR has been introduced from Windows Vista and later editions. TDR attempts to detect problematic situations and recover to a functional desktop dynamically.
Timeout Detection and Recovery (TDR)
According to MSDN the TDR processes are:
- Timeout detection: The Video Scheduler component of the Windows Vista graphics stack detects that the GPU is taking more than the permitted quantum time to execute the particular task and tries to preempt this particular task. The preempt operation has a “wait” timeout—the actual “TDR timeout.” This step is thus the “timeout detection” phase of the process. The default timeout period in Windows Vista is 2 seconds. If the GPU cannot complete or preempt the current task within the TDR timeout, then the GPU is diagnosed as hung.
- Preparation for recovery: The operating system informs the WDDM driver that a timeout has been detected and it must reset the GPU. The driver is told to stop accessing memory and should not access hardware after this time. The operating system and the WDDM driver collect hardware and other state information that could be useful for post-mortem diagnosis.
- Desktop recovery: The operating system resets the appropriate state of the graphics stack. The Video Memory Manager component of the graphics stack purges all allocations from video memory. The WDDM driver resets the GPU hardware state. The graphics stack takes the final actions and restores the desktop to the responsive state. As mentioned earlier, some older DirectX applications may now render just black, and the user may be required to restart these applications. Well-written DirectX 9Ex and DirectX 10 applications that handle “Device Remove” continue to work correctly. The application must release and then recreate its Microsoft Direct3D device and all of its objects. DirectX application programmers can find more information in the Windows SDK.
Most common error message you might find is “Display driver stopped responding and has recovered” also you might also get BSOD with the stop code Bug Check 0x116: VIDEO_TDR_ERROR.
There are few things that you could do to fix it.
- Check your Memory i.e. RAM. If your RAM is failing on you, it’s quite possible that this is what is causing your Display to crash. Check our article on how to run Memory Diagnostic Advanced Memory Diagnostic on Windows 7, with Memtest86+. Also check if the timing and voltage of the RAM is set correctly in your BIOS refer your Motherboard and RAM manual.
- Overclocking your GPU could cause this problem. So if your Overclocking reset the values to default settings and then test it and see if that fixes your problem.
- Corrupted or Bad display drivers. If your display driver is corrupted there is a very good chance it might be crashing your display. Most of the times just uninstalling and reinstalling it will not resolve your problem. We have to do a complete Driver Cleanup. You can follow this post on nVidia and ATL Cards Driver Cleanup.
- The other reason is Overheating. While playing games or working with software that use GPU, your Display card might become extremely hot and cause the drivers to crash – and end up crashing the whole system. Use RivaTuner to determine if your display card is overheating. Try to adjust the fan settings and see if that makes any difference. If not I would recommend to take it to a Computer Repair shop and have them clean the tower to rule out any dust related issue.
- The next reason could be insufficient power or a bad PSU. Your Display card needs enough power to function properly and if it does not get enough power, then the card will misbehave. Use a Power Supply Calculator and determine you have enough juice to run the system. If you have enough juice to run the system then take to Computer Repair shop and have them test it with a different PSU.
- For advanced uses there are methods to enable debugging in the Windows registry. Refer this article from Microsoft for more on this.
- If all if these steps failed then more likely you have a bad display card. If it’s still under warranty send it for replacement.
Hope these steps helped you in resolving TDR related errors. If you know any additional steps do share with us.