Мајкрософт започна со тестирање на поддршка за извршување на Linux GUI апликации на Windows

Мајкрософт го објави почетокот на тестирањето на способноста за извршување на Линукс апликации со графички интерфејс во средини засновани на потсистемот WSL2 (Windows Subsystem for Linux), дизајниран да работи на Linux извршни датотеки на Windows. Апликациите се целосно интегрирани со главната работна површина на Windows, вклучувајќи поддршка за поставување кратенки во Start менито, репродукција на аудио, снимање на микрофон, забрзување на хардверот OpenGL, прикажување информации за програмите во лентата со задачи, префрлување помеѓу програми користејќи Alt-Tab, копирање податоци помеѓу Windows - и Линукс програми преку таблата со исечоци.

Мајкрософт започна со тестирање на поддршка за извршување на Linux GUI апликации на Windows

За организирање на излезот од интерфејсот на апликацијата Linux на главната работна површина на Windows, се користи композитниот менаџер RAIL-Shell развиен од Microsoft, користејќи го протоколот Wayland и базиран на основата на кодот Вестон. Излезот се изведува со користење на заднината RDP-RAIL (RDP Remote Application Integrated Locally), која се разликува од RDP backend-от претходно достапен во Вестон по тоа што композитниот менаџер не ја прикажува самата работна површина, туку ги пренасочува поединечните површини (wl_surface) преку RDP RAIL канал за прикажување на главната работна површина на Windows. XWayland се користи за извршување на X11 апликации.

Мајкрософт започна со тестирање на поддршка за извршување на Linux GUI апликации на Windows

Аудио излезот се организира со помош на серверот PulseAudio, кој исто така комуницира со Windows користејќи го протоколот RDP (приклучокот rdp-sink се користи за аудио излез, а приклучокот rdp-source се користи за влез). Композитниот сервер, XWayland и PulseAudio се спакувани во форма на универзална мини-дистрибуција наречена WSLGd, која вклучува компоненти за апстрактирање на графичките и аудио потсистеми и се базира на дистрибуцијата CBL-Mariner Linux, исто така користена во инфраструктурата на облакот на Microsoft. . WSLGd работи со помош на механизми за виртуелизација, а virtio-fs се користи за споделување на пристапот помеѓу гостинската околина на Linux и системот домаќин на Windows.

FreeRDP се користи како RDP сервер лансиран во WSLGd Linux околина, а mstsc делува како RDP клиент на страната на Windows. За да се детектираат постоечките графички апликации на Linux и да се прикажат во менито на Windows, подготвен е управувач за WSLDVCP-приклучок. Со конвенционалните дистрибуции на Линукс како што се Ubuntu, Debian и CenOS инсталирани во WSL2 околина, множеството компоненти што работат во WSLGd комуницира со обезбедување на приклучоци што се справуваат со барања користејќи ги протоколите Wayland, X11 и PulseAudio. Врските подготвени за WSLGd се дистрибуираат под лиценцата MIT.

Инсталирањето на WSLGd бара Windows 10 Insider Preview најмалку верзија 21362. Во иднина, WSLGd ќе биде достапен за редовните изданија на Windows без потреба од учество во програмата Insider Preview. Инсталирањето на WSLGd се врши со извршување на стандардната команда „wsl —install“, на пример, за Ubuntu - „wsl —install -d Ubuntu“. За постојните WSL2 околини, инсталирањето на WSLGd се врши со помош на командата „wsl --update“ (поддржани се само WSL2 околините што користат кернелот на Linux, а не превод на повици). Графичките апликации се инсталираат преку стандардниот менаџер на пакети на дистрибуцијата.

WSLGd обезбедува само мотори за 2D графички излез, а за забрзување на 3D графика базирана на OpenGL, дистрибуциите инсталирани во WSL2 нудат употреба на виртуелен графички процесор (vGPU). vGPU драјвери за WSL се обезбедени за чипови AMD, Intel и NVIDIA. Графичкото забрзување е обезбедено преку обезбедување на слој со имплементација на OpenGL преку DirectX 12. Слојот е дизајниран во форма на двигателот d3d12, кој е вклучен во главниот дел на Mesa 21.0 и се развива заедно со Collabora.

Виртуелниот графички процесор се имплементира во Linux со користење на /dev/dxg уредот со услуги кои го реплицираат WDDM (Windows Display Driver Model) D3DKMT од кернелот на Windows. Возачот воспоставува врска со физичкиот графички процесор користејќи ја магистралата VM. Апликациите на Linux имаат исто ниво на пристап до графичкиот процесор како и домашните апликации на Windows, без потреба од споделување ресурси помеѓу Windows и Linux. Тестирањето на перформансите на Surface Book Gen3 уред со Intel GPU покажа дека во домашната околина Win32, тестот Geeks3D GpuTest покажува 19 FPS, во Linux околина со vGPU - 18 FPS и со рендерирање на софтвер во Mesa - 1 FPS.



Извор: opennet.ru

Додадете коментар