Microsoft comezou a probar o soporte para executar aplicacións GUI de Linux en Windows

Microsoft anunciou o inicio das probas da capacidade de executar aplicacións Linux cunha interface gráfica en contornos baseados no subsistema WSL2 (Windows Subsystem for Linux), deseñados para executar ficheiros executables de Linux en Windows. As aplicacións están totalmente integradas co escritorio principal de Windows, incluíndo soporte para colocar atallos no menú Inicio, reprodución de audio, gravación de micrófono, aceleración de hardware OpenGL, visualización de información sobre programas na barra de tarefas, cambio de programas usando Alt-Tab, copia de datos entre Windows - e programas Linux a través do portapapeis.

Microsoft comezou a probar o soporte para executar aplicacións GUI de Linux en Windows

Para organizar a saída da interface da aplicación Linux ao escritorio principal de Windows, utilízase o xestor composto RAIL-Shell desenvolvido por Microsoft, utilizando o protocolo Wayland e baseado na base de código Weston. A saída realízase mediante o backend RDP-RAIL (RDP Remote Application Integrated Locally), que se diferencia do backend RDP dispoñible anteriormente en Weston en que o xestor composto non renderiza o propio escritorio, senón que redirixe as superficies individuais (wl_surface) sobre o RDP. Canle RAIL para mostrar no escritorio principal de Windows. XWayland úsase para executar aplicacións X11.

Microsoft comezou a probar o soporte para executar aplicacións GUI de Linux en Windows

A saída de audio organízase mediante o servidor PulseAudio, que tamén interactúa con Windows mediante o protocolo RDP (utilízase o complemento rdp-sink para a saída de audio e o complemento rdp-source para a entrada). O servidor composto, XWayland e PulseAudio están empaquetados en forma dunha minidistribución universal chamada WSLGd, que inclúe compoñentes para abstraer os subsistemas de gráficos e audio, e está baseada na distribución CBL-Mariner Linux, tamén utilizada na infraestrutura cloud de Microsoft. . WSLGd execútase mediante mecanismos de virtualización e virtio-fs utilízase para compartir o acceso entre o ambiente de hóspede Linux e o sistema host de Windows.

FreeRDP úsase como un servidor RDP lanzado no ambiente Linux WSLGd e mstsc actúa como cliente RDP no lado de Windows. Para detectar aplicacións gráficas de Linux existentes e visualizalas no menú de Windows, preparouse un controlador WSLDVCPlugin. Con distribucións regulares de Linux como Ubuntu, Debian e CenOS instaladas nun ambiente WSL2, o conxunto de compoñentes que se executan en WSLGd interactúa proporcionando sockets que xestionan solicitudes mediante os protocolos Wayland, X11 e PulseAudio. Os enlaces preparados para WSLGd distribúense baixo a licenza MIT.

A instalación de WSLGd require Windows 10 Insider Preview polo menos a versión 21362. No futuro, WSLGd estará dispoñible para as edicións normais de Windows sen necesidade de participar no programa Insider Preview. A instalación de WSLGd realízase executando o comando estándar "wsl -install", por exemplo, para Ubuntu - "wsl -install -d Ubuntu". Para os contornos WSL2 existentes, a instalación de WSLGd realízase mediante o comando "wsl --update" (só son compatibles os ambientes WSL2 que usan o núcleo de Linux e non a tradución de chamadas). As aplicacións gráficas instálanse a través do xestor de paquetes estándar da distribución.

WSLGd ofrece só motores para a saída de gráficos 2D e, para acelerar os gráficos 3D baseados en OpenGL, as distribucións instaladas en WSL2 ofrecen o uso dunha GPU virtual (vGPU). Os controladores vGPU para WSL ofrécense para chips AMD, Intel e NVIDIA. A aceleración gráfica prodúcese mediante a provisión dunha capa coa implementación de OpenGL sobre DirectX 12. A capa está deseñada en forma de controlador d3d12, que se inclúe na parte principal de Mesa 21.0 e que se está a desenvolver conxuntamente con Collabora.

A GPU virtual está implementada en Linux mediante o dispositivo /dev/dxg con servizos que replican o WDDM (Windows Display Driver Model) D3DKMT do kernel de Windows. O controlador establece unha conexión coa GPU física mediante o bus VM. As aplicacións de Linux teñen o mesmo nivel de acceso á GPU que as aplicacións nativas de Windows, sen necesidade de compartir recursos entre Windows e Linux. As probas de rendemento nun dispositivo Surface Book Gen3 cunha GPU Intel mostraron que no entorno Win32 nativo, a proba Geeks3D GpuTest demostra 19 FPS, nun entorno Linux con vGPU - 18 FPS e con renderizado de software en Mesa - 1 FPS.



Fonte: opennet.ru

Engadir un comentario