Microsoft je začel s preizkušanjem podpore za izvajanje aplikacij GUI Linux v sistemu Windows

Microsoft je napovedal začetek testiranja zmožnosti izvajanja aplikacij Linux z grafičnim vmesnikom v okoljih, ki temeljijo na podsistemu WSL2 (Windows Subsystem for Linux), namenjenem izvajanju izvršljivih datotek Linux v sistemu Windows. Aplikacije so popolnoma integrirane z glavnim namizjem Windows, vključno s podporo za postavljanje bližnjic v meni Start, predvajanje zvoka, snemanje mikrofona, strojno pospeševanje OpenGL, prikaz informacij o programih v opravilni vrstici, preklapljanje med programi z uporabo Alt-Tab, kopiranje podatkov med Windows - in programe Linux prek odložišča.

Microsoft je začel s preizkušanjem podpore za izvajanje aplikacij GUI Linux v sistemu Windows

Za organiziranje izhoda aplikacijskega vmesnika Linux na glavno namizje Windows se uporablja sestavljeni upravitelj RAIL-Shell, ki ga je razvil Microsoft z uporabo protokola Wayland in temelji na kodni bazi Weston. Izhod se izvede z zaledjem RDP-RAIL (lokalno integrirana oddaljena aplikacija RDP), ki se razlikuje od ozadja RDP, ki je bilo prej na voljo v Westonu, po tem, da sestavljeni upravitelj sam ne upodablja namizja, ampak preusmeri posamezne površine (wl_surface) prek RDP. Kanal RAIL za prikaz na glavnem namizju Windows. XWayland se uporablja za izvajanje aplikacij X11.

Microsoft je začel s preizkušanjem podpore za izvajanje aplikacij GUI Linux v sistemu Windows

Zvočni izhod je organiziran s strežnikom PulseAudio, ki prav tako komunicira z Windows prek protokola RDP (vtičnik rdp-sink se uporablja za avdio izhod, vtičnik rdp-source pa za vnos). Sestavljeni strežnik, XWayland in PulseAudio so zapakirani v obliki univerzalne mini distribucije, imenovane WSLGd, ki vključuje komponente za abstrahiranje grafičnih in avdio podsistemov in temelji na distribuciji CBL-Mariner Linux, ki se uporablja tudi v Microsoftovi infrastrukturi oblaka. . WSLGd deluje z uporabo mehanizmov za virtualizacijo, virtio-fs pa se uporablja za deljenje dostopa med gostujočim okoljem Linux in gostiteljskim sistemom Windows.

FreeRDP se uporablja kot strežnik RDP, zagnan v okolju WSLGd Linux, mstsc pa deluje kot odjemalec RDP na strani Windows. Za odkrivanje obstoječih grafičnih aplikacij Linuxa in njihov prikaz v meniju Windows je bil pripravljen upravljalnik WSLDVCPlugin. Z običajnimi distribucijami Linuxa, kot so Ubuntu, Debian in CenOS, nameščenimi v okolju WSL2, nabor komponent, ki se izvajajo v WSLGd, sodeluje z zagotavljanjem vtičnic, ki obravnavajo zahteve z uporabo protokolov Wayland, X11 in PulseAudio. Vezi, pripravljene za WSLGd, se distribuirajo pod licenco MIT.

Namestitev WSLGd zahteva Windows 10 Insider Preview vsaj različico 21362. V prihodnje bo WSLGd na voljo za običajne izdaje sistema Windows, ne da bi bilo treba sodelovati v programu Insider Preview. Namestitev WSLGd se izvede z izvedbo standardnega ukaza “wsl —install”, na primer za Ubuntu - “wsl —install -d Ubuntu”. Za obstoječa okolja WSL2 se namestitev WSLGd izvede z ukazom "wsl --update" (podprta so samo okolja WSL2, ki uporabljajo jedro Linux in ne prevajanja klicev). Grafične aplikacije se namestijo prek standardnega upravitelja paketov distribucije.

WSLGd ponuja samo motorje za 2D grafični izhod, za pospešitev 3D grafike, ki temelji na OpenGL, pa distribucije, nameščene v WSL2, ponujajo uporabo navideznega GPE (vGPU). Gonilniki vGPU za WSL so na voljo za čipe AMD, Intel in NVIDIA. Grafični pospešek je zagotovljen z zagotavljanjem sloja z implementacijo OpenGL prek DirectX 12. Sloj je zasnovan v obliki gonilnika d3d12, ki je vključen v glavni del Mesa 21.0 in se razvija skupaj s Collabora.

Navidezni GPE je implementiran v Linux z uporabo naprave /dev/dxg s storitvami, ki posnemajo WDDM (model gonilnika zaslona Windows) D3DKMT jedra Windows. Gonilnik vzpostavi povezavo s fizično GPE z uporabo vodila VM. Aplikacije Linux imajo enako raven dostopa do GPE kot izvorne aplikacije Windows, brez potrebe po skupni rabi virov med Windows in Linux. Testiranje zmogljivosti na napravi Surface Book Gen3 z Intel GPU je pokazalo, da v izvornem okolju Win32 test Geeks3D GpuTest prikazuje 19 FPS, v okolju Linux z vGPU - 18 FPS in s programskim upodabljanjem v Mesa - 1 FPS.



Vir: opennet.ru

Dodaj komentar