Microsoft har begynt å teste støtte for å kjøre Linux GUI-applikasjoner på Windows

Microsoft har annonsert starten på å teste muligheten til å kjøre Linux-applikasjoner med et grafisk grensesnitt i miljøer basert på WSL2-undersystemet (Windows Subsystem for Linux), designet for å kjøre Linux-kjørbare filer på Windows. Applikasjoner er fullt integrert med hoved-Windows-skrivebordet, inkludert støtte for å plassere snarveier i Start-menyen, lydavspilling, mikrofonopptak, OpenGL maskinvareakselerasjon, visning av informasjon om programmer på oppgavelinjen, bytte mellom programmer ved hjelp av Alt-Tab, kopiering av data mellom Windows - og Linux-programmer via utklippstavlen.

Microsoft har begynt å teste støtte for å kjøre Linux GUI-applikasjoner på Windows

For å organisere utdataene fra Linux-applikasjonsgrensesnittet til hoved-Windows-skrivebordet, brukes RAIL-Shell-komposittbehandleren utviklet av Microsoft, ved hjelp av Wayland-protokollen og basert på Weston-kodebasen. Utdata utføres ved å bruke RDP-RAIL (RDP Remote Application Integrated Locally) backend, som skiller seg fra RDP-backend som tidligere var tilgjengelig i Weston ved at den sammensatte administratoren ikke gjengir skrivebordet selv, men omdirigerer individuelle overflater (wl_surface) over RDP. RAIL-kanal for visning på hovedvinduet i Windows. XWayland brukes til å kjøre X11-applikasjoner.

Microsoft har begynt å teste støtte for å kjøre Linux GUI-applikasjoner på Windows

Lydutgang organiseres ved hjelp av PulseAudio-serveren, som også samhandler med Windows ved hjelp av RDP-protokollen (rdp-sink-plugin brukes for lydutgang, og rdp-kildeplugin brukes for input). Den sammensatte serveren, XWayland og PulseAudio er pakket i form av en universell minidistribusjon kalt WSLGd, som inkluderer komponenter for å abstrahere grafikk- og lydundersystemene, og er basert på CBL-Mariner Linux-distribusjonen, også brukt i Microsofts skyinfrastruktur . WSLGd kjører ved hjelp av virtualiseringsmekanismer, og virtio-fs brukes til å dele tilgang mellom Linux-gjestemiljøet og Windows-vertssystemet.

FreeRDP brukes som en RDP-server lansert i WSLGd Linux-miljøet, og mstsc fungerer som en RDP-klient på Windows-siden. For å oppdage eksisterende grafiske Linux-applikasjoner og vise dem i Windows-menyen, er det utarbeidet en WSLDVCPlugin-behandler. Med vanlige Linux-distribusjoner som Ubuntu, Debian og CenOS installert i et WSL2-miljø, samhandler settet med komponenter som kjører i WSLGd ved å tilby sockets som håndterer forespørsler ved hjelp av Wayland-, X11- og PulseAudio-protokollene. Bindingene utarbeidet for WSLGd er distribuert under MIT-lisensen.

Installasjon av WSLGd krever Windows 10 Insider Preview minst versjon 21362. Fremover vil WSLGd være tilgjengelig for vanlige utgaver av Windows uten å måtte delta i Insider Preview-programmet. Installasjon av WSLGd utføres ved å utføre standardkommandoen "wsl —install", for eksempel for Ubuntu - "wsl —install -d Ubuntu". For eksisterende WSL2-miljøer, installeres WSLGd ved å bruke kommandoen "wsl --update" (bare WSL2-miljøer som bruker Linux-kjernen og ikke kalleoversettelse støttes). Grafiske applikasjoner installeres gjennom distribusjonens standard pakkebehandling.

WSLGd gir kun motorer for 2D-grafikkutgang, og for å akselerere 3D-grafikk basert på OpenGL, tilbyr distribusjoner installert i WSL2 bruk av en virtuell GPU (vGPU). vGPU-drivere for WSL leveres for AMD-, Intel- og NVIDIA-brikker. Grafikkakselerasjon leveres gjennom tilveiebringelse av et lag med implementering av OpenGL over DirectX 12. Laget er designet i form av d3d12-driveren, som er inkludert i hoveddelen av Mesa 21.0 og utvikles i fellesskap med Collabora.

Den virtuelle GPUen er implementert i Linux ved å bruke /dev/dxg-enheten med tjenester som replikerer WDDM (Windows Display Driver Model) D3DKMT til Windows-kjernen. Driveren oppretter en forbindelse til den fysiske GPUen ved hjelp av VM-bussen. Linux-applikasjoner har samme nivå av GPU-tilgang som native Windows-applikasjoner, uten behov for ressursdeling mellom Windows og Linux. Ytelsestesting på en Surface Book Gen3-enhet med en Intel GPU viste at i det opprinnelige Win32-miljøet demonstrerer Geeks3D GpuTest-testen 19 FPS, i et Linux-miljø med vGPU - 18 FPS, og med programvaregjengivelse i Mesa - 1 FPS.



Kilde: opennet.ru

Legg til en kommentar