USB4 経由の DisplayPort モニターの WDDM サポート

この記事では、WDDM ドライバーが Windows 11 (WDDM 3.0) 以降の USB4 経由で接続されている DisplayPort モニターをサポートする方法について説明します。

要件

Windows グラフィックス スタックでは、WDDM ドライバーが起動時に USB4 をサポートしていることを認識する必要があります。 起動時に、システムは、ドライバーが必要なすべての要件をサポートしているかどうかを確認し、ホット プラグ検出時に検出するのではなく、このようなサポートを提供していない場合はドライバーの起動に失敗します。

カーネル モード ディスプレイ ドライバー (KMD) は、次の要件を満たしている必要があります。

  1. WDDM 3.0 以降のドライバーである必要があります。
  2. USB4 のサポートを示す追加のアダプター キャップが公開されます。
  3. ドライバーが公開するすべての静的 VidPN ターゲットは、電源コンポーネントとしてレポートされる必要があります
  4. 同じ静的ターゲットに接続されている各 USB4 動的ターゲットは、同じホスト ルーターに接続する必要があります。つまり、DXGK_CONNECTION_USB4_INFOUSB4_Driver_ID メンバーは同じ値を持つ必要があります。 USB4 DisplayPort モニターをディスプレイ専用 WDDM ドライバーや間接ディスプレイ WDDM ドライバーに接続することはサポートされません。

USB4 サポート ドライバー キャップを追加しました

SupportUsb4Targets キャップは、システムが起動時にドライバーからクエリする DXGK_DISPLAY_DRIVERCAPS_EXTENSION 構造に追加されました。 WDDM 3.0 以降のドライバーに限り、ドライバーは上記のすべての要件を満たしている場合のみこの値を設定する必要があります。

レポート USB4 モニター DisplayPort 構成データの値

DXGK_CONNECTION_CHANGE.MonitorConnect.MonitorConnectFlags フィールドが追加されました。

OS は、コネクタの状態の変化が検出されるたびに KMD の DXGKDDI_QUERYCONNECTIONCHANGE 関数を呼び出します。 DisplayPort モニターが特定の Video Present Network (VidPN) ターゲットに接続され、USB4 DP-IN アダプターに接続されたとき、ドライバーは次のことをする必要があります。

  1. このモニターが USB4 接続モニターであることを示すために DXGK_CONNECTION_CHANGE.MonitorConnectFlags.Usb4DisplayPortMonitor フラグを設定します。
  2. DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo のフィールドに必要な値を設定します。

すべての静的 VidPN ターゲットが PoFx コンポーネントとして報告される

グラフィックスと USB スタックの間で正しい電源管理を有効にするには、ドライバーは DxgkDdiQueryAdapterInfo を介してすべての VidPn ターゲットを PoFx コンポーネントとして報告する必要があります (DXGKARG_QUERYADAPTERINFO.TypeDXGKQAITYPE_NUMPOWERCOMPONENTS または DXGKQAITYPE_POWERCOMPONENTINFO の場合)。

すべての動的ターゲットが同じ静的 VidPN ターゲットから作成されている

動的 VidPn ターゲットに接続されている USB4 モニターはサポートされていますが、静的 VidPn ターゲットに接続されているすべての USB4 動的 VidPn ターゲットは、同じ USB4 ホスト ルーターに接続されている同じUSB4_Driver_ID値を持っている必要があります。

システム HLK テスト

ドライバーは、ハードウェア ラボ キット (HLK) に追加された USB4 システム グラフィックス ドライバー サポート テストに合格する必要があります。 このテストでは、USB4 搭載のノート PC で、すべてのグラフィックス ドライバー (iGPU および dGPU) がターゲットを公開している場合に USB4 機能をサポートしていることを確認します。