WSU GPU, o recurso que dá acesso a apps gráficos do Linux na WSL

Conheça melhor a GPU WSU, uma implementação para dar acesso a aplicativos gráficos do Linux na WSL. Confira os detalhes dessa tecnologia.

Na semana passada, os desenvolvedores da Microsoft anunciaram várias melhorias significativas no subsistema Windows Subsystem for Linux (WSL), que permite que aplicativos Linux sejam executados no Windows.

Desde o início da atualização de 10 de maio do Windows 10, a primeira instalação do ambiente Linux usará a camada WSL2 por padrão.

O ambiente WSL2 é executado em uma imagem de disco separada (VHD) com o sistema de arquivos ext4 e o adaptador de rede virtual.

O kernel do Linux no WSL2 não será incluído na imagem de instalação do Windows, mas o Windows o carregará dinamicamente e o manterá em sua forma atual, semelhante à forma como os drivers gráficos são instalados e atualizados.

Para instalar e atualizar o kernel, será usado o mecanismo padrão do Windows Update.

O kernel proposto para o WSL2 é baseado no lançamento do kernel Linux 4.19, que é executado em um ambiente Windows usando uma máquina virtual que já está em uso no Azure.
 
Os patches específicos do WSL2 usados ​​no kernel incluem otimizações para reduzir o tempo de inicialização do kernel, reduzir o consumo de memória, retornar o Windows à memória liberada pelos processos Linux e deixar o conjunto mínimo de drivers e subsistemas necessários no kernel .

Além do mencionado, outra novidade que se destaca é o suporte inicial para aplicativos Linux com uma interface gráfica “WSU GPU”.

WSU GPU, o recurso que dá acesso a aplicativos gráficos do Linux na WSL

WSU GPU, o recurso que dá acesso a aplicativos gráficos do Linux na WSL

 
O suporte é implementado virtualizando o acesso à GPU e fornecendo drivers pelos quais subsistemas gráficos regulares de distribuições Linux, incluindo aqueles baseados em Wayland, podem operar.

Os aplicativos gráficos Linux e Windows podem ser executados lado a lado na área de trabalho do Windows.

“Um driver dxgkrnl aberto foi preparado para o kernel do Linux, que fornece a um dispositivo /dev/dxg serviços que ecoam o modelo do driver de vídeo do Windows D3DKMT do Windows (WDDM). O controlador estabelece uma conexão com a GPU física usando o barramento da VM. Os aplicativos Linux têm o mesmo nível de acesso à GPU que os aplicativos nativos do Windows sem compartilhar recursos entre o Windows e o Linux.”

Além disso, a biblioteca libd3d12.so é fornecida para Linux, que fornece a API gráfica completa do Direct3D 12.

A biblioteca libd3d12.so é criada a partir do mesmo código da implementação nativa do Windows do Direct3D 12 e é completamente semelhante em funcionalidade à biblioteca d3d12.dll.

Uma versão simplificada da API DXGI (DirectX Graphics Infrastructure) também é fornecida no formato da biblioteca DxCore (libdxcore.so).

As bibliotecas libd3d12.so e libdxcore.so são proprietárias e entregues apenas em construções binárias (montadas no WSL como /usr/lib/wsl/lib), compatíveis com Ubuntu, Debian, Fedora, Centos, SUSE e outras distribuições baseadas em Glibc .

O suporte ao OpenGL no Mesa é fornecido por meio de uma camada que traduz as chamadas para a API do DirectX 12. O método para implementar a API Vulkan ainda está em fase de planejamento.

No primeiro estágio, em ambientes WSL, haverá suporte para CUDA e DirectML, trabalhando na API D3D12 (por exemplo, em um ambiente Linux, você pode executar o TensorFlow com um back-end para DirectML).

O suporte ao OpenCL é possível por meio de uma camada que realiza a alocação de chamadas na API do DirectX 12.

A Microsoft está desenvolvendo seu administrador composto usando o protocolo Wayland e com base na base de código Weston.

O administrador composto usa o RDP-RAIL (aplicativo remoto RDP integrado localmente) para organizar a saída da interface do aplicativo Linux na área de trabalho principal do Windows.

O RDP-RAIL difere do back-end RDP anteriormente disponível em Weston, pois o gerenciador composto não processa a área de trabalho, mas redireciona as superfícies individuais (wl_surface) através do canal RDP RAIL para exibi-las na área de trabalho principal do Windows.

Além disso, uma instalação da WSL com o comando simples wsl.exe –install será suportada em breve.

Por fim, se você quiser saber mais, consulte os detalhes nesse endereço.

O que está sendo falado no blog

Sair da versão mobile