Freigeben über


EDID-Erweiterung für kopfmontierte und spezialisierte Monitore

Diese Seite enthält Anleitungen für Displayhersteller, wie sie eine EDID-CTA-Erweiterung (Consumer Technology Association) in HMD (Head Mounted Display) oder spezieller Anzeigefirmware implementieren, die es Windows ermöglicht, die Anzeige als speziell zu erkennen und somit jeder Ebene im Windows-Betriebssystem die richtige Behandlung zu ermöglichen. Die Begriffe Anzeige und Monitor sind synonym.

Ohne diese EDID-Erweiterung haben HMDs und spezialisierte Displays die folgenden Probleme:

  • Der Windows-Desktop wird auf den Bildschirm erweitert, Apps können darauf gestartet werden, und der Mauscursor kann auf den Bildschirm wechseln. Wenn die Benutzer dies nicht erwarten, kann die Wiederherstellung von diesem Zustand verwirrend sein.
  • Drittanbieter-Compositors müssen HWND- oder CoreWindow-basierte Präsentations-APIs verwenden, die keinen exklusiven Zugriff auf die Anzeige zulassen. Der Windows-Desktopkompositor ist für das Weiterleiten von PRÄSENTATIONS-APIs mit Fenstern an die Anzeige verantwortlich, was in einigen Szenarien zu einer zusätzlichen nicht deterministischen Latenz führen kann.

Zwei Teile sind für die Spezifikation in diesem Dokument erforderlich, um die oben genannten Probleme zu lösen:

  1. Die Firmware in der Anzeige, die die EDID enthält, wird so geändert, dass sie einen herstellerspezifischen Datenblock enthält, um den Windows-spezifischen Anwendungsfall der Anzeige zu identifizieren.
  2. Das Windows-Anzeigesubsystem erkennt den in diesem Dokument beschriebenen herstellerspezifischen Datenblock ordnungsgemäß und behandelt die Anzeigen entsprechend. Beachten Sie, dass verschiedene Versionen des Windows-Betriebssystems möglicherweise unterschiedliche Verhaltensweisen aufweisen, die unten beschrieben werden.

Die Kombination von 1. und 2. oben führt zu dem richtigen Windows-Verhalten ab dem Zeitpunkt, an dem die Anzeige zum ersten Mal angeschlossen ist. Insbesondere werden HMDs und bestimmte spezialisierte Displays nicht in der regulären Windows-Desktopumgebung enthalten, und der Zugriff auf die Anzeige mit den Windows.Devices.Display.Core-APIs wird für Drittanbieterkompositoren verfügbar sein.

Die Video Electronics Standards Association (VESA) hat standardisierte Felder in DisplayId v2.0 definiert, die Zugriff auf ähnliche Informationen wie die in diesem Dokument definierte VSDB ermöglicht. DisplayID v2.0 oder höher ist der bevorzugte Mechanismus zum Übermitteln dieser Daten für HMDs. Wenn ein Gerät jedoch aus anderen Gründen eine EDID verwenden muss, sollte diese VSDB verwendet werden.

Anbieterspezifischer Datenblock (VSDB)

Die Partei, die für das Schreiben des Firmwarecodes verantwortlich ist, der die EDID enthält, muss einen CTA-Erweiterungsblock enthalten und in diesen Block einen von Microsoft definierten vendor specific Data Block (VSDB) einfügen. Die Struktur von EDIDs wird im "VESA Enhanced Extended Display Identification Data Standard" (E-EDID) beschrieben, siehe Version 1.4, Release A, Revision 2 mit Abschnitt 2.2 zur Beschreibung von Erweiterungsblöcken. Der CTA-Erweiterungsblock ist in den Dokumenten der CTA-Serie 861 "A DTV Profile for Uncompressed High-Speed Digital Interfaces" definiert. VSDBs werden in ANSI/CTA-861-G beschrieben, einschließlich der Reihenfolge von VSDB im Verhältnis zu anderen Datenblöcken.

Die VSDB-Struktur muss das Format und die Werte aufweisen, die in der folgenden Tabelle beschrieben sind.

Tabelle mit der VSDB-Struktur und den Werten für spezialisierte Anzeigen.

Herstellerspezifischer Tagcode [3 Bits]

Dieses Feld muss auf 0x3festgelegt werden.

Länge [5 Bits]

Gesamtlänge des Datenblocks ohne Dieses Byte. Dieses Feld muss auf 0x15festgelegt werden.

IEEE OUI [3 Bytes]

Der IEEE Organizationally Unique Identifier (OUI), der Microsoft zur Identifizierung zugewiesen ist, zeigt an: 0x5C, 0x12, 0xCAin sequenzieller Bytereihenfolge.

Version [1 Byte]

Die Versionsnummer, die dem Inhalt des Microsoft Display Vendor-Specific Data Blocks zugeordnet ist.

Empfohlene Use-Case Version Unterstützte Windows-Version
HMD-Anzeigegeräte (VR/AR), die von der Windows Mixed Reality-Benutzeroberfläche verwendet werden 0x1 Unterstützt in Windows 10 Creators Update und höher
HMD-Anzeigegeräte (VR/AR), die von Drittanbietern verwendet werden (außer der Windows Mixed Reality Erfahrung) 0x2 Unterstützt in Windows 10 October 2018 Update und höher
Spezielle Anzeigegeräte, die keine HMDs sind 0x3 Unterstützt im nächsten Windows vNext und höher

Desktopverwendungsflag [1 Bit]

In version 0x3 und höher dieser VSDB gibt dieses Bit an, ob die Anzeige Teil des Desktops sein soll.

  • Wenn die Anzeige Teil des Desktops sein soll, sollte dies auf 0x1festgelegt werden.
  • Wenn die Anzeige nicht Teil des Desktops sein soll, sollte dies auf 0x0festgelegt werden.

In der Version 0x1 und 0x2 dieser VSDB sollte dieser Wert immer auf 0x0festgelegt werden.

Verwendungsflag von Drittanbietern [1 Bit]

In version 0x3 und höher dieser VSDB gibt dieses Bit an, ob die Anzeige von Drittanbieterkompositoren oder nur vom von Microsoft bereitgestellten Windows-Compositor verwendet werden soll.

  • Wenn die Anzeige von Nicht-Windows-Softwarekompositoren verwendet werden soll, sollte dies auf 0x1festgelegt werden.
  • Wenn die Anzeige nur vom Windows-Compositor verwendet werden soll, sollte dies auf 0x0festgelegt werden.

In der Version 0x1 und 0x2 dieser VSDB sollte dieser Wert immer auf 0x0festgelegt werden.

Anzeigen des primären Anwendungsfalls des Produkts [5 Bits]

Der primäre Anwendungsfall des Anzeigegeräts:

  • Prüfgeräte - 0x1
  • Generische Anzeige : 0x2
  • Fernsehanzeige - 0x3
  • Anzeige der Desktopproduktivität – 0x4
  • Desktop-Gaming-Anzeige - 0x5
  • Präsentationsanzeige – 0x6
  • Virtual Reality-Headsets – 0x7
  • Augmented Reality – 0x8
  • Videowandanzeige – 0x10
  • Anzeige der medizinischen Bildgebung - 0x11
  • Dediziertes Gaming-Display - 0x12
  • Dedizierte Videomonitoranzeige – 0x13
  • Zubehöranzeige - 0x14

Container-ID [16 Bytes]

Der 16-Byte Universally Unique Identifier, der für jedes Gerät eindeutig ist. Dies ist der Bezeichner, der in der Fabrik eingebrannt wird.

Hinweise

Beachten Sie, dass hmDs weiterhin die Version 0x1 und 0x2 diese EDID-Erweiterung verwenden sollten, um eine maximale Kompatibilität mit früheren Betriebssystemen zu gewährleisten. Weitere Informationen finden Sie im obigen Abschnitt zu Version, für welche Werte für HMDs verwendet werden sollen.