Partager via


Extension EDID pour les moniteurs montés à la tête et spécialisés

Cet article décrit comment un fabricant d’affichage peut implémenter une extension EDID CTA (Consumer Technology Association) dans HMD (Head Mounted Display) ou un microprogramme d’affichage spécialisé. Le public est principalement des fabricants d’affichage. Les termes d’affichage et de surveillance sont synonymes dans cet article.

L’extension implémentée permet à Windows de reconnaître l’affichage comme spécial et ainsi de permettre à chaque couche du système d’exploitation Windows de les traiter correctement. Sans cette extension EDID, les HMD et les écrans spécialisés présentent les problèmes suivants :

  • Le bureau Windows est étendu à l’affichage, les applications peuvent s’y lancer et le curseur de la souris peut se déplacer sur l’écran. Si les utilisateurs ne s’attendent pas à ce comportement, il peut être déroutant de récupérer.
  • Les compositeurs non-Microsoft doivent utiliser des API de présentation basées sur HWND ou CoreWindow, qui n’autorisent pas l’accès exclusif à l’affichage. Le compositeur de bureau Windows est responsable du routage des API de présentation fenêtrées vers l’affichage, ce qui peut entraîner une latence non déterministe supplémentaire dans certains scénarios.

Pour résoudre ces problèmes, les deux conditions suivantes doivent être remplies :

  1. Le microprogramme dans l’affichage qui contient l’EDID doit être modifié pour contenir un bloc de données spécifique au fournisseur (VSDB) pour identifier le cas d’usage spécifique à Windows de l’affichage.
  2. Le sous-système d’affichage Windows reconnaît correctement le bloc de données spécifique du fournisseur décrit dans cet article et traite correctement les affichages. Différentes versions du système d’exploitation Windows peuvent avoir des comportements différents, comme décrit plus loin dans cet article.

Cette solution en deux étapes entraîne le comportement correct de Windows à partir du moment où l’affichage est connecté pour la première fois. En particulier:

  • Les HMD et certains écrans spécialisés ne sont pas inclus dans l’environnement de bureau Windows standard.
  • L’accès à l’affichage avec les API Windows.Devices.Display.Core devient disponible pour les compositeurs non-Microsoft.

Video Electronics Standards Association (VESA) définit des champs standardisés dans DisplayId v2.. Ces champs fournissent l’accès à des informations similaires à celles du VSDB défini dans cet article. DisplayID v2.0 ou version ultérieure est le mécanisme préféré pour fournir ces données pour les HMD. Toutefois, si un appareil doit utiliser un EDID pour d’autres raisons, ce VSDB doit être utilisé.

Bloc de données spécifique au fournisseur (VSDB)

La partie responsable de l’écriture du code du microprogramme qui contient l’EDID doit inclure un bloc d’extension CTA avec un VSDB défini par Microsoft. La structure des EDID est décrite dans la section « VESA Enhanced Extended Display Identification Data Standard » (E-EDID), consultez la version 1.4, version A, révision 2 avec la section 2.2 décrivant les blocs d’extension. Le bloc d’extension CTA est défini dans le document de la série 861 de la Consumer Technology Association intitulé A DTV Profile for Uncompressed High-Speed Digital Interfaces. Les VSDB sont décrits dans ANSI/CTA-861-G , y compris l’ordre de VSDB par rapport à d’autres blocs de données.

La structure VSDB doit avoir le format et les valeurs décrites dans le tableau suivant.

Tableau montrant la structure et les valeurs VSDB pour les affichages spécialisés.

Code de balise spécifique au fournisseur [3 bits]

Ce champ doit être défini sur 0x3.

Longueur [5 bits]

Longueur totale du bloc de données, sans inclure cet octet. Ce champ doit être défini sur 0x15.

IEEE OUI [3 octets]

Identificateur unique d'organisation IEEE (OUI) attribué à Microsoft pour l’identification des affichages : 0x5C, 0x12, 0xCA, dans l’ordre de séquence des octets.

Version [1 octet]

Numéro de version associé au contenu de Microsoft Display VSDB.

Use-Case recommandé Version Version de Windows supportée
Pour les appareils d’affichage HMD (VR/AR) utilisés par l’expérience Windows Mixed Reality 0x1 Windows 10 version 1703 et ultérieure
Pour les appareils d’affichage HMD (VR/AR) utilisés par les compositeurs non-Microsoft (autres que l’expérience Windows Mixed Reality) 0x2 Windows 10 1809 et versions ultérieures
Pour les appareils d’affichage spécialisés qui ne sont pas HMD 0x3 Prise en charge dans Windows 10 version 1903 et ultérieure

Indicateur d’utilisation du bureau [1 bits]

À partir de la version 0x3 et les versions suivantes de ce VSDB, ce bit indique si l’affichage doit faire partie du bureau.

  • Si l’affichage doit être intégré au bureau, définissez sur 0x1.
  • Si l’affichage ne doit pas faire partie du bureau, mettez sur 0x0.

Dans la version 0x1 et 0x2 de ce VSDB, cette valeur doit toujours être définie sur 0x0.

Indicateur d’utilisation non-Microsoft [1 bit]

Sur la version 0x3 et les versions ultérieures de ce VSDB, ce bit indique si l’affichage doit être utilisable par des compositeurs non-Microsoft ou uniquement par le compositeur Windows fourni par Microsoft.

  • Si l’affichage doit être utilisable par des compositeurs de logiciels non-Windows, défini sur 0x1.
  • Si l’affichage doit uniquement être utilisé par le compositeur Windows, définissez sur 0x0.

Dans la version 0x1 et 0x2 de ce VSDB, cette valeur doit toujours être définie sur 0x0.

Afficher le cas d’usage principal du produit [5 bits]

Cas d’usage principal de l’appareil d’affichage :

  • Équipement de test - 0x1
  • Affichage générique - 0x2
  • Écran de télévision - 0x3
  • Affichage de la productivité du bureau - 0x4
  • Écran de jeu pour ordinateur - 0x5
  • Affichage de présentation - 0x6
  • Casques de réalité virtuelle - 0x7
  • Réalité augmentée- 0x8
  • Affichage du mur vidéo - 0x10
  • Affichage de l’imagerie médicale - 0x11
  • Affichage de jeux dédiés - 0x12
  • Affichage du moniteur vidéo dédié - 0x13
  • Affichage de l’accessoire - 0x14

ID de conteneur [16 octets]

Identificateur universel unique de 16 octets qui est unique pour chaque appareil. Cet identificateur est brûlé au niveau de l’usine.

Remarques

Pour maintenir la compatibilité maximale avec les systèmes d’exploitation antérieurs, HMD doit continuer à utiliser la version 0x1 et 0x2 de cette extension EDID. Consultez Version pour savoir quelles valeurs utiliser pour les HMD.