Lösung: Schwarzer Bildschirm + Driver Restore unter Vista

dender

Neuling
Thread Starter
Mitglied seit
25.07.2006
Beiträge
146
Hallo an alle, ich hab mir mal die mühe gemacht herauszufinden wieso manche Systeme unter Vista einen angeblichen Absturz des Grafik-Treibers verursachen, welcher gefolgt von einem schwarzen Bildschirm/kurzem Flackern und einer Fehlermeldung (Grafikkartentreiber wurde nach einem Fehler wiederhergestellt) gefolgt wird.

Der grund ist so simpel wie amüsant: Vista überprüft kontinuierlich wie lange das aktuelle Bild verharrt, wenn es länger als 2 Sekunden "hängt" versucht vista zuerst den treiber zu entladen, und dann die GPU zu rebooten, danach stellt es den Treiber wieder her und spuckt die Fehlermeldung aus. Diese Funktion war ursprünglich dazu gedacht ein "hängendes" System zu entschärfen. Ich habe 'hängend' in anführungszeichen gesetzt da es nur scheint zu hängen, in wirklichkeit steckt nur die GPU in einem bild fest, dies kann unterschiedliche gründe haben, zum Beispiel eine Überlastung der GPU. (Zum beispiel spielt man Crysis mit maximalen details was teilweise in 7-10fps resultieren kann, dabei kann es auch sein das 2 Sekunden lang kein neues Bild bearbeitet werden kann)

Der Sinn dahinter war, dass man nicht den PC Reseten muss um weiter arbeiten zu können.

Deaktivieren kann man diese funktion in der Windows-Registry:

Microsoft.com schrieb:
Registry Keys

The following registry keys are documented for testing purposes only. These registry keys should not be manipulated by any applications outside targeted testing or debugging.

The TDR-related registry keys are located under HKLM\System\CurrentControlSet\Control\GraphicsDrivers.•
TdrLevel: REG_DWORD. The initial level of recovery. The possible values are:•
TdrLevelOff (0). – Detection disabled.

TdrLevelBugcheck (1) – Bug check on detected timeout, for example, no recovery.

TdrLevelRecoverVGA (2) – Recover to VGA (not implemented).

TdrLevelRecover(3) – Recover on timeout. This is the default value.


TdrDelay: REG_DWORD. The number of seconds that the GPU is allowed to delay the preempt request from the scheduler. This is effectively the timeout threshold. The default value is 2.

TdrDdiDelay: REG_DWORD. The number of seconds that the operating system allows threads to leave the driver. After a specified time, the operating system bug checks the system with the code VIDEO_TDR_FAILURE (0x116). The default value is 5.

TdrTestMode: REG_DWORD: Internal test usage.

TdrDebugMode: REG_DWORD: The debugging-related behavior of the TDR process.•
TDR_DEBUG_MODE_OFF (0) breaks to kernel debugger before the recovery to allow investigation of the timeout.

TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) ignores any timeout.

TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) recovers without break into the debugger. This is the default value.

TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) recovers even if some recovery conditions are not met (for example, recovers on consecutive timeouts)

Ich habe einen Registryeintrag geschrieben welcher den timeout ignoriert (TDR_DEBUG_MODE_IGNORE_TIMEOUT (1)) und für euch an diesen Post gehängt, ich hoffe einigen geplagten leuten damit geholfen zu haben!
 

Anhänge

  • Disable_Timeoutcheck_Vista.zip
    493 Bytes · Aufrufe: 1.997
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Moin,
ist dieser fehler wirklich so selten das es niemanden intressiert :confused:

falls dem wirklich so ist dann kann der thread abgepinnt werden.
Gruss
 
der fehler war bei mir mit dem alten system sehr oft da. seit dem neuen eher ganz selten. wahrscheinlich kann eine schnelle graka das ganz gut vermeiden. deshalb merken es die mit den highendsystem wohl weniger. ich habs installiert und werde es testen.
 
