Compartir a través de


Extensión EDID para monitores especializados y montados en la cabeza

En este artículo se describe cómo un fabricante de pantallas puede implementar una extensión EDID CTA (Consumer Technology Association) en HMD (Head Mounted Display) o firmware de pantalla especializado. El público es principalmente fabricantes de pantallas. Los términos pantalla y monitor son sinónimos en este artículo.

La extensión implementada permite a Windows reconocer la presentación como especial y, por tanto, habilitar cada capa del sistema operativo Windows para tratarlas correctamente. Sin esta extensión EDID, HMDs y pantallas especializadas tienen los siguientes problemas:

  • El escritorio de Windows se extiende a la pantalla, las aplicaciones pueden iniciarse en ella y el cursor del mouse puede desplazarse a la pantalla. Si los usuarios no esperan este comportamiento, puede resultar confuso recuperarse.
  • Los compositores que no son de Microsoft deben usar las API de presentación basadas en HWND o CoreWindow, que no permiten el acceso exclusivo a la pantalla. El compositor de escritorio de Windows es responsable de enrutar las API de presentación con ventanas a la pantalla, lo que puede suponer una latencia no determinista adicional en algunos escenarios.

Para resolver estos problemas, se deben cumplir las dos condiciones siguientes:

  1. El firmware de la pantalla que contiene el EDID debe modificarse para contener un bloque de datos específico del proveedor (VSDB) para identificar el caso de uso específico de Windows de la pantalla.
  2. El subsistema de visualización de Windows reconoce correctamente el bloque de datos específico del proveedor descrito en este artículo y trata las pantallas correctamente. Es posible que diferentes versiones del sistema operativo Windows tengan comportamientos diferentes, como se describe más adelante en este artículo.

Esta solución de dos pasos da como resultado el comportamiento correcto de Windows desde el momento en que la pantalla se conecta por primera vez. En particular:

  • Los HMD y ciertas pantallas especializadas no se incluyen en el entorno de escritorio normal de Windows.
  • El acceso a la pantalla con las API Windows.Devices.Display.Core está disponible para los compositores que no son de Microsoft.

La Asociación de estándares de Video Electronics (VESA) define campos estandarizados en DisplayId v2.. Estos campos proporcionan acceso a información similar a la del VSDB definido en este artículo. DisplayID v2.0 o posterior es el mecanismo preferido para entregar estos datos para HMD. Sin embargo, si un dispositivo debe usar un EDID por otros motivos, se debe usar este VSDB.

Bloque de datos específico del proveedor (VSDB)

El responsable de escribir el código de firmware que contiene el EDID debe incluir un bloque de extensión de CTA con un VSDB definido por Microsoft. La estructura de EDIDs se describe en el "VESA Enhanced Extended Display Identification Data Standard" (E-EDID), consulte la versión 1.4, publicación A, revisión 2 con la sección 2.2 que describe los bloques de extensión. El bloque de extensión de CTA está definido en el documento de la serie 861 de la CTA Un perfil de DTV para interfaces digitales sin comprimir High-Speed. Los VSDB se describen en ANSI/CTA-861-G , incluido el orden de VSDB en relación con otros bloques de datos.

La estructura de VSDB debe tener el formato y los valores que se describen en la tabla siguiente.

Tabla que muestra la estructura y los valores de VSDB para pantallas especializadas.

Código de etiqueta específico del proveedor [3 bits]

Este campo debe establecerse en 0x3.

Longitud [5 bits]

Longitud total del bloque de datos, no incluido este byte. Este campo debe establecerse en 0x15.

IEEE OUI [3 bytes]

Identificador único organizativo de IEEE (OUI) asignado a Microsoft para identificar las pantallas: 0x5C, 0x12, 0xCA, en orden de bytes secuencial.

Versión [1 byte]

Número de versión asociado al contenido de MICROSOFT Display VSDB.

Recomendado Use-Case Versión Versión compatible con Windows
Para los dispositivos de visualización HMD (VR/AR) utilizados para la plataforma Windows Mixed Reality. 0x1 Windows 10, versión 1703 y posteriores
Para los dispositivos de visualización HMD (VR/AR) usados por compositores que no son de Microsoft (excepto la experiencia de Windows Mixed Reality) 0x2 Windows 10, versión 1809 y posteriores
Para dispositivos de pantalla especializados que no son HMD 0x3 Compatible con Windows 10, versión 1903 y posteriores

Indicador de uso del escritorio [1 bit]

En la versión 0x3 y versiones posteriores de esta VSDB, este bit indica si la pantalla debe formar parte del escritorio.

  • Si la pantalla debe formar parte del escritorio, establezca en 0x1.
  • Si la pantalla no debe formar parte del escritorio, establezca en 0x0.

En la versión 0x1 y 0x2 de este VSDB, este valor siempre debe establecerse en 0x0.

Marca de uso que no es de Microsoft [1 bit]

En la versión 0x3 y versiones posteriores de este VSDB, este bit indica si los compositores que no son de Microsoft deben usar la pantalla o solo el compositor de Windows proporcionado por Microsoft.

  • Si los compositores de software que no son de Windows deben usar la pantalla, establezca en 0x1.
  • Establezca la pantalla para que solo sea usada por el compositor de Windows configurando el ajuste a 0x0.

En la versión 0x1 y 0x2 de este VSDB, este valor siempre debe establecerse en 0x0.

Mostrar caso de uso principal del producto [5 bits]

El caso de uso principal del dispositivo de visualización:

  • Equipo de prueba: 0x1
  • Pantalla genérica: 0x2
  • Pantalla de televisión - 0x3
  • Pantalla de productividad de escritorio: 0x4
  • Pantalla de juegos de escritorio: 0x5
  • Pantalla de presentación - 0x6
  • Cascos de realidad virtual: 0x7
  • Realidad aumentada- 0x8
  • Pantalla de pared de vídeo: 0x10
  • Visualización de imágenes médicas : 0x11
  • Pantalla de juegos dedicada: 0x12
  • Visualización del monitor de vídeo dedicado: 0x13
  • Pantalla para accesorios: 0x14

Id. de contenedor [16 bytes]

Identificador único universal de 16 bytes que es único para cada dispositivo. Este identificador se quema en la planta de fábrica.

Observaciones

Para mantener la máxima compatibilidad con los sistemas operativos anteriores, los HMD deben seguir usando la versión 0x1 y 0x2 de esta extensión EDID. Consulte Versión para obtener los valores que se van a usar para HMD.