通过 USB4 对 DisplayPort 监视器的 WDDM 支持
本文介绍 WDDM 驱动程序如何支持从 Windows 11 (WDDM 3.0) 开始通过 USB4 连接的 DisplayPort 监视器。
要求
Windows 图形堆栈需要知道 WDDM 驱动程序在启动时支持 USB4。 在启动时,系统可以验证驱动程序是否支持所有必要的要求,如果驱动程序未提供此类支持,则驱动程序启动失败,而不是在热插拔检测时发现。
KMD) (内核模式显示驱动程序必须满足以下要求:
- 它必须是 WDDM 3.0 或更高版本的驱动程序。
- 它公开添加的适配器帽以指示 USB4 支持。
- 驱动程序公开的所有静态 VidPn 目标都需要报告为电源组件。
- 连接到同一静态目标的每个 USB4 动态目标必须连接到同一主机路由器;是其 DXGK_CONNECTION_USB4_INFOUSB4_Driver_ID 成员必须具有相同的值。 目前不支持将 USB4 DisplayPort 监视器连接到仅显示或间接显示 WDDM 驱动程序。
添加了 USB4 支持驱动程序上限
SupportUsb4Targets 上限已添加到系统在启动时从驱动程序查询的DXGK_DISPLAY_DRIVERCAPS_EXTENSION结构中。 只有 WDDM 3.0 及更高版本的驱动程序才应设置此值,并且仅当驱动程序满足前面列出的所有要求时。
报告 USB4 监视器 DisplayPort 配置数据值
DXGK_CONNECTION_CHANGE。MonitorConnect。MonitorConnectFlags已添加字段。
每当检测到连接器状态更改时,OS 会调用 KMD 的 DXGKDDI_QUERYCONNECTIONCHANGE 函数。 当 DisplayPort 监视器已连接到指定的 VidPn 目标并连接到 USB4 DP-IN 适配器时,驱动程序应:
- 设置 DXGK_CONNECTION_CHANGE。MonitorConnectFlags.Usb4DisplayPortMonitor 标志,指示此监视器是连接 USB4 的监视器。
- 完成DXGKARG_QUERYCONNECTIONCHANGE中的字段。pUsb4MonitorInfo。
报告为 PoFx 组件的所有静态 VidPn 目标
若要在图形和 USB 堆栈之间启用正确的电源管理,驱动程序必须在DXGKARG_QUERYADAPTERINFO时通过 DxgkDdiQueryAdapterInfo 将所有静态 VidPn 目标报告为 PoFx 组件。类型为DXGKQAITYPE_NUMPOWERCOMPONENTS或DXGKQAITYPE_POWERCOMPONENTINFO。
从同一静态 VidPn 目标创建的所有动态目标
支持连接到动态 VidPn 目标的 USB4 监视器,但连接到静态 VidPn 目标的所有 USB4 动态 VidPn 目标必须具有相同USB4_Driver_ID值,即连接到同一 USB4 主机路由器。
系统 HLK 测试
驱动程序必须通过添加到硬件实验室工具包 (HLK) 的 USB4 系统图形驱动程序支持 测试。 此测试验证在具有 USB4 的笔记本电脑上,如果 iGPU 和 dGPU) 公开任何目标, (所有图形驱动程序是否都支持 USB4 功能。