Extensão EDID para monitores especializados e montados na cabeça
Esta página fornece diretrizes para exibir fabricantes sobre como implementar uma extensão EDID CTA (Consumer Technology Association) no HMD (Head Mounted Display) ou firmware de exibição especializado que permitirá ao Windows reconhecer a exibição como especial e, portanto, permitir que cada camada no sistema operacional Windows as trate corretamente. Os termos exibir e monitorar são sinônimos.
Sem essa extensão EDID, os HMDs e as exibições especializadas têm os seguintes problemas:
- A área de trabalho do Windows será estendida para a exibição, os aplicativos podem ser iniciados nela e o cursor do mouse pode percorrer a tela. Se os usuários não estão esperando isso, pode ser confuso recuperar-se desse estado.
- Compositores de terceiros devem usar APIs de apresentação baseadas em HWND ou CoreWindow, que não permitem acesso exclusivo à exibição. O compositor da área de trabalho do Windows é responsável por rotear APIs de apresentação em janela para a exibição, o que pode incorrer em latência extra não determinística em alguns cenários.
Duas partes são necessárias para que a especificação neste documento resolva os problemas acima:
- O firmware na exibição que contém o EDID será modificado para conter um bloco de dados específico do fornecedor para identificar o caso de uso específico do Windows da exibição.
- O subsistema de exibição do Windows reconhecerá corretamente o Bloco de Dados Específicos do Fornecedor descrito neste documento e tratará as exibições adequadamente. Observe que diferentes versões do sistema operacional Windows podem ter comportamentos diferentes, que são chamados abaixo.
A combinação de 1. e 2. acima resultará no comportamento correto do Windows a partir do momento em que a exibição for conectada pela primeira vez. Em particular, OS HMDs e determinadas exibições especializadas não serão incluídos no ambiente regular da área de trabalho do Windows e o acesso à exibição com as APIs Windows.Devices.Display.Core ficará disponível para compositores de terceiros.
A VESA (Video Electronics Standards Association) definiu campos padronizados em DisplayId v2.0, que fornece acesso a informações semelhantes às definidas pelo VSDB neste documento. DisplayID v2.0 ou posterior é o mecanismo preferencial para fornecer esses dados para HMDs, no entanto, se um dispositivo precisar usar um EDID por outros motivos, esse VSDB deverá ser usado.
VSDB (bloco de dados específico do fornecedor)
A parte responsável por escrever o código de firmware que contém o EDID deve incluir um bloco de extensão CTA e, nesse bloco, colocar um VSDB (Bloco de Dados Específicos do Fornecedor) definido pela Microsoft. A estrutura de EDIDs é descrita no "E-EDID (Padrão de Dados de Identificação de Exibição Estendida Aprimorados vesa) (E-EDID), consulte a versão 1.4, versão A, revisão 2 com a seção 2.2 que descreve os blocos de extensão. O bloco de extensão CTA é definido nos documentos da série 861 do CTA "Perfil A DTV para Interfaces Digitais High-Speed Não Compactadas". OS VSDBs são descritos em ANSI/CTA-861-G , incluindo a ordem do VSDB em relação a outros blocos de dados.
A estrutura VSDB deve ter o formato e os valores descritos na tabela a seguir.
Código de marca específico do fornecedor [3 bits]
Esse campo deve ser definido como 0x3
.
Comprimento [5 bits]
Comprimento total do bloco de dados, sem incluir esse byte. Esse campo deve ser definido como 0x15
.
IEEE OUI [3 bytes]
O OUI (Identificador Exclusivo Organizacional) do IEEE atribuído à Microsoft para identificar exibições: 0x5C
, 0x12
, 0xCA
, em ordem de bytes sequencial.
Versão [1 byte]
O número de versão associado ao conteúdo do Bloco de Dados Específico do Fornecedor de Exibição da Microsoft.
Use-Case recomendado | Versão | Versão do Windows com suporte |
---|---|---|
Dispositivos de exibição HMD (VR/AR) que serão usados pela experiência Windows Mixed Reality | 0x1 |
Com suporte em Windows 10 Atualização do Criador e posterior |
Dispositivos de exibição HMD (VR/AR) que serão usados por compositores de terceiros (além da experiência de Windows Mixed Reality) | 0x2 |
Com suporte em Atualização de outubro de 2018 para o Windows 10 e posterior |
Dispositivos de exibição especializados que não são HMDs | 0x3 |
Com suporte no próximo Windows vNext e posterior |
Sinalizador de uso da área de trabalho [1 bit]
Na versão 0x3
e acima desse VSDB, esse bit indica se a exibição deve fazer parte da área de trabalho.
- Se a exibição deve fazer parte da área de trabalho, isso deve ser definido como
0x1
. - Se a exibição não fizer parte da área de trabalho, isso deverá ser definido como
0x0
.
Na versão 0x1
e 0x2
deste VSDB, esse valor sempre deve ser definido como 0x0
.
Sinalizador de uso de terceiros [1 bit]
Na versão 0x3
e acima desse VSDB, esse bit indica se a exibição deve ser utilizável por compositores de terceiros ou apenas pelo compositor do Windows fornecido pela Microsoft.
- Se a exibição deve ser utilizável por compositores de software não Windows, isso deve ser definido como
0x1
. - Se a exibição só deve ser usada pelo compositor do Windows, isso deve ser definido como
0x0
.
Na versão 0x1
e 0x2
deste VSDB, esse valor sempre deve ser definido como 0x0
.
Exibir o caso de uso primário do produto [5 bits]
O principal caso de uso do dispositivo de exibição:
- Equipamento de teste –
0x1
- Exibição genérica –
0x2
- Exibição de televisão -
0x3
- Exibição de produtividade da área de trabalho –
0x4
- Exibição de jogos da área de trabalho –
0x5
- Exibição da apresentação –
0x6
- Headsets de realidade virtual -
0x7
- Realidade aumentada -
0x8
- Exibição da parede de vídeo -
0x10
- Exibição de imagens médicas -
0x11
- Exibição de jogos dedicados –
0x12
- Exibição do monitor de vídeo dedicado –
0x13
- Exibição do acessório –
0x14
ID do contêiner [16 bytes]
O Identificador Universal exclusivo de 16 bytes que é exclusivo para cada dispositivo. Este é o identificador que está queimado no chão da fábrica.
Comentários
Observe que, para manter a compatibilidade máxima com sistemas operacionais anteriores, é recomendável que os HMDs continuem a usar a versão 0x1
e 0x2
essa extensão EDID. Consulte a seção acima em Versão para quais valores usar para HMDs.