Compartilhar via


Suporte ao WDDM para monitores DisplayPort sobre USB4

Este artigo descreve como um driver WDDM pode dar suporte a monitores DisplayPort conectados por USB4 a partir do Windows 11 (WDDM 3.0).

Requisitos

A pilha de gráficos do Windows precisa saber que um driver WDDM dá suporte a USB4 no momento da inicialização. No momento da inicialização, o sistema pode verificar se um driver dá suporte a todos os requisitos necessários e impedir a inicialização do driver se ele não oferecer esse suporte, em vez de descobrir no momento da detecção de hot plug.

O driver de exibição em modo kernel (KMD) deve atender aos seguintes requisitos:

  1. Deve ser um driver WDDM 3.0 ou superior.
  2. Ele expõe uma tampa de adaptador adicionada para indicar o suporte a USB4.
  3. Todos os alvos VidPn estáticos expostos pelo driver precisam ser relatados como componentes de energia.
  4. Cada destino dinâmico USB4 conectado ao mesmo destino estático deve estar conectado ao mesmo roteador de host; ou seja, os membros USB4_Driver_ID de seu DXGK_CONNECTION_USB4_INFO devem ter o mesmo valor. Atualmente, não há suporte para a conexão de um monitor DisplayPort USB4 a drivers WDDM de exibição somente ou indireto.

Adição da tampa do driver de suporte USB4

A capacidade SupportUsb4Targets foi adicionada à estrutura DXGK_DISPLAY_DRIVERCAPS_EXTENSION que o sistema consulta do driver durante a inicialização. Somente os drivers WDDM 3.0 e posteriores devem configurar esse valor e somente se o driver atender a todos os requisitos listados anteriormente.

Relatando os valores de dados de configuração do DisplayPort do monitor USB4

O DXGK_CONNECTION_CHANGE. MonitorConnect. MonitorConnectFlags campo foi adicionado.

O sistema operacional chama a função DXGKDDI_QUERYCONNECTIONCHANGE do KMD sempre que uma alteração de status do conector é detectada. Quando um monitor DisplayPort tiver sido conectado a um destino VidPn especificado e estiver conectado a um adaptador de DP-IN USB4, o driver deverá:

  1. Defina a flag DXGK_CONNECTION_CHANGE.MonitorConnectFlags.Usb4DisplayPortMonitor para indicar que esse monitor é um monitor conectado via USB4.
  2. Preencha os campos em DXGKARG_QUERYCONNECTIONCHANGE.pUsb4MonitorInfo.

Todos os destinos estáticos de VidPn estão sendo relatados como componentes PoFx

Para habilitar o gerenciamento de energia correto entre os gráficos e as pilhas USB, o driver deve relatar todos os destinos VidPn estáticos como componentes PoFx por meio de DxgkDdiQueryAdapterInfo quando DXGKARG_QUERYADAPTERINFO.Tipo é DXGKQAITYPE_NUMPOWERCOMPONENTS ou DXGKQAITYPE_POWERCOMPONENTINFO.

Todos os destinos dinâmicos criados do mesmo destino VidPn estático

Há suporte para monitores USB4 conectados a destinos VidPn dinâmicos, mas todos os destinos VidPn dinâmicos USB4 conectados a um destino VidPn estático devem ter os mesmos valores de USB4_Driver_ID, ou seja, conectados ao mesmo roteador de host USB4.

Teste do sistema HLK

O driver deve passar no teste Suporte do Driver de Gráficos para Sistemas USB4 incluído no HLK (Hardware Lab Kit). Este teste verifica se, em um laptop com USB4, todos os drivers gráficos (iGPU e dGPU) dão suporte à funcionalidade USB4, caso exponham algum destino.