Microsoft je započeo testiranje podrške za pokretanje Linux GUI aplikacija na Windowsima

Microsoft je najavio početak testiranja mogućnosti pokretanja Linux aplikacija sa grafičkim interfejsom u okruženjima baziranim na WSL2 podsistemu (Windows Subsystem for Linux), dizajniranom za pokretanje Linux izvršnih datoteka na Windows-u. Aplikacije su u potpunosti integrirane s glavnom radnom površinom Windowsa, uključujući podršku za postavljanje prečica u Start meni, reprodukciju zvuka, snimanje mikrofona, OpenGL hardversko ubrzanje, prikaz informacija o programima na traci zadataka, prebacivanje između programa pomoću Alt-Tab, kopiranje podataka između Windowsa - i Linux programe preko međuspremnika.

Microsoft je započeo testiranje podrške za pokretanje Linux GUI aplikacija na Windowsima

Za organizaciju izlaza Linux sučelja aplikacije na glavnu Windows radnu površinu, koristi se RAIL-Shell kompozitni menadžer koji je razvio Microsoft, koristeći Wayland protokol i baziran na Weston bazi koda. Izlaz se izvodi pomoću RDP-RAIL (RDP Remote Application Integrated Locally) pozadine, koja se razlikuje od RDP pozadine koja je ranije bila dostupna u Westonu po tome što kompozitni menadžer ne prikazuje samu radnu površinu, već preusmjerava pojedinačne površine (wl_surface) preko RDP-a RAIL kanal za prikaz na glavnoj Windows radnoj površini. XWayland se koristi za pokretanje X11 aplikacija.

Microsoft je započeo testiranje podrške za pokretanje Linux GUI aplikacija na Windowsima

Audio izlaz je organizovan pomoću PulseAudio servera, koji takođe komunicira sa Windows-om koristeći RDP protokol (rdp-sink plugin se koristi za audio izlaz, a rdp-source plugin se koristi za ulaz). Kompozitni server, XWayland i PulseAudio upakovani su u obliku univerzalne mini distribucije nazvane WSLGd, koja uključuje komponente za apstrahovanje grafičkih i audio podsistema, a zasnovana je na CBL-Mariner Linux distribuciji, koja se takođe koristi u Microsoft cloud infrastrukturi. . WSLGd radi koristeći mehanizme virtuelizacije, a virtio-fs se koristi za dijeljenje pristupa između Linux okruženja za goste i Windows host sistema.

FreeRDP se koristi kao RDP server pokrenut u WSLGd Linux okruženju, a mstsc djeluje kao RDP klijent na Windows strani. Za otkrivanje postojećih grafičkih Linux aplikacija i njihovo prikazivanje u Windows izborniku, pripremljen je WSLDVCPlugin handler. S redovnim distribucijama Linuxa kao što su Ubuntu, Debian i CenOS instalirane u WSL2 okruženju, skup komponenti koje se pokreću u WSLGd stupaju u interakciju pružanjem utičnica koje obrađuju zahtjeve koristeći Wayland, X11 i PulseAudio protokole. Vezi pripremljeni za WSLGd se distribuiraju pod MIT licencom.

Instalacija WSLGd zahtijeva Windows 10 Insider Preview najmanje verziju 21362. Ubuduće, WSLGd će biti dostupan za redovna izdanja Windowsa bez potrebe za učešćem u programu Insider Preview. Instalacija WSLGd-a se izvodi izvršavanjem standardne naredbe “wsl —install”, na primjer, za Ubuntu – “wsl —install -d Ubuntu”. Za postojeća WSL2 okruženja, instalacija WSLGd se vrši pomoću naredbe "wsl --update" (podržana su samo WSL2 okruženja koja koriste jezgro Linuxa, a ne prevod poziva). Grafičke aplikacije se instaliraju preko standardnog menadžera paketa distribucije.

WSLGd pruža samo motore za izlaz 2D grafike, a za ubrzavanje 3D grafike zasnovane na OpenGL-u, distribucije instalirane u WSL2 nude korištenje virtuelnog GPU-a (vGPU). vGPU drajveri za WSL su obezbeđeni za AMD, Intel i NVIDIA čipove. Grafičko ubrzanje je obezbeđeno kroz obezbeđivanje sloja sa implementacijom OpenGL-a preko DirectX 12. Sloj je dizajniran u obliku drajvera d3d12, koji je uključen u glavni deo Mesa 21.0 i razvija se zajedno sa Collaborom.

Virtuelni GPU je implementiran u Linux koristeći /dev/dxg uređaj sa uslugama koje repliciraju WDDM (Windows Display Driver Model) D3DKMT Windows kernela. Drajver uspostavlja vezu sa fizičkim GPU-om koristeći VM magistralu. Linux aplikacije imaju isti nivo pristupa GPU-u kao izvorne Windows aplikacije, bez potrebe za dijeljenjem resursa između Windowsa i Linuxa. Testiranje performansi na Surface Book Gen3 uređaju sa Intel GPU-om pokazalo je da u matičnom Win32 okruženju Geeks3D GpuTest test pokazuje 19 FPS, u Linux okruženju sa vGPU - 18 FPS, i sa softverskim renderovanjem u Mesa - 1 FPS.



izvor: opennet.ru

Dodajte komentar