Spoločnosť Microsoft začala testovať podporu pre spúšťanie aplikácií GUI pre Linux v systéme Windows

Spoločnosť Microsoft oznámila začiatok testovania schopnosti spúšťať linuxové aplikácie s grafickým rozhraním v prostrediach založených na subsystéme WSL2 (Windows Subsystem for Linux), ktorý je určený na spúšťanie linuxových spustiteľných súborov v systéme Windows. Aplikácie sú plne integrované s hlavnou pracovnou plochou Windows, vrátane podpory umiestňovania skratiek do ponuky Štart, prehrávania zvuku, nahrávania mikrofónu, hardvérovej akcelerácie OpenGL, zobrazovania informácií o programoch na paneli úloh, prepínania medzi programami pomocou Alt-Tab, kopírovania údajov medzi Windows - a Linuxové programy cez schránku.

Spoločnosť Microsoft začala testovať podporu pre spúšťanie aplikácií GUI pre Linux v systéme Windows

Na organizáciu výstupu linuxového aplikačného rozhrania na hlavnú plochu Windows sa používa kompozitný manažér RAIL-Shell vyvinutý spoločnosťou Microsoft, ktorý používa protokol Wayland a je založený na kódovej základni Weston. Výstup sa vykonáva pomocou backendu RDP-RAIL (RDP Remote Application Integrated Locally), ktorý sa líši od backendu RDP predtým dostupného vo Westone v tom, že kompozitný manažér nevykresľuje samotný desktop, ale presmeruje jednotlivé povrchy (wl_surface) cez RDP. RAIL kanál pre zobrazenie na hlavnej ploche Windows. XWayland sa používa na spúšťanie aplikácií X11.

Spoločnosť Microsoft začala testovať podporu pre spúšťanie aplikácií GUI pre Linux v systéme Windows

Zvukový výstup je organizovaný pomocou servera PulseAudio, ktorý tiež komunikuje s Windows pomocou protokolu RDP (na výstup zvuku sa používa zásuvný modul rdp-sink a na vstup sa používa zásuvný modul rdp-source). Kompozitný server, XWayland a PulseAudio sú zabalené vo forme univerzálnej minidistribúcie s názvom WSLGd, ktorá obsahuje komponenty na abstrahovanie grafických a zvukových subsystémov a je založená na distribúcii CBL-Mariner Linux, ktorá sa používa aj v cloudovej infraštruktúre spoločnosti Microsoft. . WSLGd beží pomocou virtualizačných mechanizmov a virtio-fs sa používa na zdieľanie prístupu medzi hosťovským prostredím Linuxu a hostiteľským systémom Windows.

FreeRDP sa používa ako server RDP spustený v prostredí WSLGd Linux a mstsc funguje ako klient RDP na strane Windows. Na detekciu existujúcich grafických aplikácií pre Linux a ich zobrazenie v ponuke Windows bol pripravený obslužný program WSLDVCPlugin. S bežnými linuxovými distribúciami, ako sú Ubuntu, Debian a CenOS nainštalované v prostredí WSL2, sada komponentov bežiacich vo WSLGd interaguje poskytovaním soketov, ktoré spracovávajú požiadavky pomocou protokolov Wayland, X11 a PulseAudio. Väzby pripravené pre WSLGd sú distribuované pod licenciou MIT.

Inštalácia WSLGd vyžaduje Windows 10 Insider Preview aspoň vo verzii 21362. Odteraz bude WSLGd k dispozícii pre bežné edície Windowsu bez nutnosti účasti v programe Insider Preview. Inštalácia WSLGd sa vykonáva spustením štandardné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 pomocou príkazu "wsl --update" (podporované sú iba prostredia WSL2, ktoré používajú jadro Linuxu a nie preklad hovorov). Grafické aplikácie sa inštalujú cez štandardného správcu balíkov distribúcie.

WSLGd poskytuje iba motory pre výstup 2D grafiky a na zrýchlenie 3D grafiky založenej na OpenGL ponúkajú distribúcie nainštalované vo WSL2 použitie virtuálneho GPU (vGPU). Ovládače vGPU pre WSL sú k dispozícii pre čipy AMD, Intel a NVIDIA. Grafická akcelerácia je zabezpečená poskytnutím vrstvy s implementáciou OpenGL cez DirectX 12. Vrstva je navrhnutá vo forme ovládača d3d12, ktorý je súčasťou hlavnej časti Mesa 21.0 a je vyvíjaný spoločne s Collabora.

Virtuálny GPU je implementovaný v Linuxe pomocou zariadenia /dev/dxg so službami, ktoré replikujú WDDM (Windows Display Driver Model) D3DKMT jadra Windowsu. Ovládač vytvorí pripojenie k fyzickému GPU pomocou zbernice VM. Linuxové aplikácie majú rovnakú úroveň prístupu GPU ako natívne Windows aplikácie, bez potreby zdieľania zdrojov medzi Windows a Linuxom. Testovanie výkonu na zariadení Surface Book Gen3 s GPU Intel ukázalo, že v natívnom prostredí Win32 test Geeks3D GpuTest demonštruje 19 FPS, v prostredí Linuxu s vGPU - 18 FPS a so softvérovým vykresľovaním v Mesa - 1 FPS.



Zdroj: opennet.ru

Pridať komentár