Microsoft oznámil před pár dny začátek testování schopnosti spouštět aplikace GUI založené na Linuxu v prostředích založených na WSL2 (Subsystém Windows pro Linux).
Aplikace jsou plně integrovány s hlavní pracovní plochou Windows, včetně podpory umisťování zástupců do nabídky Start, přehrávání zvuku, nahrávání z 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 Linux programy prostřednictvím schránky.
Chcete-li uspořádat výstup aplikačního rozhraní systému Linux na hlavní plochu systému Windows, používá se kompozitní manažer RAIL-Shell vyvinutý společností Microsoft, Používá protokol Wayland a je založen na kódové základně Weston.
Vykreslování se provádí pomocí back-endu RDP Remote Application Integrated Locally (RDP Remote Application Integrated Locally), který se liší od backendu RDP, který byl dříve k dispozici od společnosti Weston, v tom, že kompozitní manažer nevykreslí samotnou plochu, ale přesměruje jednotlivé povrchy ( wl_surface) prostřednictvím kanálu RDP RAIL pro jeho zobrazení na hlavní ploše systému Windows. XWayland se používá ke spouštění aplikací X11.
Zvukový výstup je organizován serverem PulseAudio, který také interaguje s Windows pomocí protokolu RDP (plugin rdp-sink se používá pro zvukový výstup a zdroj rdp pro vstup).
Composite Server, XWayland a PulseAudio jsou zabaleny ve formě univerzální minidistribuce WSLGd, která zahrnuje komponenty pro abstrakci grafického a zvukového subsystému a jsou založeny na distribuci CBL-Mariner Linux, která se také používá v cloudové infrastruktuře Microsoftu . WSLGd se spouští pomocí virtualizačních mechanismů a virtio-fs se používá ke sdílení mezi hostem Linux a hostitelem Windows.
FreeRDP se používá jako server RDP spuštěný v prostředí WSLGd Linux a mstsc funguje jako klient RDP na straně Windows. Ovladač WSLDVCPlugin byl připraven k identifikaci dostupných grafických aplikací pro Linux a jejich zobrazení v nabídce Windows. S běžnými distribucemi Linuxu nainstalovanými v prostředí WSL2, jako jsou Ubuntu, Debian a CenOS, sada komponent WSLGd interaguje poskytováním soketů, které zpracovávají požadavky od Wayland, X11 a PulseAudio.
Virtuální GPU je implementován v systému Linux pomocí zařízení / dev / dxg se službami, které napodobují model ovladače displeje Windows (WDDM) D3DKMT jádra Windows.
Řadič organizuje připojení k fyzickému GPU přes sběrnici VM a aplikace Linux mají stejnou úroveň přístupu GPU jako nativní aplikace Windows bez vynucení sdílení prostředků mezi Windows a Linux.
Testy výkonu na zařízení Surface Book Gen3 s grafickým procesorem Intel ukázaly, že v nativním prostředí Win32 ukazuje test Geeks3D GpuTest 19 FPS, v prostředí Linux s vGPU - 18 FPS a se softwarovým vykreslením na Mesa - 1 FPS.
Instalace WSLGd vyžaduje Windows 10 Insider Preview alespoň ve verzi 21362, Přestože eV budoucnu bude u pravidelných vydání poskytována možnost instalace WSLGd Windows, aniž byste se museli účastnit programu Insider Preview.
WSLGd poskytuje pouze mechanismy pro vykreslování 2D grafiky a pro urychlení 3D grafiky založené na OpenGL na distribucích nainstalovaných na WSL2 se navrhuje použít virtuální GPU (vGPU).
Grafická akcelerace je zajištěna poskytnutím vrstvy s implementací OpenGL přes DirectX 12. Vrstva je navržena ve formě ovladače d3d12, který byl obsažen v hlavní části Mesa 21.0 a je vyvíjen ve spolupráci s Collaborou.
Instalace WSLGd se provádí spuštěním typického příkazu „wsl –install“, například pro Ubuntu - „wsl –install -d Ubuntu“.
U stávajících prostředí WSL2 se WSLGd instaluje pomocí příkazu „wsl –update“ (podporována jsou pouze prostředí WSL2 používající jádro Linuxu, nikoli překlad volání). Grafické aplikace se instalují pomocí obvyklého správce balíčků distribuční sady.
zdroj: https://devblogs.microsoft.com/
Linux je očividně pro určité lidi nebo společnosti velmi nepříjemný. Z toho, co vidím, jde o to, dostat Linux z cesty.