Especially Windows 7 and Vista users “Display driver stopped responding and has recovered.” may encounter an error message.
This error is actually not specific to Nvidia cards. For AMD/ATI graphics cards, “atikmdag” or Intel graphics adapters are also available to users. It should be noted that these errors are not actually caused by Nvidia or ATI/AMD. The errors are triggered by a Windows service also called “Timeout Detection and Recovery”. First introduced with Vista and later with Windows 7, this feature is available whenever there is a problem or a long delay. It aims to prevent blue screen by resetting the video card driver. . If the problem repeated several times, the blue screen was given.
How TDR Works
Windows Vista and later operating systems have a system to detect when the computer freezes completely, and automatic steps are taken to fix this problem so that the desktop becomes responsive again. This process is called “Timeout detection and recovery”. During the TDR process, the operating system’s GPU scheduler runs the DxgkDdiResetFromTimeout property of the display driver, reinstalling the driver and resetting the GPU. Thus, users do not have to restart the operating system and the user experience is improved.
During these processes, users can see that the screen is refreshed. Some legacy DirectX applications may give a black screen during this process and users may need to restart these applications. You can find out exactly how the process works below.
1. Timeout Detection
The GPU scheduler is part of the DirectX graphics core subsystem (Dxgkrnl.sys). This timer checks if the GPU is using more than the allowed time while executing a particular task. The scheduler even tries to prioritize this task. The priority assignment process has a timeout period. This time is determined as 2 seconds in Vista and later operating systems. If the GPU fails to complete or prioritize the operation within the TDR time, the operating system decides that the GPU is frozen.
To avoid this timeout, hardware manufacturers should ensure that graphics operations do not take longer than 2 seconds during gameplay or other operations.
2. Preparation for Recovery
The operating system’s GPU scheduler runs the graphics driver’s DxgkDdiResetFromTimeout to notify the operating system that it has detected a timeout. The driver then refreshes itself and the GPU. In addition, the drive is denied access to memory and hardware. The operating system and driver collect hardware and status information and this information is used for later detection of the problem.
3. Recovering the Desktop
Resets the state of the operating system graphics stack. The graphics memory manager, which is part of the Dxgkrnl.sys system, cleans up any placements in graphics memory. The graphics driver resets the GPU hardware state. The graphics stack performs the final steps and returns the desktop to a responsive state. As mentioned earlier, some legacy DirectX applications may display a black image during this time and users will need to restart these applications.
Well-written DirectX 9Ex and Post-DirectX 10 applications will get through this process properly and continue to work.
4. Preventing Recurring GPU Freezes
With Windows Vista SP1 and Windows Server 2008, a number of measures have been taken against frequent GPU freezes. Recurrent GPU freezes indicate that the graphics hardware could not be recovered properly. In this case, the user must shut down the computer and reset the graphics hardware by restarting the operating system. If the OS detects six or more GPU freezes and the recovery occurs within 1 minute, the OS will check for the next GPU freeze.
5. TDR Error Message
The desktop may become unresponsive during the TDR process. During the final stages of the recovery process, there may be a flash on the screen. This blink is similar to the blink that occurs when the user changes the resolution. If the operating system successfully recovers the desktop “ Display driver stopped responding and has recovered ” message is displayed.
During this process, necessary entries are also created on the “Event Viewer” and this information can be used to solve the problem later.
Although it is possible to disable the TDR service and change the duration of the processing stages this is not recommendedand is considered a violation by Microsoft.
Causes of the Error and Possible Solutions
Once you understand why the error occurs, you can try to prevent it from occurring. Unfortunately, there is no single solution for this error. The TDR process can also be triggered by many issues:
- Improper memory timing or voltage
- Insufficient or faulty power supply
- Incorrect driver installation
- Dust and dirt build-up
- Unstable GPU and CPU overclocking
- Bad memory bus voltage (NB/SB)
- Faulty video card
- A badly written driver or software
- Driver conflicts (Some Realtek drivers, webcam drivers)
- When the game is run at high settings, the video card drops to very low FPS values and if it encounters a complex graphics process, it may stop responding and you may get this error.
- With certain driver versions, this error can be received and the problem can be fixed with an update.
You can follow the steps below to fix the problem with a large list of possible causes:
- Check for driver updates or clean uninstall and reinstall your drivers. AMD and NVIDIA Driver Removal Guide with DDUYou can review the topic for this purpose.
- If you have multiple GPU tools installed at the same time, such as EVGA Precision or MSI Afterburner, use only one of the tools and uninstall the others.
- If you are facing the issue with a specific game, update the game.
- If the problem started after installing new hardware or software, undo the change you made.
- Check the temperature values. It will be useful to see the values especially under load. For this OCCT GPU stress test you can apply. If your system is overheating, you can increase the fan speed of your video card by using software such as MSI AfterBurner. Cleaning the dust and dirt from your system will also help to reduce the temperature values significantly.
- Make sure your RAM is working properly and with the proper settings defined by its manufacturer. For this How to Identify Bad RAM? RAM Test GuideYou can check our.
- If you have overclocked, return your system to default clock speeds. You can also perform this step separately for memory, CPU, and GPU (including factory overclocked models) to see which one fixed the problem.
- BIOS Reset Guide Perform the CMOS reset by following the steps in and reset all BIOS settings to default. This is an important hardware troubleshooting step as it will also reset the IRQ assignments.
- If you have installed a new video card, check your power supply. Make sure there is enough current, especially on the 12V line.
- If you are using SLI, you can try to detect the faulty card by testing each card separately.
- If you can, test your video card on another computer.
For laptops, you may not be able to perform most of these steps. However, especially in old laptops, dust causes heating problems. It is important in this regard that you regularly clean the dirt and dust from your laptop.
If you have not found a solution despite all these steps, you can get more help by opening a topic on Technopat Social.