- Identifica el controlador implicado (nvlddmkm.sys, igdkmd64.sys, atikmdag.sys) y revisa eventos TDR.
- Prioriza instalación limpia del driver y prueba versión Studio/estable si usas apps profesionales.
- Controla térmicas y energía; evita conmutaciones iGPU/dGPU en cargas exigentes.
- Usa SFC/Reparación de inicio y, solo si procede, ajusta TdrDelay con cautela.
Cuando el equipo se bloquea en plena faena y aparece la temida pantalla azul con VIDEO_TDR_FAILURE, lo normal es pensar que todo se ha roto de golpe; en realidad, el sistema ha intentado recuperar la GPU tras un bloqueo y ha fallado. Este código de detención está íntimamente ligado al controlador gráfico y al mecanismo de tiempo de espera, detección y recuperación (TDR), por lo que entender cómo funciona es la mitad de la solución.
En las siguientes líneas encontrarás una guía completa que combina la explicación técnica oficial con procedimientos de campo y trucos que funcionan en escenarios reales. El objetivo es que puedas diagnosticar, corregir y prevenir este error tanto si eres usuario avanzado con WinDbg como si prefieres pasos sencillos desde Windows.
Qué es VIDEO_TDR_FAILURE (0x00000116) y por qué aparece
El error VIDEO_TDR_FAILURE corresponde al bugcheck 0x00000116 e indica que Windows intentó restablecer el controlador de vídeo y la GPU tras un tiempo de espera y no lo consiguió. El subsistema gráfico de Windows vigila la GPU con TDR: si la GPU se atasca y no responde, intenta reiniciar el controlador para recuperar el escritorio.
Ese mecanismo TDR tiene un temporizador predeterminado de unos 2 segundos: si la tarea gráfica no termina a tiempo o no se completa el reinicio del controlador, se lanza la comprobación de errores.
Cuando el proceso de recuperación sí sale bien, verás el aviso “El controlador de pantalla dejó de responder y se recuperó”. Cuando no se recupera, el sistema detiene la ejecución y muestra la pantalla azul con VIDEO_TDR_FAILURE.
Parámetros del bugcheck y cómo interpretarlos
Además del código 0x116, la pantalla azul y los volcados de memoria incluyen cuatro parámetros que ayudan a depurar el origen exacto del error VIDEO_TDR_FAILURE. Conocer qué significa cada parámetro orienta el diagnóstico y acelera la solución:
Parámetro | Descripción |
---|---|
1 | Puntero al contexto interno de recuperación TDR (TDR_RECOVERY_CONTEXT), cuando está presente. |
2 | Dirección dentro del módulo de controlador responsable (sirve para identificar el driver implicado). |
3 | Código NTSTATUS de la última operación que falló, si se dispone de él. |
4 | Datos internos dependientes del contexto, disponibles en determinados escenarios. |
En las trazas reales suele verse implicado un archivo .sys del controlador gráfico: por ejemplo, nvlddmkm.sys (NVIDIA), igdkmd64.sys (Intel) o atikmdag.sys/atikmpag.sys (AMD/ATI). Esa pista es clave: apunta al proveedor y a la ruta del controlador que está causando el bloqueo.
Por qué ocurre: causas típicas en el mundo real
El patrón más habitual es que la GPU se quede ocupada demasiado tiempo con una carga pesada (juegos, CAD, decodificación o render) y no responda a tiempo. A partir de ahí, los detonantes más comunes son:
- Controladores desactualizados o defectuosos:
- Conflictos entre la GPU integrada y la dedicada.
- Sobrecalentamiento.
Más allá del software, el hardware también cuenta cuando hablamos del error VIDEO_TDR_FAILURE: módulos de memoria con tiempos agresivos, placas con overclock, fuente/potencia insuficiente, VRAM/GPU degradadas o una refrigeración pobre en portátiles compactos. Si el equipo va muy justo de temperatura o energía, el TDR salta antes y con más frecuencia.
También hay factores de entorno: demasiados procesos en segundo plano compitiendo por recursos, actualizaciones recientes mal instaladas o paquetes de gráficos (DirectX, OpenGL, Vulkan) sin actualizar. Un sistema con carga de fondo alta y componentes gráficos desalineados es un candidato perfecto para este bugcheck.
Diagnóstico con WinDbg y registros: cómo identificar el culpable
Si manejas volcados de memoria (minidumps), WinDbg te permitirá confirmar el driver responsable y la causa inmediata del error VIDEO_TDR_FAILURE. El comando de cabecera es !analyze -v, que genera el resumen del bugcheck, el módulo implicado y el último 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 partir del parámetro 2, puedes listar el módulo con lmvm y revisar marca de tiempo, ruta y tamaño. Si aparece nvlddmkm.sys o equivalente, ya tienes a tu principal sospechoso.
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
Con el parámetro 1, cuando existe, es posible examinar el TDR_RECOVERY_CONTEXT y ver la razón del tiempo de espera promovida a reinicio del adaptador. Esto ayuda a diferenciar un simple cuelgue de pipeline de un fallo repetido de reset.
kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT <puntero>
+0x010 TimeoutReason : TdrEngineTimeoutPromotedToAdapterReset
...
Por último, la traza de pila con k/kb/kp muestra la ruta de código que culmina en KeBugCheckEx, con funciones de dxgkrnl y dxgmms1 típicas del flujo TDR. Una pila “limpia” hacia TdrResetFromTimeout confirma que es un TDR genuino, no un problema de kernel general.
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
...
Pasos de solución: desde lo básico hasta lo avanzado
Antes de abrir el editor del registro o ejecutar depuradores, céntrate en las medidas con mejor relación esfuerzo/impacto. Empieza por los controladores, luego pasa a limpieza/reinstalación y, si sigue igual, aborda ajustes avanzados y verificación de hardware.
1) Actualiza correctamente el controlador gráfico y el chipset
Los controladores gráficos obsoletos o con bugs son la causa más frecuente de TDRs. Ve al Administrador de dispositivos, despliega Adaptadores de pantalla, clic derecho sobre tu GPU y elige “Actualizar controlador”. Mejor aún: descarga desde la web oficial de NVIDIA/Intel/AMD la versión recomendada para tu modelo.
Si usas NVIDIA con software profesional (CAD, edición, 3D), prueba los controladores Studio en lugar de los Game Ready. En portátiles con iGPU Intel + dGPU NVIDIA, instala también el último paquete de Intel y el chipset del fabricante del equipo.
2) Reinstalación limpia del controlador (DDU)
Cuando las actualizaciones “por encima” no bastan, conviene limpiar restos del controlador anterior. La herramienta Display Driver Uninstaller (DDU) elimina componentes, servicios y entradas de registro del driver. Se recomienda ejecutarla en Modo seguro y después instalar el controlador recién descargado.
Secuencia típica: modo seguro, DDU “Limpiar y reiniciar”, iniciar Windows normal y, acto seguido, instalar el controlador bajado de la web del fabricante. Este proceso evita conflictos de versiones y archivos corruptos que el instalador estándar no siempre resuelve.
3) Probar una versión anterior estable
Ocasionalmente, la última versión introduce una regresión. En ese caso, usa “Controlador anterior” (si está disponible) o instala manualmente una versión previa estable. Con GPU NVIDIA, muchas incidencias TDR en CAD desaparecen al retroceder a un controlador Studio anterior.
En la instalación manual, usa “Buscar software de controlador en el equipo” y “Elegir en una lista de controladores disponibles”, seleccionando la compilación anterior para tu GPU. Reinicia al terminar para validar el cambio.
4) Reparar archivos de sistema con SFC
Si el problema llegó tras una actualización o una instalación defectuosa, ejecuta el Comprobador de archivos de sistema. Abre CMD como administrador y lanza sfc /scannow. Windows verificará los binarios protegidos y reemplazará los dañados automáticamente.
sfc /scannow
Al finalizar, reinicia y prueba de nuevo tu carga gráfica habitual para comprobar si el TDR ha desaparecido. Si SFC repara archivos, es buena señal de que había corrupción de sistema influyendo en el stack gráfico.
5) Reparación de inicio de Windows
Si el TDR aparece reiteradamente nada más iniciar sesión o al abrir las mismas apps, ejecuta la Reparación de inicio desde Configuración > Actualización y seguridad > Recuperación > Inicio avanzado > Solucionar problemas > Opciones avanzadas > Reparación de inicio. Windows intentará corregir servicios y componentes de arranque que no cargan correctamente.
Tras la reparación, prueba el equipo con el mismo patrón de uso que desencadena el fallo. Si deja de reproducirse, era un problema de arranque parcial o dependencias dañadas.
6) Modo seguro y reinstalación del driver
El Modo seguro carga los controladores mínimos y permite desinstalar/reinstalar sin interferencias. Marca “Arranque seguro” en msconfig o entra desde Inicio avanzado y, una vez dentro, desinstala el adaptador en el Administrador de dispositivos. Después, instala el controlador fresco descargado del fabricante.
En equipos con dos GPUs, desinstala y reinstala por separado: primero la integrada (Intel), luego la dedicada (NVIDIA/AMD). Así evitas que Windows reinyecte un genérico inadecuado entre medias.
7) Reparación específica de archivos del controlador (AMD/NVIDIA)
En GPU AMD/ATI, hay casos en los que regenerar atikmdag.sys o atikmpag.sys resuelve. Renombra el archivo de C:\Windows\System32\drivers añadiendo .old y expándelo desde el paquete del fabricante. El comando expand crea el .sys nuevo que luego copias a la carpeta de drivers.
expand.exe atikmdag.sy_ atikmdag.sys
expand -r atikmdag.sy_ atikmdag.sys
Para NVIDIA, la idea es análoga con nvlddmkm.sys: tras desinstalar, renombrar nvlddmkm.sys a .old, expande NVLDDMKM.Sy_ y copia el .sys generado a System32\DRIVERS. Este reemplazo elimina archivos corruptos que sobreviven a instalaciones superficiales.
Expand.exe NVLDDMKM.Sy_ NVLDDMKM.Sys
8) Desactivar temporalmente la iGPU Intel si hay conflictos
Si utilizas GPU dedicada como principal (p. ej., NVIDIA), desactiva la Intel HD/UHD en el Administrador de dispositivos para descartar conmutaciones problemáticas. En algunos portátiles, el autoswitching dispara TDRs al mover apps entre iGPU/dGPU.
Más fino aún: en el Panel de control de NVIDIA, asigna la dGPU específica a las aplicaciones exigentes (acad.exe, juegos), y deja resto en automático. Así minimizas cambios de adaptador al abrir/cerrar ventanas y evitas resets de contexto gráfico.
9) Revisa hardware y térmicas
Comprueba temperaturas con una herramienta fiable: si la GPU supera umbrales y estrangula, aparecerán TDRs. Limpia polvo, renueva pasta térmica si procede y asegura buena ventilación. En portátiles, una base refrigeradora puede marcar la diferencia en sesiones largas.
Valida la RAM (Herramienta de diagnóstico de memoria de Windows) y la estabilidad del sistema sin overclock. Ajustes de memoria agresivos o voltajes límite provocan inestabilidad bajo carga gráfica. La estabilidad de CPU/RAM/VRM es tan importante como la de la propia GPU.
10) Ajustes TDR avanzados (con cautela)
Para workloads pesados que legítimamente tardan algo más, elevar TdrDelay puede ayudar. Ruta: HKLM\System\CurrentControlSet\Control\GraphicsDrivers. Crea/ajusta DWORD (32 bits) TdrDelay a 8–10 y reinicia. Esto no arregla controladores malos, pero da más margen antes de declarar tiempo de espera.
Úsalo solo si ya has actualizado/limpiado controladores y verificado térmicas; si el driver es el problema, alargar el tiempo solo pospone la BSOD. Si tras ampliar TdrDelay siguen los cuelgues, vuelve a 2 y corrige la raíz.
Checklist rápido antes de dar el problema por resuelto
Para estar seguros de aber resuelto el problema con VIDEO_TDR_FAILURE, hay que realizar estas comprobaciones:
- Verifica que ya no aparecen eventos de TDR repetidos en el Visor de eventos durante una sesión larga con tu carga habitual. Si pasas 30–60 minutos sin TDR en condiciones reales, el fix es robusto.
- Pasa una prueba de estrés moderada (benchmark gráfico o escena compleja en tu app) monitorizando temperaturas. Una gráfica estable mantiene clocks sostenidos sin estrangular ni disparar errores.
- Haz copia del controlador que funciona bien (y anota la versión), para revertir rápido si una actualización futura reintroduce el problema. La prevención ahorra horas cuando vuelva a tocar actualizar.
Aunque el error VIDEO_TDR_FAILURE da miedo, suele tener arreglo aplicando orden y método: controlador correcto, instalación limpia, térmicas bajo control y, si hace falta, un ajuste fino del TDR. Con esa combinación, tanto tareas creativas como juegos y CAD vuelven a funcionar sin pantallazos.
Redactor especializado en temas de tecnología e internet con más de diez años de experiencia en diferentes medios digitales. He trabajado como editor y creador de contenidos para empresas de comercio electrónico, comunicación, marketing online y publicidad. También he escrito en webs de economía, finanzas y otros sectores. Mi trabajo es también mi pasión. Ahora, a través de mis artículos en Tecnobits, intento explorar todas las novedades y nuevas oportunidades que el mundo de la tecnología nos ofrece día a día para mejorar nuestras vidas.