- Identificare il driver coinvolto (nvlddmkm.sys, igdkmd64.sys, atikmdag.sys) e verificare la presenza di eventi TDR.
- Se utilizzi app professionali, dai priorità a un'installazione pulita del driver e prova la versione Studio/stabile.
- Controlla la temperatura e la potenza; impedisce la commutazione iGPU/dGPU in caso di carichi impegnativi.
- Utilizzare SFC/Startup Repair e, solo se appropriato, regolare attentamente TdrDelay.
Quando il computer si blocca nel bel mezzo di un'attività e appare la temuta schermata blu con VIDEO_TDR_FAILURE, è normale pensare che tutto si sia improvvisamente rotto; in realtà, il sistema ha provato a ripristinare la GPU dopo un crash e non ci è riuscito. Questo codice di arresto È strettamente collegato al driver grafico e al meccanismo di timeout, rilevamento e ripristino (TDR)., quindi capire come funziona è già metà della soluzione.
Nelle righe seguenti troverete una guida completa che combina la spiegazione tecnica ufficiale con procedure e trucchi pratici che funzionano in scenari reali. L'obiettivo è che siate in grado di diagnosticare, correggere e prevenire questo errore Che tu sia un utente esperto di WinDbg o preferisca i semplici passaggi di Windows.
Che cos'è VIDEO_TDR_FAILURE (0x00000116) e perché appare?
L'errore VIDEO_TDR_FAILURE corrisponde a controllo bug 0x00000116 e indica che Windows ha tentato di reimpostare il driver video e la GPU dopo un timeout, senza successo. Il sottosistema grafico di Windows monitora la GPU con TDR: se la GPU si blocca e non risponde, tenta di riavviare il driver per ripristinare il desktop.
Questo meccanismo TDR ha un timer predefinito di circa 2 secondi: se l'attività grafica non termina in tempo o il riavvio del driver non viene completato, viene attivato il controllo degli errori.
Una volta completato il processo di ripristino, verrà visualizzato il messaggio "Il driver dello schermo ha smesso di rispondere ed è stato ripristinato". Quando non riesce a recuperare, il sistema interrompe l'esecuzione e visualizza la schermata blu con VIDEO_TDR_FAILURE.
Parametri di bugcheck e come interpretarli
Oltre al codice 0x116, la schermata blu e i dump della memoria includono quattro parametri che aiutano a individuare la fonte esatta dell'errore VIDEO_TDR_FAILURE. Conoscere il significato di ciascun parametro guida la diagnosi e velocizza la soluzione.:
| parametro | Descrizione |
|---|---|
| 1 | Puntatore al contesto di ripristino TDR interno (TDR_RECOVERY_CONTEXT), se presente. |
| 2 | Indirizzo all'interno del modulo del conducente responsabile (utilizzato per identificare il conducente coinvolto). |
| 3 | Codice NTSTATUS dell'ultima operazione non riuscita, se disponibile. |
| 4 | Dati interni dipendenti dal contesto, disponibili in determinati scenari. |
Nelle tracce reali, di solito è coinvolto un file .sys del driver grafico: ad esempio, nvlddmkm.sys (NVIDIA), igdkmd64.sys (Intel) o atikmdag.sys/atikmpag.sys (AMD/ATI). Questo indizio è fondamentale: indica il provider e il percorso del driver che causano l'arresto anomalo..
Perché succede: cause tipiche nel mondo reale
Il modello più comune è che la GPU rimane impegnata per troppo tempo sotto un carico pesante (giochi, CAD, decodifica o rendering) e non risponde in modo tempestivo. Da lì, I fattori scatenanti più comuni sono:
- Driver obsoleti o difettosi:
- Conflitti tra GPU integrata e dedicata.
- Surriscaldamento
Oltre al software, anche l'hardware gioca un ruolo quando si tratta dell'errore VIDEO_TDR_FAILURE: moduli di memoria con temporizzazione aggressiva, schede madri overcloccate, alimentazione/potenza insufficiente, VRAM/GPU degradate o scarso raffreddamento nei laptop compatti. Se l'apparecchiatura funziona a temperature o potenza molto basse, il TDR scatta prima e più frequentemente..
Ci sono anche fattori ambientali: troppi processi in background competono per le risorse, Aggiornamenti recenti installati in modo errato o pacchetti grafici (DirectX, OpenGL, Vulkan) obsoleti. Un sistema con un carico di lavoro elevato e componenti grafici disallineati è un candidato perfetto per questo bugcheck.

