Microsoft is begonnen met het testen van ondersteuning voor het uitvoeren van Linux GUI-applicaties op Windows

Microsoft heeft de start aangekondigd van het testen van de mogelijkheid om Linux-applicaties uit te voeren met een grafische interface in omgevingen gebaseerd op het WSL2-subsysteem (Windows Subsystem for Linux), ontworpen om uitvoerbare Linux-bestanden op Windows uit te voeren. Applicaties zijn volledig geïntegreerd met het Windows-hoofdbureaublad, inclusief ondersteuning voor het plaatsen van snelkoppelingen in het Start-menu, het afspelen van audio, microfoonopname, OpenGL-hardwareversnelling, weergave van informatie over programma's in de taakbalk, schakelen tussen programma's met Alt-Tab, het kopiëren van gegevens tussen Windows - en Linux-programma's via het klembord.

Microsoft is begonnen met het testen van ondersteuning voor het uitvoeren van Linux GUI-applicaties op Windows

Om de uitvoer van de Linux-applicatie-interface naar het Windows-hoofdbureaublad te organiseren, wordt de door Microsoft ontwikkelde RAIL-Shell-composietmanager gebruikt, die het Wayland-protocol gebruikt en gebaseerd is op de Weston-codebasis. De uitvoer wordt uitgevoerd met behulp van de RDP-RAIL-backend (RDP Remote Application Integrated Locally), die verschilt van de RDP-backend die voorheen beschikbaar was in Weston, doordat de samengestelde manager de desktop zelf niet rendert, maar individuele oppervlakken (wl_surface) omleidt via de RDP RAIL-kanaal voor weergave op het Windows-hoofdbureaublad. XWayland wordt gebruikt om X11-applicaties uit te voeren.

Microsoft is begonnen met het testen van ondersteuning voor het uitvoeren van Linux GUI-applicaties op Windows

De audio-uitvoer wordt georganiseerd met behulp van de PulseAudio-server, die ook samenwerkt met Windows via het RDP-protocol (de rdp-sink-plug-in wordt gebruikt voor audio-uitvoer en de rdp-source-plug-in wordt gebruikt voor invoer). De samengestelde server, XWayland en PulseAudio zijn verpakt in de vorm van een universele minidistributie genaamd WSLGd, die componenten bevat voor het abstraheren van de grafische en audio-subsystemen, en is gebaseerd op de CBL-Mariner Linux-distributie, ook gebruikt in de Microsoft-cloudinfrastructuur . WSLGd draait met behulp van virtualisatiemechanismen, en virtiofs wordt gebruikt om de toegang te delen tussen de Linux-gastomgeving en het Windows-hostsysteem.

FreeRDP wordt gebruikt als een RDP-server die wordt gelanceerd in de WSLGd Linux-omgeving, en mstsc fungeert als een RDP-client aan de Windows-kant. Om bestaande grafische Linux-applicaties te detecteren en in het Windows-menu weer te geven, is een WSLDVCPlugin-handler voorbereid. Met conventionele Linux-distributies zoals Ubuntu, Debian en CenOS geïnstalleerd in een WSL2-omgeving, werkt de reeks componenten die in WSLGd draaien samen door sockets te bieden die verzoeken afhandelen met behulp van de Wayland-, X11- en PulseAudio-protocollen. De bindingen die zijn voorbereid voor WSLGd worden gedistribueerd onder de MIT-licentie.

Voor de installatie van WSLGd is Windows 10 Insider Preview minimaal versie 21362 vereist. In de toekomst zal WSLGd beschikbaar zijn voor reguliere edities van Windows zonder dat deelname aan het Insider Preview-programma nodig is. De installatie van WSLGd wordt uitgevoerd door het standaardcommando “wsl —install” uit te voeren, bijvoorbeeld voor Ubuntu - “wsl —install -d Ubuntu”. Voor bestaande WSL2-omgevingen wordt de installatie van WSLGd gedaan met behulp van de opdracht "wsl --update" (alleen WSL2-omgevingen die de Linux-kernel gebruiken en geen aanroepvertaling gebruiken, worden ondersteund). Grafische applicaties worden geïnstalleerd via de standaard pakketbeheerder van de distributie.

WSLGd biedt alleen engine voor 2D grafische uitvoer, en om 3D graphics op basis van OpenGL te versnellen, bieden distributies die in WSL2 zijn geïnstalleerd het gebruik van een virtuele GPU (vGPU). Er zijn vGPU-stuurprogramma's voor WSL beschikbaar voor AMD-, Intel- en NVIDIA-chips. Grafische versnelling wordt geboden door het aanbieden van een laag met de implementatie van OpenGL via DirectX 12. De laag is ontworpen in de vorm van het d3d12-stuurprogramma, dat is opgenomen in het hoofdgedeelte van Mesa 21.0 en samen met Collabora wordt ontwikkeld.

De virtuele GPU wordt in Linux geïmplementeerd met behulp van het /dev/dxg-apparaat met services die de WDDM (Windows Display Driver Model) D3DKMT van de Windows-kernel repliceren. Het stuurprogramma brengt via de VM-bus een verbinding tot stand met de fysieke GPU. Linux-applicaties hebben hetzelfde GPU-toegangsniveau als native Windows-applicaties, zonder dat er bronnen hoeven te worden gedeeld tussen Windows en Linux. Prestatietests op een Surface Book Gen3-apparaat met een Intel GPU hebben aangetoond dat de Geeks32D GpuTest-test in de native Win3-omgeving 19 FPS aantoont, in een Linux-omgeving met vGPU - 18 FPS en met softwarerendering in Mesa - 1 FPS.



Bron: opennet.ru

Voeg een reactie