Windows Tips & News

WSL obterá suporte DirectX no Linux com compilações 21H1

click fraud protection

A Microsoft está adicionando suporte DirectX para distros Linux rodando em um ambiente WSL 2. A mudança vai ao ar com as primeiras construções de 21H1 da filial de Ferro (Fe) no Fast Ring, que devem ocorrer em junho próximo.

Microsoft é apresentando Windows Display Driver Model versão 2.9, WDDMv2.9, que trará aceleração de GPU para WSL 2. Para tornar isso possível, há um módulo especial do kernel do Linux no lado do WSL, dxgkrnl.

dxgkrnl

Dxgkrnl é um driver de kernel novo para Linux que expõe o /dev/dxg dispositivo para modo de usuário Linux. /dev/dxg expõe um conjunto de IOCTL que imita de perto a camada de serviço do kernel nativo WDDM D3DKMT no Windows. O Dxgkrnl dentro do kernel do Linux se conecta por meio do barramento VM ao seu irmão mais velho no host do Windows e usa essa conexão de barramento VM para se comunicar com a GPU física.

Se o host tiver várias GPUs, todas as GPUs serão projetadas e estarão disponíveis para o ambiente Linux (assumindo que todas essas GPUs estejam executando drivers WDDMv2.9).

A Microsoft afirma que a arquitetura não limitará ou interferirá no desempenho de aplicativos WSL e recursos de GPU serão compartilhados de forma adequada entre os aplicativos do Windows executados junto com a GUI do Linux e os aplicativos de console que utilizam DirectX.

A edição Dxgkrnl Linux está se tornando open source.

DxCore e D3D12 no Linux

Este projeto traz D3D12 API completo para Linux sem imitations.ibd3d12.so é compilado a partir do mesmo código-fonte d3d12.dll no Windows, mas para um destino Linux. Ele oferece o mesmo nível de funcionalidade e desempenho (menos a sobrecarga de virtualização). A única exceção é Presente (). Atualmente, não há integração de apresentação com WSL, já que WSL é uma experiência apenas de console hoje. A API D3D12 pode ser usada para renderização e computação fora da tela, mas não há suporte para swapchain para copiar pixels diretamente na tela.

DxCore (libdxcore.so) é uma versão simplificada do dxgi onde aspectos legados da API foram substituídos por versões modernas. DxCore está disponível em Windows e Linux. O DxCore também é usado para hospedar uma versão simples da API D3DKMT usada por um driver baseado em WDDM no Windows para se comunicar com a GPU. Esta API abstrai as diferenças em como os vários serviços WDDM chegam ao kernel (tabela de serviço no Windows versus IOCTL no Linux).

libd3d12.so e libdxcore.so são binários de modo de usuário pré-compilados de código fechado que são enviados como parte do Windows. Esses binários são compatíveis com distros baseadas em glibc e são montados automaticamente em /usr/lib/wsl/lib e tornado visível para o carregador. Em outras palavras, essas APIs funcionam imediatamente, sem a necessidade de instalar pacotes adicionais ou ajustar a configuração da distro. O suporte é atualmente limitado a distros baseadas em glibc, incluindo Ubuntu, Debian, Fedora, Centos, SUSE e assim por diante.

O D3D12 não seria capaz de operar sem um driver de modo de usuário (UMD) específico da GPU fornecido pelos parceiros fabricantes da GPU. O UMD é responsável por coisas como compilar sombreadores para código de byte específico de hardware e traduzir solicitações de renderização de API em instruções GPU reais em buffers de comando a serem executados por a GPU. O pacote de driver do host é montado dentro do WSL em / usr / lib / wsl / drivers e diretamente acessível para a API d3d12. Novamente o driver WDDM 2.9 é necessário.

A Microsoft também está trabalhando para trazer a aceleração de GPU para OpenGL, OpenCL e Vulkan em WSL por meio da biblioteca Mesa.


Suporte para DxCore, D3D12, DirectML e NVIDIA CUDA está chegando a um Windows Insider Construir rapidamente em breve. O toque rápido está atualmente no Manganês (Mn) Ramificação do sistema operacional. Espera-se que o anel rápido mude para o novo Ramo de ferro (Fe) no final de junho, que irá expor esta nova funcionalidade para Insiders.

Edge DevTools agora estão disponíveis em 11 idiomas

Edge DevTools agora estão disponíveis em 11 idiomas

A Microsoft anunciou hoje que DevTools incluídos no Edge Chromium agora estão disponíveis em 11 i...

Consulte Mais informação

Definido quando o sensor de armazenamento deve esvaziar automaticamente a lixeira

Definido quando o sensor de armazenamento deve esvaziar automaticamente a lixeira

RECOMENDADO: Clique aqui para corrigir problemas do Windows e otimizar o desempenho do sistemaCom...

Consulte Mais informação

Ativar ou desativar a previsão de texto multilíngue no Windows 10

Ativar ou desativar a previsão de texto multilíngue no Windows 10

RECOMENDADO: Clique aqui para corrigir problemas do Windows e otimizar o desempenho do sistemaCom...

Consulte Mais informação