Diagnostica con WinDbg e log: come identificare il colpevole
Se gestisci dump di memoria (minidump), WinDbg ti consentirà di confermare il driver responsabile e la causa immediata dell'errore VIDEO_TDR_FAILURE. Il comando di intestazione è !analyze -v, che genera il riepilogo del bugcheck, il modulo coinvolto e l'ultimo NTSTATUS.
kd> !analyze -v
VIDEO_TDR_FAILURE (116)
Attempt to reset the display driver and recover from timeout failed.
Arguments:
Arg1: <puntero TDR_RECOVERY_CONTEXT>
Arg2: <dirección en el módulo responsable>
Arg3: <código NTSTATUS último>
Arg4: <datos de contexto>
A partire dal parametro 2, è possibile elencare il modulo con lmvm e controllare timestamp, percorso e dimensione. Se viene visualizzato nvlddmkm.sys o un file equivalente, hai già individuato il tuo principale sospettato..
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
Con il parametro 1, se presente, è possibile esaminare TDR_RECOVERY_CONTEXT e vedere il motivo del timeout promosso al riavvio dell'adattatore. Ciò aiuta a distinguere un semplice blocco della pipeline da un errore di ripristino ripetuto..
kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT <puntero>
+0x010 TimeoutReason : TdrEngineTimeoutPromotedToAdapterReset
...
Infine, la traccia dello stack con k/kb/kp mostra il percorso del codice che culmina in KeBugCheckEx, con le funzioni dxgkrnl e dxgmms1 tipiche del flusso TDR. Uno stack "pulito" verso TdrResetFromTimeout conferma che si tratta di un TDR autentico, non di un problema generale del kernel.
kd> k
# Child-SP RetAddr Call Site
00 ... nt!KeBugCheckEx
01 ... dxgkrnl!TdrBugcheckOnTimeout
02 ... dxgkrnl!ADAPTER_RENDER::Reset
03 ... dxgkrnl!DXGADAPTER::Reset
04 ... dxgkrnl!TdrResetFromTimeout
05 ... dxgmms1!VidSchiRecoverFromTDR
...
Fasi della soluzione: da base ad avanzato
Prima di aprire l'editor del registro o di eseguire i debugger, concentrati sulle metriche con il miglior rapporto sforzo/impatto. Inizia con i driver, poi passa alla pulizia/reinstallazione e, se il problema persiste, esegui modifiche avanzate e verifica dell'hardware..
1) Aggiornare correttamente il driver grafico e il chipset
Driver grafici obsoleti o difettosi sono la causa più comune dei TDR. Vai in Gestione dispositivi, espandi "Schede video", fai clic con il pulsante destro del mouse sulla GPU e seleziona "Aggiorna driver". Ancora meglio: scarica la versione consigliata per il tuo modello dal sito Web ufficiale NVIDIA/Intel/AMD..
Se utilizzi NVIDIA con software professionale (CAD, editing, 3D), prova i driver Studio anziché i driver Game Ready. Sui laptop con Intel iGPU + NVIDIA dGPU, installare anche l'ultimo pacchetto Intel e il chipset del produttore del computer.
2) Reinstallazione pulita del driver (DDU)
Quando gli aggiornamenti "da banco" non sono sufficienti, è consigliabile eliminare i residui del driver precedente. Lo strumento Display Driver Uninstaller (DDU) rimuove componenti del driver, servizi e voci di registro. Si consiglia di eseguirlo in modalità provvisoria e quindi installare il driver appena scaricato..
Sequenza tipica: modalità provvisoria, DDU “Pulisci e riavvia”, avvio normale di Windows e installazione del driver scaricato dal sito Web del produttore. Questo processo evita conflitti di versione e file danneggiati che il programma di installazione standard non sempre risolve..
3) Prova una versione stabile precedente
Occasionalmente, l'ultima versione introduce una regressione. In tal caso, utilizzare il "Driver precedente" (se disponibile) o installare manualmente una versione stabile precedente. Con le GPU NVIDIA, molti problemi TDR in CAD scompaiono quando si torna a un driver Studio precedente..
Per l'installazione manuale, utilizzare "Cerca il software del driver nel computer" e "Scegli manualmente da un elenco di driver disponibili", selezionando la build precedente per la GPU. Riavviare al termine per convalidare la modifica.
4) Riparare i file di sistema con SFC
Se il problema si è verificato dopo un aggiornamento o un'installazione non riuscita, esegui Controllo file di sistema. Apri CMD come amministratore ed esegui sfc /scannow. Windows controllerà i file binari protetti e sostituirà automaticamente quelli danneggiati..
sfc /scannow
Al termine, riavvia e prova nuovamente a caricare la scheda grafica consueta per verificare se il TDR è scomparso. Se SFC ripara i file, è un buon segno che si è verificato un danneggiamento del sistema che ha influito sullo stack grafico..
5) Ripristino all'avvio di Windows
Se TDR appare ripetutamente dopo l'accesso o quando si aprono le stesse app, eseguire Ripristino all'avvio andando su Impostazioni > Aggiornamento e sicurezza > Ripristino > Avvio avanzato > Risoluzione dei problemi > Opzioni avanzate > Ripristino all'avvio. Windows tenterà di riparare i servizi e i componenti di avvio che non vengono caricati correttamente..
Dopo la riparazione, testare l'apparecchiatura con lo stesso schema di utilizzo che ha causato il guasto. Se smette di funzionare, si è verificato un problema di avvio parziale o dipendenze danneggiate.
6) Modalità provvisoria e reinstallazione del driver
La modalità provvisoria carica i driver minimi e consente la disinstallazione/reinstallazione senza interruzioni. Selezionare "Avvio provvisorio" in msconfig o accedervi da Avvio avanzato e, una volta lì, disinstallare l'adattatore in Gestione dispositivi. Quindi installare il nuovo driver scaricato dal produttore.
Nei computer con due GPU, disinstallarle e reinstallarle separatamente: prima quella integrata (Intel), poi quella dedicata (NVIDIA/AMD). Ciò impedisce a Windows di reinserire un generico inappropriato nel frattempo..
7) Riparazione di file driver specifici (AMD/NVIDIA)
Sulle GPU AMD/ATI, in alcuni casi la rigenerazione di atikmdag.sys o atikmpag.sys risolve il problema. Rinominare il file C:\Windows\System32\drivers aggiungendo .old ed espandendolo dal pacchetto del produttore. Il comando expand crea il nuovo file .sys che verrà poi copiato nella cartella dei driver..
expand.exe atikmdag.sy_ atikmdag.sys
expand -r atikmdag.sy_ atikmdag.sys
Per NVIDIA, l'idea è analoga a nvlddmkm.sys: dopo la disinstallazione, rinominare nvlddmkm.sys in .old, espandere NVLDDMKM.Sy_ e copiare il file .sys generato in System32\DRIVERS. Questa sostituzione rimuove i file corrotti che sopravvivono alle installazioni di Surface.
Expand.exe NVLDDMKM.Sy_ NVLDDMKM.Sys
8) Disattivare temporaneamente l'iGPU Intel in caso di conflitti
Se si utilizza una GPU dedicata come GPU principale (ad esempio, NVIDIA), disattivare Intel HD/UHD in Gestione dispositivi per escludere problemi di commutazione. Su alcuni laptop, il passaggio automatico attiva i TDR quando si spostano le app tra iGPU/dGPU.
Ancora più raffinato: nel pannello di controllo NVIDIA, assegna la dGPU specifica alle applicazioni più esigenti (acad.exe, giochi) e lascia il resto in automatico. In questo modo si riducono al minimo le modifiche all'adattatore durante l'apertura/chiusura delle finestre ed si evitano i ripristini del contesto grafico..
9) Controllare l'hardware e le temperature
Controlla le temperature con uno strumento affidabile: se la GPU supera le soglie e subisce dei throttle, compariranno dei TDR. Pulisci la polvere, sostituisci la pasta termica se necessario e assicurati una buona ventilazione. Nei computer portatili, un tappetino di raffreddamento può fare la differenza durante le sessioni più lunghe..
Convalida la RAM (Windows Memory Diagnostic Tool) e la stabilità del sistema senza overclocking. Impostazioni di memoria aggressive o limiti di tensione causano instabilità sotto carico grafico. La stabilità di CPU/RAM/VRM è importante tanto quanto la GPU stessa..
10) Impostazioni TDR avanzate (con cautela)
Per carichi di lavoro pesanti che richiedono legittimamente più tempo, aumentare il valore di TdrDelay potrebbe essere utile. Percorso: HKLM\System\CurrentControlSet\Control\GraphicsDrivers. Creare/impostare il valore DWORD a 32 bit TdrDelay su 8–10 e riavviare. Ciò non risolve il problema dei driver difettosi, ma offre maggiore margine di manovra prima di dichiarare un timeout..
Utilizzalo solo se hai già aggiornato/pulito i driver e controllato i parametri termici; se il problema è il driver, estendere il tempo non fa altro che posticipare il BSOD. Se dopo aver aumentato TdrDelay gli arresti anomali persistono, tornare a 2 e correggere la radice.
Lista di controllo rapida prima di considerare il problema risolto
Per essere certi di aver risolto il problema VIDEO_TDR_FAILURE, è necessario eseguire i seguenti controlli:
- Verificare che gli eventi TDR ripetuti non vengano più visualizzati nel Visualizzatore eventi durante una sessione lunga con il carico abituale. Se si trascorrono 30-60 minuti senza TDR in condizioni reali, la soluzione è solida..
- Esegui un test di stress moderato (benchmark grafico o scena complessa nella tua app) monitorando le temperature. Una scheda grafica stabile mantiene clock costanti senza limitazioni o errori..
- Crea una copia del driver sicuramente funzionante (e prendi nota della versione) in modo da poter ripristinare rapidamente la versione precedente se un futuro aggiornamento dovesse riproporre il problema. La prevenzione consente di risparmiare ore quando è il momento di effettuare un nuovo aggiornamento..
Sebbene l'errore VIDEO_TDR_FAILURE sia preoccupante, di solito può essere risolto applicando l'ordine e il metodo: driver corretto, installazione pulita, controllo termico e, se necessario, regolazione fine del TDR. Grazie a questa combinazione, le attività creative, i giochi e il CAD tornano a funzionare senza problemi..
Editor specializzato in questioni tecnologiche e Internet con più di dieci anni di esperienza in diversi media digitali. Ho lavorato come redattore e creatore di contenuti per aziende di e-commerce, comunicazione, marketing online e pubblicità. Ho scritto anche su siti web di economia, finanza e altri settori. Il mio lavoro è anche la mia passione. Ora, attraverso i miei articoli in Tecnobits, cerco di esplorare tutte le novità e le nuove opportunità che il mondo della tecnologia ci offre ogni giorno per migliorare la nostra vita.

