FIX - Display Driver has stopped responding...

Ragnar-Kon
US Enlisted: 2011-10-27
2011-10-29 04:23 , edited 2011-10-29 09:00 by Ragnar-Kon
I have a possible fix for those with the error "Display driver (driver name) stopped responding and has successfully recovered."

This worked for both me and several other Battlefield junkies I know locally. And while I cannot guarantee it will work for you, I hope it does. As a side note, I used the same fix for Assassin's Creed on my old system.

Windows Vista and Windows 7 have a "feature" called Timeout Detection and Recovery (TDR). Essentially, it detects when your graphics card locks up, and restarts your display driver when such a lock-up occurs. It does so to protect your graphics card as well as your system, and prevents you from having to manually cut the power to your computer and restarting it. The TDR can trigger for anything from faulty hardware, to poor graphics drivers, to buggy software, to sneezing near your computer (I'm serious, it's happened <('-')>).

The TDR can be tweaked manually. I should mention that doing so is NOT recommended by Microsoft, and it may also cause your graphics card to fail. So... do this at your own risk. I do not take responsibility when your video card melts in the palm of your hand.

This tweak requires basic knowledge of how to edit the Windows Registry, and what will happen if you edit the Registry incorrectly. So again, if your computer fails to boot--not my problem.

1. From the Desktop hit {Windows} + {R}. Then type in "regedit" and hit okay.

2. Move to the following Registry directory:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/GraphicsDrivers/

3. If they aren't already, create three REG_DWORDs (or REG_QWORDs if you are on 64-bit, but honestly I think DWORD will work for 64bit as well) with the following names:
TdrDelay
TdrLevel
TdrDdiDelay

4. TdrDelay is the key that adjusts the timeout for the TDR. By default the value is 0x2, meaning the TDR will trigger if the video card does not respond within two seconds. Change it to something higher than 0x2. I personally changed it to 0x12 (18 seconds).

5. TdrLevel adjusts the level of recovery. A value of 0x0 turns off Tdr detection, a value of 0x3 turns on Tdr detection (default value). The values 0x1 and 0x2 have other functions, but they do not apply to us so we don't care. I left this at the default value, but several other friends disabled Tdr detection.

6. TdrDdiDelay adjusts how long Windows lets the the threads to leave the GPU driver. I left the value as the default 0x05, but again, several friends increased the time on this.

7. Once you are done restart your computer and you should be good to go.

This has been known to work on the following GPUs, all with the latest drivers (Nvidia v 285.6, AMD 11.10 Preview v3):
AMD Radeon HD 6870
2x AMD Radeon HD 6950 CrossFire
ATI Radeon HD 4870
Nvidia Geforce GTX 460
2x ATI Radeon HD 5770 CrossFire
Nvidia Geforce GTX 260

Make sure you monitor your graphics card temperatures after applying the fix. My graphics driver continued to crash after applying the fix only to find out my video card's fan was sitting there idling happily at 15% speed while I was playing Battlefield 3. I manually adjusted it using AMD Overdrive to 50% and after 2 hours of playing have yet to have a crash.

I should also note that the friend with the GTX 260 is still crashing, but significantly less than he was before. So this may not be a perfect fix. For the rest of us, it seems to have worked.

More information on TDR can be found here: http://msdn.microsoft.com/en-us/windows/hardware/gg487368 [msdn.microsoft.com]

And just because I know someone will ask, here are my complete specs. If you want I will bug the others to give me there complete specs as well.

AMD Phenom II X4 965 @ 3.4ghz
Gigabyte AM2+ M.B. w/ AMD 770 chipset
AMD Radeon HD 6870
4gb DDR2 1066
Running at the "High" preset at 1920 x 1080.

Hope this helps!
NorKnOAd
Enlisted: 2011-10-28
2011-11-11 05:18
This works on my GTX 570.

After creating the registry files, I noticed that there's a pause when loading that lasts about 5 seconds, so if the driver times out after 2, you're toast. I'm sure that's what was crashing the game. Thanks for the post, this worked immediately.
MattJoey2142
CA Enlisted: 2011-10-26
2011-12-01 21:45
Will anything happen to my HIS Radeon 6950 2GB IceQ X? It is specialized for being very cooled and not being very hot.
4irhe4d
NL Enlisted: 2011-10-27
2011-12-03 00:39
NorKnOAd said:
This works on my GTX 570.

After creating the registry files, I noticed that there's a pause when loading that lasts about 5 seconds, so if the driver times out after 2, you're toast. I'm sure that's what was crashing the game. Thanks for the post, this worked immediately.

What sort of crash, like a videofreeze and sound loop?
E=mc²
RustedRoot
US Enlisted: 2011-11-02
2012-02-12 17:01
Did NOT work with my 6870
HUN_ViruZ_SWE said: i am not to stupid ti play but i am stupid:D i dont need be much unstupid to only play CQ:D
WummperV2
Enlisted: 2012-05-19
2012-05-23 04:30
RustedRoot said:
Did NOT work with my 6870

^Same
sifLord1
AU Enlisted: 2011-10-27
2012-05-23 05:05
for the vast majority of users turning off timeout detection and recovery or adjusting its operating parameters, is not fixing the problem, its merely masking the symptoms of a problem ...
WummperV2
Enlisted: 2012-05-19
2012-05-23 05:09
sifLord1 said:
for the vast majority of users turning off timeout detection and recovery or adjusting its operating parameters, is not fixing the problem, its merely masking the symptoms of a problem ...

Well is there any fix to this? For me it only happens in the spawn menu,
D4ISY_CUTTER
AU Enlisted: 2011-10-26
2012-05-23 07:19
http://forum.battlelog.org/viewforum.php?f=22 [forum.battlelog.org]

World's #1 Best BF3 Support
This space intentionally left blank.
RAZORX_pk
Enlisted: 2013-07-21
2013-08-28 01:07
its confusing , i made the TdrDely in that draphic driver tab and dnt know how to edit its values, there is nothing 0x2 in any of the options