Společnost Microsoft začala testovat podporu pro spouštění aplikací GUI pro Linux na Windows

Společnost Microsoft oznámila zahájení testování schopnosti spouštět linuxové aplikace s grafickým rozhraním v prostředích založených na subsystému WSL2 (Windows Subsystem for Linux), určeném ke spouštění spustitelných souborů Linuxu na Windows. Aplikace jsou plně integrovány s hlavní plochou Windows, včetně podpory umístění zástupců v nabídce Start, přehrávání zvuku, nahrávání mikrofonu, hardwarové akcelerace OpenGL, zobrazování informací o programech na hlavním panelu, přepínání mezi programy pomocí Alt-Tab, kopírování dat mezi Windows - a linuxové programy prostřednictvím schránky.

Společnost Microsoft začala testovat podporu pro spouštění aplikací GUI pro Linux na Windows

Pro uspořádání výstupu linuxového aplikačního rozhraní na hlavní plochu Windows se používá kompozitní manažer RAIL-Shell vyvinutý společností Microsoft, využívající protokol Wayland a založený na kódové základně Weston. Výstup se provádí pomocí backendu RDP-RAIL (RDP Remote Application Integrated Locally), který se liší od backendu RDP dříve dostupného ve Westonu v tom, že kompozitní manažer nevykresluje samotný desktop, ale přesměrovává jednotlivé povrchy (wl_surface) přes RDP. Kanál RAIL pro zobrazení na hlavní ploše Windows. XWayland se používá ke spouštění aplikací X11.

Společnost Microsoft začala testovat podporu pro spouštění aplikací GUI pro Linux na Windows

Zvukový výstup je organizován pomocí serveru PulseAudio, který také komunikuje s Windows pomocí protokolu RDP (pro výstup zvuku se používá plugin rdp-sink a pro vstup se používá plugin rdp-source). Kompozitní server, XWayland a PulseAudio jsou zabaleny ve formě univerzální minidistribuce nazvané WSLGd, která obsahuje komponenty pro abstrahování grafických a zvukových subsystémů a je založena na distribuci CBL-Mariner Linux, která se také používá v cloudové infrastruktuře společnosti Microsoft. . WSLGd běží pomocí virtualizačních mechanismů a virtio-fs se používá ke sdílení přístupu mezi prostředím hosta Linuxu a hostitelským systémem Windows.

FreeRDP se používá jako RDP server spuštěný v prostředí WSLGd Linux a mstsc funguje jako RDP klient na straně Windows. Pro detekci existujících grafických linuxových aplikací a jejich zobrazení v nabídce Windows byl připraven obslužný program WSLDVCPlugin. S konvenčními linuxovými distribucemi, jako je Ubuntu, Debian a CenOS nainstalovanými v prostředí WSL2, sada komponent běžících ve WSLGd interaguje poskytováním soketů, které zpracovávají požadavky pomocí protokolů Wayland, X11 a PulseAudio. Vazby připravené pro WSLGd jsou distribuovány pod licencí MIT.

Instalace WSLGd vyžaduje Windows 10 Insider Preview alespoň verze 21362. V budoucnu bude WSLGd k dispozici pro běžné edice Windows bez nutnosti účasti v programu Insider Preview. Instalace WSLGd se provádí provedením standardního příkazu „wsl —install“, například pro Ubuntu – „wsl —install -d Ubuntu“. U stávajících prostředí WSL2 se instalace WSLGd provádí pomocí příkazu "wsl --update" (podporována jsou pouze prostředí WSL2, která používají jádro Linuxu a nikoli překlad volání). Grafické aplikace se instalují prostřednictvím standardního správce balíčků distribuce.

WSLGd poskytuje pouze motory pro 2D grafický výstup a pro akceleraci 3D grafiky založené na OpenGL nabízejí distribuce nainstalované ve WSL2 použití virtuálního GPU (vGPU). Ovladače vGPU pro WSL jsou poskytovány pro čipy AMD, Intel a NVIDIA. Grafická akcelerace je zajištěna poskytnutím vrstvy s implementací OpenGL nad DirectX 12. Vrstva je navržena ve formě ovladače d3d12, který je součástí hlavní části Mesa 21.0 a je vyvíjen společně s Collabora.

Virtuální GPU je implementováno v Linuxu pomocí zařízení /dev/dxg se službami, které replikují WDDM (Windows Display Driver Model) D3DKMT jádra Windows. Ovladač naváže připojení k fyzickému GPU pomocí sběrnice VM. Linuxové aplikace mají stejnou úroveň přístupu GPU jako nativní aplikace pro Windows, bez nutnosti sdílení prostředků mezi Windows a Linuxem. Testování výkonu na zařízení Surface Book Gen3 s GPU Intel ukázalo, že v nativním prostředí Win32 test Geeks3D GpuTest prokazuje 19 FPS, v prostředí Linuxu s vGPU - 18 FPS a se softwarovým vykreslováním v Mesa - 1 FPS.



Zdroj: opennet.ru

Přidat komentář