ich muss sagen, dass ich keine probleme damit habe. wenn ich crysis unter vista auf mittel spiele, hat auch nur 10-15fps (7600GT :(), trotzdem is nie was dergleichen gekommen.
 
danke für die mühe. momentan spuckt mein pc diese fehlermeldungen grad' nicht aus, aber es ist auch schon öfters passiert. wenn die lage wieder schlechter wird, probier ich dein trick aus.
 
bei mir kommt das immerwiedervor, ich werds mal testen obs mit den andren Einstellungen besser läuft. Ich berrichte obs hilft.
 
Bei mir bringt der Registry-Tweak leider keinen Nutzen. Statt dem Hinweis, dass der Treiber zurückgesetzt wurde, wird nun einfach das Bild schwarz und die Kiste schmiert ab.
 
:S das ist natürlich der nachteil bei der ganzen sache, hast du dein system übertaktet? vielleicht spielt auch dein treiber bei der sache nicht mit.

ich mach mich nochmal auf der microweich seite schlau und gugg ob es da eine lösung für dich gibt.


/edit: Ok, ich hab nach dem schema aus den debug-registrykeys einen key erstellt welcher den timeout-treeshold (also die zeit in sekunden bis vista schritte einleitet) auf 10 sekunden heraufgesetzt.

Befor du das benutzen kannst gehe bitte in deine registry und lösche aus

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
den eintrag TDR_DEBUG_MODE_IGNORE_TIMEOUT

danach werden die timeouts wieder korrekt erkannt und nachdem deine grafikkarte 10 sekunden in einem bild steckt führt vista wieder die schritte bis zur fehlermeldung aus.

ich denke das ist in einigen fällen, in denen das system sonst stabil läuft ein guter kompromiss. also leute, wenn ihr beta-treiber benutzt oder einfach nicht sicher seit, benutzt den angehängten registry key
 

Anhänge

  • TDR_GFX_TIMEOUT_10SEC.zip
    496 Bytes · Aufrufe: 896
Zuletzt bearbeitet:
Ja, mein System ist übertaktet. Allerdings nicht die Grafikkarte, nur die CPU. CPU und RAM habe ich aber ausgiebig mit Prime95, Goldmemory und diversen Kompiliervorgängen erfolgreich auf Stabilität getestet.

Als Grafiktreiber nutze ich den Catalyst 7.11. Zur Zeit installiere ich das SP1 RC1 für Vista in der Hoffnung den Fehler eventuell auf diese Weise beheben zu können. Sollte das RC1 keine Abhilfe schaffen, werde ich deinen neuen Tweak testen.
 
Moin tach, kannst du bitte noch eine reg datei schreiben, die alles wieder rückgängig macht?


Oder reicht es wenn ich ein backup von dem Graphic drivers pfad mach, und ihn dann einfach wieder zurückspiele?


greetz redraw
 
Zuletzt bearbeitet:
Moin tach, kannst du bitte noch eine reg datei schreiben, die alles wieder rückgängig macht?


Oder reicht es wenn ich ein backup von dem Graphic drivers pfad mach, und ihn dann einfach wieder zurückspiele?


greetz redraw

Die sache ist die, dann müsste ich einen reg-key schreiben welcher die anderen regs löscht, und *peinlich* ich weiß nicht wie das geht.

eine andere möglichkeit waere jeden debug-registereintrag aus dem microsoft artikel mit den standartwerten zu schreiben, davon kann ich aber nicht die folgen absehen. bis ich das mache bitte die keys manuel löschen ;)
 
So, habe deine Arbeit wohl zu früh gelobt :fresse:

Leider tritt das problem immer noch auf, allerdings kurz nachdem ich auf dem Desktop bin, beim Start.
Ist aber halb so schlimm, hauptsache nicht mehr beim Spielen :d
 
das kann auch auf ein problem mit dem treiber hindeuten, alles was meine reg-keys machen ist das deaktivieren der timeout-detection ;)

gruss
 
So ich bin da grad mal über den Thread gestolpert und habe ein Problem mit meiner Kiste, welcher ggf. sogar hier rein passen würde...

Also ich hab wie in der Sig steht ne HD2900XT, welche soweit recht gut läuft. Mein Problem ist, das nach unbestimmter Zeit einfach der Treiber ein GPU Recovery ausführt, und zwar nur im 2D Modus. Wenn nur ein GPU Recovery ausgeführt wird, dann läuft idR die Kiste weiter, wenn aber der Rechner meint mehrere GPU Recoverys in wenigen Sekunden Abstand hintereinander ausführen zu müssen, dann gibts nach dem fünften/sechsten nen Bluescreen und die Kiste schmiert ab...

Das komische ist, das dieses Ereigniss sowohl Takt als auch Spannungsunabhängig ist, sprich es ist egal welchen Takt und welche Spannung ich fahre im 2D Modus, des weiteren kommt hinzu, das im 3D Modus das Problem nicht auftritt.
Auch tritt das Problem nur mit Vista auf, mit meiner XP Installation hab ich den Fehler noch nicht bemerkt.
Und als letztes, wenn es mir gelingt wärend der Recovery Prozesse Strg+Alt+Entf zu drücken, und er dann in das Menü springt, wo man sich abmelden kann oder aber auch wo man den Taskmanager öffnen kann, ist der Fehler solange unterbrochen, bist man dort irgendwas macht...


Meint ihr man könnte mein Problem mit dieser Lösung beheben!?
Denn ich muss sagen, es nervt tierisch wenn die Kiste abschmiert und man ggf. sogar grad am Arbeiten ist und seine Arbeit noch nicht gespeichert hat...

Und als letztes noch zur verfahrensweise, ich muss einfach den angehängten Key installen und dann ist das Problem weg oder hab ich da was falsch verstanden!?
 
Müßtest du schon ausprobieren, ist aber nicht ohne Risiko ;)

Heruntergeladene Datei entpacken, rechtsklick und zusammenführen.
Das wars.
 
Also ich hab wie in der Sig steht ne HD2900XT, welche soweit recht gut läuft. Mein Problem ist, das nach unbestimmter Zeit einfach der Treiber ein GPU Recovery ausführt, und zwar nur im 2D Modus. Wenn nur ein GPU Recovery ausgeführt wird, dann läuft idR die Kiste weiter, wenn aber der Rechner meint mehrere GPU Recoverys in wenigen Sekunden Abstand hintereinander ausführen zu müssen, dann gibts nach dem fünften/sechsten nen Bluescreen und die Kiste schmiert ab...

Das komische ist, das dieses Ereigniss sowohl Takt als auch Spannungsunabhängig ist, sprich es ist egal welchen Takt und welche Spannung ich fahre im 2D Modus, des weiteren kommt hinzu, das im 3D Modus das Problem nicht auftritt.
Auch tritt das Problem nur mit Vista auf, mit meiner XP Installation hab ich den Fehler noch nicht bemerkt.
Und als letztes, wenn es mir gelingt wärend der Recovery Prozesse Strg+Alt+Entf zu drücken, und er dann in das Menü springt, wo man sich abmelden kann oder aber auch wo man den Taskmanager öffnen kann, ist der Fehler solange unterbrochen, bist man dort irgendwas macht...

Das hoert sich wirklich schwer nach einem treiberproblem an, welches mit dem 2sec-timeout nichts zu tun hat. in deinem falle ist es gut das vista den treiber wiederherstellt, da er einfach nicht stabil rennt.

zieh dir mal eine catalist-version die sich bewaehrt hat (ich hab noch nie ne ati karte angefasst, also frag mich nicht xD) dann versuch im abgesichterten modus den alten treiber zu deinstallieren, dann mit drivercleaner pro drueba und den neuen drauf.

ansonsten einfach mal schauen ob eine andere ati-karte von nem kollegen stabil laeuft. falls ja _kann_ es sein das deine defekt ist.

gruss
 
Ich hatte zuletzt das Problem beim Spielen von BF2 am Ende der Runde.
Dann steht manchmal das Bild (Probleme mit der Internetverbindung) und der Treiber wird resettet.
Nachdem ich den Reg. Hack eingespielt habe, sieht es besser aus.
 
Neja das es am Treiber liegt, würd ich mal ausschließen...
Ich hab das Problem schon seit dem Cat. 7.7...
Und derzeit gibts ja schon die 7.11, die 7.12 kommt diesen Monat.

Hab auch jeden Monat den Treiber neu drauf geschmissen und den alten ordentlich deinstalliert.
Vllt muss ich doch mal Windows neu drauf schmeißen. Weil sich da irgendwas verhaspelt hat.
 
das mit dem schwarzem Bildschirm nach dem Starten, gibts das auch bei XP-Home SP2
ich habe die Radeon 2600pro oc
 
wie kann ich die reg datei eigentlich wieder zurück setzten?, einfach löschen, oder wie sieht die original reg datei aus?

Ich bin ma nicht sicher worans liegt, aber bei einigen Spieln hängt sich mein PC auf und springt danach wieder ins Windoof
 
habe immer das Problem im 3 dmark 06 die Fehlermeldung heißt immer lost device Hd 3870 x38 p5e 6600@3,0 GHz 4 gig RAM
 
Ist dieses Problem das gleiche was ihr auch habt

Wenn ich den Nvidia treiber deinstallieren will weil ein neuer raus ist, wird bei mir der Bildschirm schwarz so 5 sek. nach dem ich auf den Deinstallieren button geklickt habe und es bleibt auch schwarz, dann fängt der board an aller 8-10 sek. ein pip ton von sich zu geben.
Bis ich dann per hand auf den reset knopf drücke.

