WDDM-Unterstützung für DisplayPort-Monitore über USB4

In diesem Artikel wird beschrieben, wie ein WDDM-Treiber DisplayPort-Monitore unterstützen kann, die über USB4 ab Windows 11 (WDDM 3.0) verbunden sind.

Anforderungen

Der Windows-Grafikstapel muss wissen, dass ein WDDM-Treiber USB4 zur Startzeit unterstützt. Zur Startzeit kann das System überprüfen, ob ein Treiber alle erforderlichen Anforderungen unterstützt und den Treiberstart fehlschlägt, wenn er diese Unterstützung nicht bietet, anstatt es zur Hot-Plug-Erkennungszeit herauszufinden.

Der Kernelmodusanzeigetreiber (KMD) muss die folgenden Anforderungen erfüllen:

  1. Es muss sich um einen WDDM 3.0- oder höher-Treiber handeln.
  2. Es macht eine hinzugefügte Adapterkappe verfügbar, um usb4-Unterstützung anzugeben.
  3. Alle statischen VidPn-Ziele, die vom Treiber verfügbar gemacht werden, müssen als Energiekomponenten gemeldet werden.
  4. Jedes dynamische USB4-Ziel, das mit demselben statischen Ziel verbunden ist, muss mit demselben Hostrouter verbunden sein. dies ist die USB4_Driver_ID Member der DXGK_CONNECTION_USB4_INFO, die den gleichen Wert aufweisen müssen. Derzeit wird der Anschluss eines USB4 DisplayPort-Monitors an wdDM-Treiber "Nur anzeigen" oder "Indirekte Anzeige" nicht unterstützt.

Usb4-Unterstützungstreiberkappe hinzugefügt

Die SupportUsb4Targets-Obergrenze wurde der DXGK_DISPLAY_DRIVERCAPS_EXTENSION-Struktur hinzugefügt, die das System zur Startzeit vom Treiber abfragt. Nur WDDM 3.0- und höher-Treiber sollten diesen Wert und nur dann festlegen, wenn der Treiber alle zuvor aufgeführten Anforderungen erfüllt.

Melden von DisplayPort-Konfigurationsdatenwerten für USB4-Monitor

Die DXGK_CONNECTION_CHANGE. MonitorConnect. MonitorConnectFlags field wurde hinzugefügt.

Das Betriebssystem ruft die DXGKDDI_QUERYCONNECTIONCHANGE-Funktion von KMD auf, wenn ein Connector status Änderung erkannt wird. Wenn ein DisplayPort-Monitor an ein angegebenes VidPn-Ziel angeschlossen wurde und mit einem USB4 DP-IN-Adapter verbunden ist, sollte der Treiber Folgendes ausführen:

  1. Legen Sie die DXGK_CONNECTION_CHANGE fest.MonitorConnectFlags.Usb4DisplayPortMonitor-Flag , um anzugeben, dass es sich bei diesem Monitor um einen usb4-verbundenen Monitor handelt.
  2. Füllen Sie die Felder in DXGKARG_QUERYCONNECTIONCHANGE aus.pUsb4MonitorInfo.

Alle statischen VidPn-Ziele, die als PoFx-Komponenten gemeldet werden

Um eine korrekte Energieverwaltung zwischen den Grafik- und USB-Stapeln zu ermöglichen, muss der Treiber alle statischen VidPn-Ziele als PoFx-Komponenten über DxgkDdiQueryAdapterInfo melden, wenn DXGKARG_QUERYADAPTERINFO.Typ ist DXGKQAITYPE_NUMPOWERCOMPONENTS oder DXGKQAITYPE_POWERCOMPONENTINFO.

Alle dynamischen Ziele, die aus demselben statischen VidPn-Ziel erstellt wurden

USB4-Monitore, die mit dynamischen VidPn-Zielen verbunden sind, werden unterstützt, aber alle dynamischen USB4-VidPn-Ziele, die mit einem statischen VidPn-Ziel verbunden sind, müssen die gleichen USB4_Driver_ID-Werte aufweisen, d. h. mit demselben USB4-Hostrouter verbunden sein.

System HLK-Test

Der Treiber muss den Usb4 Systems Graphics Driver Support Test bestehen, der dem Hardware Lab Kit (HLK) hinzugefügt wurde. Dieser Test überprüft, ob auf einem Laptop mit USB4 alle Grafiktreiber (iGPU und dGPU) USB4-Funktionen unterstützen, wenn sie Ziele verfügbar machen.