„Microsoft“ pradėjo testuoti „Linux“ GUI programų palaikymą sistemoje „Windows“.

„Microsoft“ paskelbė, kad pradeda testuoti galimybę paleisti „Linux“ programas su grafine sąsaja aplinkoje, pagrįstoje WSL2 posistemiu („Windows Subsystem for Linux“), skirtu „Linux“ vykdomiesiems failams paleisti „Windows“. Programos yra visiškai integruotos į pagrindinį Windows darbalaukį, įskaitant nuorodų įdėjimo meniu Pradėti palaikymą, garso atkūrimą, mikrofono įrašymą, OpenGL aparatinės įrangos spartinimą, informacijos apie programas rodymą užduočių juostoje, programų perjungimą naudojant Alt-Tab, duomenų kopijavimą tarp Windows. - ir Linux programas per mainų sritį.

„Microsoft“ pradėjo testuoti „Linux“ GUI programų palaikymą sistemoje „Windows“.

Norint organizuoti „Linux“ programos sąsajos išvestį į pagrindinį „Windows“ darbalaukį, naudojama „Microsoft“ sukurta „RAIL-Shell“ sudėtinė tvarkyklė, naudojant „Wayland“ protokolą ir pagrįsta Weston kodo baze. Išvestis atliekama naudojant RDP-RAIL (RDP Remote Application Integrated Locally) užpakalinę programą, kuri skiriasi nuo anksčiau Weston galimos RDP užpakalinės programos tuo, kad sudėtinė tvarkyklė nerodo paties darbalaukio, o peradresuoja atskirus paviršius (wl_surface) per KPP. RAIL kanalas, skirtas rodyti pagrindiniame „Windows“ darbalaukyje. XWayland naudojamas X11 programoms paleisti.

„Microsoft“ pradėjo testuoti „Linux“ GUI programų palaikymą sistemoje „Windows“.

Garso išvestis organizuojama naudojant „PulseAudio“ serverį, kuris taip pat sąveikauja su „Windows“ naudodamas RDP protokolą (garso išvesties įskiepis naudojamas „rdp-sink“, o įvestis – „rdp-source“ papildinys). Sudėtinis serveris „XWayland“ ir „PulseAudio“ yra supakuoti į universalų mini paskirstymą, vadinamą WSLGd, kuris apima grafikos ir garso posistemių abstrahavimo komponentus ir yra pagrįstas „CBL-Mariner Linux“ paskirstymu, taip pat naudojamu „Microsoft“ debesų infrastruktūroje. . WSLGd veikia naudojant virtualizacijos mechanizmus, o virtio-fs naudojamas dalytis prieiga tarp Linux svečio aplinkos ir Windows prieglobos sistemos.

FreeRDP naudojamas kaip KPP serveris, paleistas WSLGd Linux aplinkoje, o mstsc veikia kaip KPP klientas Windows pusėje. Norint aptikti esamas grafines Linux programas ir rodyti jas Windows meniu, buvo paruošta WSLDVCPlugin tvarkytuvė. WSL2 aplinkoje įdiegus įprastus Linux platinimus, tokius kaip Ubuntu, Debian ir CenOS, WSLGd veikiantis komponentų rinkinys sąveikauja pateikdamas lizdus, ​​apdorojančius užklausas naudojant Wayland, X11 ir PulseAudio protokolus. WSLGd paruošti apkaustai platinami pagal MIT licenciją.

Norint įdiegti WSLGd, reikalinga „Windows 10 Insider Preview“ bent 21362 versija. Ateityje WSLGd bus galima naudoti įprastuose „Windows“ leidimuose, nedalyvaujant „Insider Preview“ programoje. WSLGd diegimas atliekamas vykdant standartinę komandą „wsl —install“, pavyzdžiui, Ubuntu - „wsl —install -d Ubuntu“. Esamose WSL2 aplinkose WSLGd įdiegimas atliekamas naudojant komandą „wsl --update“ (palaikomos tik WSL2 aplinkos, kurios naudoja „Linux“ branduolį, o ne iškvietimo vertimą). Grafinės programos įdiegiamos per standartinę platinimo paketų tvarkyklę.

WSLGd teikia tik 2D grafikos išvesties variklius, o norint pagreitinti 3D grafiką, pagrįstą OpenGL, WSL2 įdiegtuose platinimuose siūloma naudoti virtualų GPU (vGPU). WSL vGPU tvarkyklės pateikiamos AMD, Intel ir NVIDIA lustams. Grafinis pagreitis užtikrinamas suteikiant sluoksnį, kuriame įdiegta OpenGL per DirectX 12. Sluoksnis sukurtas d3d12 tvarkyklės forma, kuri yra įtraukta į pagrindinę Mesa 21.0 dalį ir kuriama kartu su Collabora.

Virtualus GPU įdiegtas Linux sistemoje naudojant /dev/dxg įrenginį su paslaugomis, kurios atkartoja Windows branduolio WDDM (Windows Display Driver Model) D3DKMT. Vairuotojas užmezga ryšį su fiziniu GPU naudodamas VM magistralę. „Linux“ programos turi tokį patį GPU prieigos lygį kaip ir „Windows“ programos, nereikia dalytis ištekliais tarp „Windows“ ir „Linux“. „Surface Book Gen3“ įrenginio su „Intel“ GPU našumo testavimas parodė, kad „Geeks32D GpuTest“ testas įprastoje „Win3“ aplinkoje demonstruoja 19 FPS, „Linux“ aplinkoje su vGPU – 18 FPS, o programinės įrangos atvaizdavimas „Mesa“ – 1 FPS.



Šaltinis: opennet.ru

Добавить комментарий