Ist denn das bei allen User mit Vista 64 bit das geliche oder habe ich wieder ein Prototyp problem ???? :wall:
 
Also ich denke mal bei den meisten wird das hier beschriebene Problem in Verbindung mit dem "nvlddmkm Error" stehn.
Ich habe das Problem nun schon seit über ein Jahr. Unter XP alles wunderbar , unter Vista ist kein 3d möglich :( .
Leider helfen mir die Tips hier auch nicht weiter.
Soweit ich weiß hengt es dabei nicht an der Graka bzw Treiber/Einstellungen, eher an den RAM.
Liest man auch immer öffters im nvidia forum...
Gibt leute bei denen das Problem ausbleibt wenn sie System nur mit einem Riegel betreiben. Ist für mich leider keine echte Alternative.
Genauso wie die Ram zu untertakten...
Habs inzwischen aufgegeben :( Schöner scheiss...
Das Problem hab ich übrigens mit vista 64 wie mit vista32.
 
Zuletzt bearbeitet:
Danke für das, habe bei Crysis diese Problem auch, wie folgt :

Bei mir ist es so, wenn sich Crysis aufhängt, wird der Bildschirm 5-10 Sekunden schwarz, dann ist das Bild wieder da (der Ton läuft die ganze Zeit weiter). Aber sobald dieser Fehler einmal auftritt, tritt er meistens alle 20 Sekunden wieder auf bis zu einem Neustart.

Hinzugefügter Post :

Sehe gerade im Ordner "GraphicsDriver" nur 2 Registry-Einträge, einmal "(Standart)" und einmal "DxgKrnlVersion", keine weiteren (siehe im folgenden Bild : ).



Was genau muss ich in der Registry nun ändern, damit dieser von mir oben in diesem Post hier beschriebene Bug nicht mehr auftritt und mein System dadurch auch nicht abstürzt, sondern weiterläuft?
Graka : Leadtek 8800 GTX , Treiber : 169.25 WHQL

Gruß
-Nap

Nachtrag :

So habe nun den Registry-Eintrag von dender eingefügt, nun ist es ganz komisch : Im Hauptverzeichnis "GraphicsDriver" ist nun ein neuer Registry-Eintrag drinne, es ist "TDR_DEBUG_MODE_IGNORE_TIMEOUT" als REG_DWORD mit dem Wert "1".
Aber als Unterverzeichnis von "GraphicsDriver" wurde ein neues Verzeichnis erstellt namens "TdrTestMode", wo ebenfalls ein Registry-Eintrag mit "TDR_DEBUG_MODE_IGNORE_TIMEOUT" als REG_DWORD mit dem Wert "1" drinne ist.

Hat das seine Richtigkeit? Denn ich raff nicht ganz, was in den Angaben steht, aber eigentlich steht TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) in den Angaben von Microsoft als Unterpunkt von TdrDebugMode und nicht von TdrTestMode, und trotzdem wurde ein Unterverzeichnis namens "TdrTestMode" erstellt, welche einen Registry-Eintrag enthält, welcher schon im Verzeichnis drüber enthalten ist. Hat das überhaupt einen Sinn, ein und den selben Registry-Eintrag in ein Verzeichnis zu packen und in das Unterverzeichnis davon nochmal die selbe?


Kenne mich nämlich mit der Registry nicht ganz so aus, deswegen frage ich lieber pingelig genau nach, weil ich nichts falsch machen will und mir nichts zerschießen will und auch wissen will, ob alles, was durch die Registry-Datei, die ich von dender geladen habe, seine Richtigkeit hat.
 
Zuletzt bearbeitet:
Ach shit, ich dacht ich haett den key nochmal richtig gemacht :S

Ja, das war mein test-key, ich wusste nicht genau ob der key noch ein unterverzeichniss braucht und wie der genau heißen soll, also hab ich einfach 2 gemacht.

wenn du den key weghaben willst lösch einfach beide "TDR_DEBUG_MODE_IGNORE_TIMEOUT" und nix anderes! alles andere ist so vom treiber und microsoft eingestellt, wenn du da was änderst kann das ins auge gehen ;)
 
Ok, habe jetzt mal tesweise einmal den Key-Eintrag von dir im Verzeichnis "GraphicsDriver" gelöscht, und ebenso das Unterverzeichnis mit dem Namen "TdrTestMode" gelöscht, indem sich der selbe Key-Eintrag befand. Will mal testen, ob das Problem direkt wieder auftritt, aber ich denke, ich habe nun alle von dir durch die Reg-Datei erstellen Keys und Verzeichnisse entfernt, oder gab es da noch zusätzliche?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh