mayo 14, 2023

No es un error nuevo, sucedía en versiones anteriores de Windows pero se vuelven a producir… al intentar conectar por escritorio remoto, admite las credenciales de usuario pero la pantalla se queda en negro, a los pocos segundos se cierra con error, si desplegamos el detalle aparece…

Código de error: 0x3
Código de error extendido: 0x12

Puede que parezca aleatoriamente, una vez permita conectar la segunda ya no… reiniciar el equipo y volver a conectar, pero revisando el detalle del registro de errores, aparecen varios 10110 seguidos de 10111 DriverFrameworks-UserMode:

El dispositivo Microsoft Remote Display Adapter (en ubicación (unknown)) está sin conexión debido a un bloqueo en los controladores en modo de usuario. Windows intentará reiniciar el dispositivo 5 veces más. Póngase en contacto con el fabricante para obtener más información acerca de este problema.
No se encuentra la descripción del id. de evento 10111 en el origen Microsoft-Windows-DriverFrameworks-UserMode. El componente que provoca este evento no está instalado en el equipo local, o bien la instalación está dañada. Puede instalar o reparar el componente en el equipo local.

Si el evento se originó en otro equipo, la información que se va a mostrar tenía que haberse guardado con el evento.

Se incluyó la siguiente información con el evento:
EV_RenderedValue_0,00
Microsoft Remote Display Adapter
(unknown)
SWD\REMOTEDISPLAYENUM\RDPIDD_INDIRECTDISPLAY&SESSIONID_0002
5
Controlador no válido

Podemos intentar actualizar los drivers del fabricante del ordenador y tarjeta gráfica o directamente aplicar una política para deshabilitar el uso de WDDM: Configuración del equipo \ Plantillas administrativas \ Componentes de Windows \ Servicios de Escritorio remoto \ Host de sesión de Escritorio Remoto \ Entorno de sesión remota \ Usar el controlador de pantalla de gráficos WDDM para Conexión a Escritorio Remoto

Alternativamente desde línea de comandos:

REG ADD “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v “fEnableWddmDriver” /t REG_DWORD /d 0 /f

O mediante archivo .REG:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fEnableWddmDriver"=dword:00000000

Con esta opción deshabilitada dejarán de utilizarse los drivers WDDM más modernos y se vuelve a drivers XDDM (modelo de controlador de Windows 2000, Vista y 7) que no parecen afectados por estos problemas…

El modelo de controlador de Windows (WDDM) se incluyó en Windows Vista y es obligatorio a partir de Windows 8, esta arquitectura se compone de elementos en modo kernel (minipuerto de pantalla) y modo usuario, esta última es la que parece provocar los errores…

Con cada versión se han introducido mejoras, un pequeño resumen aproximado de las versiones de Windows, drivers por años…

WDDM Windows DirectX Año Mejoras destacadas
1.0 Vista 10 2007 Protección digital de conteido HDCP
1.1 7 10.1
11
2009 Retrocompatible con 1.0
1.2 8 11.1 2012 Mejoras en multiprocesamiento de tareas y memoria virtual de gráficos
1.3 8.1 11.2 2013 Soporte para pantalla inalámbrica Miracast
2.0 10 12 2015 Unificación de drivers para anteriores de Windows 8.1 y Windows Phone
2.1 10.1607 2016 Frecuencia de actualización variable
Soporte para HDR10
2.2 10.1703 2017-04 Mejoras para realidad virtual, aumentada y mixta en plataformas Windows Mixed Reality
DXGI 1.6, detecta pantallas HDR
2.3 10.1709 2017-10 Mejorar en componentes de Direct3D 12
2.4 10.1803 2018-04 Paravirtualización de GPU, capacidades adicionales en Hyper-V (GPU-PV)
Aislamiento de GPU basado en IOMMU
2.5 10.1809 2018-11 Share Model 6.3, primera versión para raytracing
Requisitos de Driver Universal, comprueba que los controladores de modo usuario y modo kernel de DirectX 11 y DirectX 12 cumplen con Universal API
2.6 10.1903 2019-05 Shader Model 6.4, mejoras para simplificar raytracing
Driver Hot Update, permite parches de drivers en modo kernel sin reiniciar
2.7 10.2004 2020-05 DirectX RayTracing (DXR) 1.1
… 2.9 Preview para aceleración hardware para WSL 2
3.0 11 21H2 2021 Driver Linux WSL
Direct3D 12 codificación de video
3.1 11 22H2 2023 Reasignación de DMA de IOMMU
3.2 11 23H2

En el caso de Intel, las versiones de los drivers ha cambiado para adaptarse y coincidir con el controlador en Windows, por ejemplo 26.20.100.7926 indicaría: WDDM 2.6 si aparece el «20» a continuación en lugar de cero, significa que la versión más alta admitida es DirectX 12

Pero en equipos actualizados de Windows 10 a Windows 11 y/o con drivers no compatibles/actualizados siguen apareciendo errores en modo WDDM con escritorio remoto…