nvlddmkm, ID události 13 a pády nvlddmkm.sys: resety ovladače a TdrDelay

Událost 13 od nvlddmkm zapisuje ovladač displeje NVIDIA; Display 4101 znamená, že ho Windows resetoval. Vyšší TdrDelay jen prodlouží každé zamrznutí.

nvlddmkm je název služby ovladače displeje od NVIDIA, nvlddmkm.sys, takže ID události 13 se zdrojem nvlddmkm je záznam, který ten ovladač sám zapisuje do protokolu Systém, a událost 4101 od Display ve stejnou dobu znamená, že ovladač přestal odpovídat a Windows ho resetoval. Zvýšení TdrDelay neopraví ani jedno: Microsoft říká, že koncoví uživatelé by klíče registru TDR měnit neměli, a delší prodleva jen déle drží zaseknutý obraz zamrzlý, než přijde reset. w0a žádnou z těchto hodnot nezapisuje; jeho karta Obnova po pádu GPU je maže, aby znovu platily výchozí hodnoty Windows.

Co jsou nvlddmkm, ID události 13 a ID události 4101

nvlddmkm.sys je část ovladače displeje od NVIDIA, která běží v režimu jádra: vlastnosti samotného souboru ho popisují jako „NVIDIA Windows Kernel Mode Driver“ a Windows ho spouští jako službu nvlddmkm. Události, které ovladač zapisuje do protokolu Systém, nesou tento název služby jako zdroj.

ID události něco znamená jen spolu se svým zdrojem. U zdroje Display je 4101 vlastní záznam Windows o resetu ovladače. Jiné zdroje používají stejné číslo: na počítači, na kterém se tyto řádky ověřovaly, definuje 24 dalších zdrojů protokolu Systém, mezi nimi Tcpip a Dnscache, vlastní 4101. U nvlddmkm je 13 číslo, které si ovladač NVIDIA zvolil sám pro sebe.

Windows tu 13 neumí popsat jednou větou. Na počítači, na kterém se tento návod ověřoval, s ovladačem NVIDIA 621.01, nemá zdroj nvlddmkm zaregistrovaný žádný soubor zpráv, takže Prohlížeč událostí hlásí, že nemůže najít popis ID události, a pak vypíše text, který ovladač přiložil, ať je jakýkoli. Ani dokumentace Microsoftu k TDR ID od NVIDIA neuvádí, takže tento návod význam nehádá: opřít se můžeš o text ovladače a čas.

Zato Display 4101 je vypsaná slovy. Její text zní „Ovladač zobrazení … přestal odpovídat a byl úspěšně obnoven.“, se jménem ovladače na místě výpustky.

Co je reset ovladače

Microsoft tomuto mechanismu říká detekce a obnovení po vypršení časového limitu (TDR, Timeout Detection and Recovery). Když GPU nedokáže svou aktuální úlohu v časovém limitu ani dokončit, ani přerušit, operační systém usoudí, že GPU zamrzla, a Windows grafickou kartu resetuje, aby celý systém nepřestal reagovat. Výchozí časový limit jsou dvě sekundy. Po úspěšném obnovení Windows zobrazí zprávu, že ovladač displeje přestal odpovídat a byl obnoven, a zapíše ji do Prohlížeče událostí.

Reset tím ne vždy končí:

Najdi události v Prohlížeči událostí

  1. Stiskni Windows + R, napiš eventvwr.msc a stiskni Enter.
  2. V levém podokně otevři Protokoly systému Windows a vyber Systém.
  3. Klikni na záhlaví sloupce Zdroj, aby se seznam seřadil; záznamy Display a nvlddmkm teď stojí každý ve vlastním bloku.
  4. Vyber záznam a přečti kartu Obecné pod seznamem, spolu s jeho časem a polem ID události.

PowerShell vypíše stejný seznam jedním řádkem, od nejnovějších:

Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Display', 'nvlddmkm' } -MaxEvents 30 | Format-Table TimeCreated, ProviderName, Id -AutoSize

Když PowerShell odpoví, že žádné události nenašel, nemá ani jeden z obou zdrojů v protokolu Systém žádný záznam a tahle stránka není tvoje stopa: Proč mi spadla hra? rozebírá ostatní záznamy.

Jak číst, co jsi našel

Čti časy vedle sebe. Display 4101 ve chvíli, kdy obraz zčernal a vrátil se, je reset, který zabral. Záznam nvlddmkm ve stejné minutě patří ke stejnému incidentu. Několik 4101 během jedné minuty a po nich restart odpovídají pravidlu „pět za minutu“ výše a od výpisu paměti té modré obrazovky pokračuje Proč mi spadla hra?.

Co zkontrolovat, jednu změnu po druhé

Řešení Microsoftu pro 0x116 začíná ovladačem a pak vyjmenovává hardware: přetaktované komponenty, nesprávnou kompatibilitu a nastavení komponent (zejména konfiguraci a časování paměti), nedostatečné chlazení, nedostatečné napájení a vadné díly. Po každém kroku testuj, abys věděl, která změna rozhodla.

  1. Přeinstaluj ovladač načisto. Podle Microsoftu může být potřeba nainstalovat nejnovější aktualizace ovladače displeje, aby správně podporoval proces TDR. V NVIDIA app otevři Ovladače, u nainstalovaného ovladače zvol Přeinstalovat, vyber Vlastní instalace a zaškrtni Čistá instalace, která podle aplikace „Obnoví všechna nastavení a profily ovladače na výchozí hodnoty“. Čistá instalace pro stabilní 1% low provede celou přeinstalací ovladače, včetně Display Driver Uninstaller.
  2. Sundej přetaktování z grafické karty. Zapni Režim ladění v části Systém > Rozšířené v NVIDIA app; podle aplikace „Z jednotky GPU odebere veškeré aktuálně použité přetaktování (uživatelské a/nebo tovární), a to až do restartování systému.“ Pokud jsi ve w0a použil posun, Obnovit výchozí na jeho stránce Grafická karta vrátí tovární hodnoty.
  3. Otestuj paměť ve výchozím nastavení. Konfigurace a časování paměti jsou na seznamu Microsoftu, takže profil XMP nebo EXPO či ručně nastavené časování stojí za jeden test bez nich. Běží tvoje RAM na plnou rychlost? ukazuje, jak zkontrolovat profil a otestovat moduly.
  4. Zkontroluj chlazení a napájení. Sleduj teplotu GPU pod zátěží podle návodu Teploty CPU a GPU při hraní; pokud se počítač navíc sám vypíná, stranu napájení rozebírá Počítač se při hraní restartuje nebo vypne.
  5. Aktualizuj hru. Kontrolní seznam Microsoftu žádá, aby aplikace náročné na grafiku (například hry) měly nainstalované všechny opravy.

Proč w0a nikdy nezapisuje TdrDelay ani TdrLevel

Změnit prodlevu TDR znamená zvýšit TdrDelay nad výchozí hodnotu; vypnout TDR znamená nastavit TdrLevel na 0. Přehled klíčů registru TDR od Microsoftu je k oběma jasný: klíče jsou jen pro testování a ladění během vývoje ovladačů a koncoví uživatelé by s těmito klíči registru neměli manipulovat („End users shouldn't manipulate these registry keys.“).

Co obě hodnoty dělají, plyne ze stejné stránky. TdrDelay je v praxi práh časového limitu, ve výchozím stavu dvě sekundy: zaseknutá karta se resetuje až po uplynutí této doby, takže vyšší číslo zaseknutí nezastaví, jen déle drží obraz zamrzlý před resetem. TdrLevel 0 je v tabulce Microsoftu uvedeno jako „Detection disabled“ (detekce vypnuta): Windows zaseknutí přestane zaznamenávat, takže kartu nic neresetuje.

w0a nezapisuje žádnou hodnotu TDR: TdrDelay a TdrLevel jsou na jeho seznamu zákazů, který neobejde ani obnovení ze zálohy. Důvodem je skutečný stroj: starší verze w0a zvyšovaly TdrDelay na 10 sekund a tam tyto klíče zamrazovaly CS2. w0a dělá opak.

Karta Obnova po pádu GPU na stránce Fix maže TdrLevel, TdrDelay, TdrDdiDelay, TdrLimitCount a TdrLimitTime pod HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers. Bez těchto hodnot běží Windows na svých výchozích hodnotách: obnovení zapnuto, časový limit 2 sekundy, 5 sekund pro TdrDdiDelay a pět povolených resetů během 60 sekund. Kartu najdeš, když do vyhledávacího pole stránky napíšeš tdr. Pokud něco smazala, požádá o restart, a pokud nebylo co mazat, řekne to.

Karta nezabrání tomu, aby se GPU zasekla. Vrací na místo vlastní záchranu Windows a příčina je pořád jedna z kontrol výše.

Detektiv trhání počítá události Display 4101 za posledních 24 hodin a varuje, když TdrLevel 0 vypnulo obnovení.

Časté dotazy

Co znamená ID události 13 od nvlddmkm?

Je to záznam, který ovladač displeje od NVIDIA zapsal pod svým vlastním zdrojem, a Windows k němu nemá vlastní popis. Přečti text, který ovladač přiložil, na kartě Obecné a hledej Display 4101 ve stejné minutě: pokud tam je, ovladač byl resetován a platí kontroly výše.

Je nvlddmkm.sys rozbitý, když ho modrá obrazovka jmenuje?

Ne nutně. Vlastní příklad Microsoftu k VIDEO_TDR_FAILURE jmenuje nvlddmkm.sys a příčiny, které Microsoft vyjmenovává, sahají od ovladače přes přetaktování, nastavení paměti, chlazení a napájení až po vadné díly. U ovladače jmenovaného v kontrole chyb Microsoft radí ověřit si u jeho výrobce aktualizace ovladače.

Mám zvýšit TdrDelay, aby pády přestaly?

Ne. Microsoft říká, že koncoví uživatelé by ho měnit neměli, a delší TdrDelay jen nechá Windows déle čekat, než zaseknutou kartu resetuje. Pokud ho zvýšil nějaký starší nástroj, karta Obnova po pádu GPU ho smaže.

Můžu vypnout TDR přes TdrLevel 0?

Můžeš, a právě v tom je problém: Microsoft uvádí 0 jako „Detection disabled“ (detekce vypnuta). Windows pak zaseknutí vůbec nezjistí, takže kartu neresetuje, a reset přitom existuje proto, aby celý systém nepřestal reagovat.

Proč hra zůstane černá, když se obraz vrátí?

Microsoft upozorňuje, že některé starší aplikace DirectX mohou na konci tohoto obnovení vykreslovat jen černou a je třeba je restartovat. Restartuj hru; pokud resety pokračují, projdi kontroly výše popořadě.

Související

Autor: w0a, projekt, který aplikaci vyvíjí. Článek se zveřejní až poté, co projdou automatické kontroly webu, a datum nahoře je den, kdy se jeho text naposledy změnil.

Když se anticheat nespustí, takhle ověříš Secure Boot a TPM 2.0 a zapneš je, aniž by tě BitLocker zamkl: Secure Boot a TPM 2.0 pro anticheat (VALORANT, FACEIT): jak je ověřit a zapnout

Zkouška Pro na 3 dny se aktivuje přímo v aplikaci přes Discord, bez karty: Jak funguje zkušební verze zdarma

w0a nezmění žádné nastavení Windows, dokud o to nepožádáš, a tweak si před zápisem nové hodnoty uloží tu starou. Upozornit mě

Pomohla ti tahle stránka?

Co chybělo, nebo co nefungovalo? Čteme každou jednu takovou zprávu.

Odešle se jen to, co napíšeš, spolu s názvem této stránky. Náš server si kvůli omezení zneužívání zaznamená i IP adresu připojení a smaže ji spolu s hlášením. Pokud ti ještě nebylo 16, toto pole prosím nepoužívej. Zásady ochrany soukromí

Jestli tahle stránka problém nevyřešila, napiš nám — uveď, který článek jsi četl, a my ten článek opravíme.