Microsoft zahájil testování podpory spouštění GUI aplikací Linux v systému Windows

Společnost Microsoft oznámila zahájení testování možnosti spuštění Linuxových aplikací s grafickým uživatelským rozhraním v prostředí založeném na subsystému WSL2 (Windows Subsystem for Linux), určeném pro spouštění spustitelných souborů Linuxu ve Windows. Aplikace se plně integrují s hlavním pracovním stolem Windows, včetně podpory umisťování zástupců do nabídky Start, přehrávání zvuku, záznamu z mikrofonu, hardwarového akcelerování OpenGL, zobrazení informací o programech na panelu úloh, přepínání mezi aplikacemi pomocí Alt-Tab a kopírování dat mezi aplikacemi Windows a Linux pomocí schránky.

Microsoft zahájil testování podpory spouštění GUI aplikací Linux v systému Windows

Pro organizaci výstupu rozhraní Linuxových aplikací na hlavní pracovní plochu Windows byl využit vyvinutý v Microsoftu kompozitní správce RAIL-Shell, který používá protokol Wayland a je založen na kódové základně Weston. Výstup se provádí za pomoci backendu RDP-RAIL (RDP Remote Application Integrated Locally), který se liší od dříve dostupného backendu RDP ve Weston tím, že kompozitní správce sám nevykresluje pracovní plochu, ale přesměrovává jednotlivé plochy (wl_surface) prostřednictvím kanálu RDP RAIL pro zobrazení na hlavní pracovní ploše Windows. Pro spuštění X11 aplikací se používá XWayland.

Microsoft zahájil testování podpory spouštění GUI aplikací Linux v systému Windows

Výstup zvuku je organizován pomocí serveru PulseAudio, který také interaguje s Windows pomocí protokolu RDP (pro výstup zvuku se používá plugin rdp-sink a pro vstup — rdp-source). Kompozitní server, XWayland a PulseAudio jsou zabaleny ve formě univerzálního mini-distro WSLGd, které obsahuje komponenty pro abstrahování grafické a zvukové subsystémy a je založeno na distribuci CBL-Mariner Linux, také používané v cloudové infrastruktuře Microsoftu. WSLGd se spouští pomocí virtualizačních mechanismů, a pro sdílení mezi hostitelským prostředím s Linuxem a hostitelským systémem Windows se používá virtio-fs.

Jako RDP servery, spuštěného v linuxovém prostředí WSLGd, se používá FreeRDP, zatímco na straně Windows je RDP klientem mstsc. Pro zjištění dostupných grafických linuxových aplikací a jejich zobrazení v nabídce Windows byl připraven zpracovatel WSLDVCPlugin. S nainstalovanými běžnými distribucemi Linuxu v prostředí WSL2, jako jsou Ubuntu, Debian a CentOS, interaguje sada komponentů v WSLGd prostřednictvím poskytování soketů, které zpracovávají požadavky podle protokolů Wayland, X11 a PulseAudio. Připravené obálky pro WSLGd jsou šířeny pod licencí MIT.

Pro instalaci WSLGd je vyžadována minimálně verze 21362 Windows 10 Insider Preview. V budoucnu bude možnost instalace WSLGd nabízena i pro běžné verze Windows, bez nutnosti účasti v programu Insider Preview. Instalace WSLGd se provádí pomocí typového příkazu „wsl —install“, například pro Ubuntu — „wsl —install -d Ubuntu“. Pro existující prostředí WSL2 se instalace WSLGd provádí pomocí příkazu „wsl —update“ (podporována jsou pouze prostředí WSL2, ve kterých se používá jádro Linux a ne transformace volání). Grafické aplikace se instalují pomocí standardního balíčkového manažera distribuce.

WSLGd poskytuje pouze mechanismy pro vykreslování 2D grafiky, zatímco pro zrychlení 3D grafiky na základě OpenGL se doporučuje v instalovaných distribucích WSL2 používat virtuální GPU (vGPU). Ovladače vGPU pro WSL jsou poskytovány pro čipy AMD, Intel a NVIDIA. Zrychlení grafiky je zajištěno prostřednictvím poskytování vrstvy s implementací OpenGL nad DirectX 12. Vrstvy je vyvinuta ve formě ovladače d3d12, který je součástí Mesa 21.0 a rozvíjí se ve spolupráci se společností Collabora.

Funkce virtuálního GPU je realizována v Linuxu pomocí zařízení /dev/dxg se službami, které kopírují WDDM (Windows Display Driver Model) D3DKMT jádra Windows. Ovladač organizuje spojení s fyzickým GPU pomocí VM busu. Linuxové aplikace mají stejnou úroveň přístupu k GPU jako nativní aplikace pro Windows, bez rozdělování zdrojů mezi Windows a Linux. Testování výkonu na zařízení Surface Book Gen3 s GPU Intel ukázalo, že v nativním Win32 prostředí test Geeks3D GpuTest vykazuje 19 FPS, v linuxovém prostředí s vGPU — 18 FPS, a při softwarovém vykreslování v Mesa — 1 FPS.

Přehrát video


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster