Microsoft začal testovanie podpory spúšťania GUI aplikácií Linux v systéme Windows

Spoločnosť Microsoft oznámila začiatok testovania možnosti spustenia aplikácií Linux s grafickým rozhraním v prostrediach postavených na subsystéme WSL2 (Windows Subsystem for Linux), určenom na spúšťanie spustiteľných súborov Linux vo Windows. Aplikácie sú plne integrované s hlavnou pracovnou plochou Windows, vrátane podpory umiestnenia skratiek v menu Štart, prehrávania zvuku, nahrávania z mikrofónu, hardvérového zrýchlenia OpenGL, zobrazovania informácií o programoch na paneli úloh, prepínania medzi programami pomocou klávesových skratiek Alt-Tab a kopírovania dát medzi programami Windows a Linux cez schránku.

Microsoft začal testovanie podpory spúšťania GUI aplikácií Linux v systéme Windows

Na organizáciu výstupu rozhrania aplikácií Linux na hlavnej pracovnej ploche Windows sa využíva kompozitný správca RAIL-Shell, ktorý bol vyvinutý v spoločnosti Microsoft, využíva protokol Wayland a je založený na kódovej báze Weston. Výstup sa realizuje prostredníctvom backendu RDP-RAIL (RDP Remote Application Integrated Locally), ktorý sa od predtým dostupného backendu RDP vo Westone líši tým, že kompozitný správca nevykonáva samotné vykresľovanie pracovnej plochy, ale presmerováva jednotlivé povrchy (wl_surface) cez kanál RDP RAIL na zobrazenie na hlavnej pracovnej ploche Windows. Na spúšťanie aplikácií X11 sa používa XWayland.

Microsoft začal testovanie podpory spúšťania GUI aplikácií Linux v systéme Windows

Výstup zvuku je organizovaný pomocou servera PulseAudio, ktorý tiež interaguje s Windows prostredníctvom protokolu RDP (na výstup zvuku sa používa plugin rdp-sink a na vstup – rdp-source). Kompozitný server, XWayland a PulseAudio sú zabalené vo forme univerzálneho mini-distro WSLGd, ktoré obsahuje komponenty na abstrahovanie grafického a zvukového subsystému a je založené na diste CBL-Mariner Linux, ktoré sa tiež používa v cloudovej infraštruktúre Microsoft. WSLGd sa spúšťa pomocou mechanizmov virtualizácie a na zdieľanie medzi hosťujúcim prostredím Linux a hostiteľským systémom Windows sa používa virtio-fs.

Ako RDP-server, spusteného v prostredí Linux WSLGd, sa používa FreeRDP, pričom RDP klientom na strane Windows je mstsc. Na určenie existujúcich grafických aplikácií Linux a ich zobrazenie v ponuke Windows je pripravený spracovateľ WSLDVCPlugin. S nainštalovanými bežnými distribúciami Linux v prostredí WSL2, ako sú Ubuntu, Debian a CentOS, vykonávajúci sa v WSLGd súbor komponentov interaguje prostredníctvom poskytovania soketov, ktoré spracovávajú požiadavky protokolmi Wayland, X11 a PulseAudio. Pripravené pre WSLGd obvody sú distribuované pod licenciou MIT.

Pre inštaláciu WSLGd je potrebné mať Windows 10 Insider Preview aspoň verzie 21362. V budúcnosti bude možnosť inštalácie WSLGd poskytnutá aj pre bežné verzie Windows bez nutnosti účasti v programe Insider Preview. Inštalácia WSLGd sa vykonáva pomocou typického príkazu „wsl —install“, napríklad pre Ubuntu — „wsl —install -d Ubuntu“. Pre existujúce prostredia WSL2 sa inštalácia WSLGd vykonáva príkazom „wsl —update“ (podporujú sa len prostredia WSL2, v ktorých sa používa Linux jadro, a nie translácia volaní). Grafické aplikácie sa inštalujú cez štandardného správcu balíkov distribúcie.

WSLGd poskytuje iba mechanizmy na výstup 2D grafiky, a pre zrýchlenie 3D grafiky na báze OpenGL v inštalovaných distribúciách WSL2 sa navrhuje použiť virtuálny GPU (vGPU). Ovládače vGPU pre WSL sú poskytnuté pre čipy AMD, Intel a NVIDIA. Zrýchlenie grafiky je zabezpečené prostredníctvom poskytovania vrstvy s implementáciou OpenGL nad DirectX 12. Vrstva je realizovaná vo forme ovládača d3d12, ktorý je súčasťou Mesa 21.0 a je vyvíjaný spoločne so spoločnosťou Collabora.

Funkcia virtuálneho GPU sa realizuje v systéme Linux prostredníctvom zariadenia /dev/dxg so službami, ktoré duplikujú WDDM (Windows Display Driver Model) D3DKMT jadra Windows. Ovládač organizuje spojenie s fyzickým GPU pomocou VM bus. Aplikácie pre Linux majú rovnakú úroveň prístupu k GPU ako natívne aplikácie pre Windows, bez použitia rozdelenia zdrojov medzi Windows a Linux. Testovanie výkonu na zariadení Surface Book Gen3 s GPU Intel ukázalo, že v natívnom Win32 prostredí test Geeks3D GpuTest dosahuje 19 FPS, v prostredí Linux s vGPU — 18 FPS, a pri softvérovej kresbe v Mesa — 1 FPS.

Prehrajte video


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster