Microsoft пачаў тэставанне падтрымкі запуску GUI-прыкладанняў Linux у Windows

Кампанія Microsoft абвясціла аб пачатку тэставання магчымасці запуску Linux-прыкладанняў з графічным інтэрфейсам у асяроддзі на базе падсістэмы WSL2 (Windows Subsystem for Linux), прызначанай для запуску выкананых файлаў Linux у Windows. Прыкладанні цалкам інтэгруюцца з асноўным працоўным сталом Windows, у тым ліку падтрымліваецца размяшчэнне цэтлікаў у меню Start, прайграванне гуку, запіс з мікрафона, апаратнае паскарэнне OpenGL, адлюстраванне інфармацыі аб праграмах у панэлі задач, пераключэнне паміж праграмамі па Alt-Tab, капіяванне дадзеных паміж Windows - і Linux-праграмамі праз буфер абмену.

Microsoft пачаў тэставанне падтрымкі запуску GUI-прыкладанняў Linux у Windows

Для арганізацыі высновы інтэрфейсу Linux-прыкладанняў на асноўны працоўны стол Windows задзейнічаны распрацаваны ў Microsoft кампазітны мэнэджар RAIL-Shell, выкарыстоўвалы пратакол Wayland і заснаваны на кодавай базе Weston. Выснова ажыццяўляецца пры дапамозе бэкенда RDP-RAIL (RDP Remote Application Integrated Locally), які адрозніваецца ад раней даступнага ў Weston бэкенда RDP тым, што кампазітны мэнэджар не выконвае сам адмалёўку працоўнага стала, а перанакіроўвае асобныя паверхні (wl_surface) па канале RDP RAIL для адлюстравання на асноўным працоўным стале Windows. Для запуску X11-прыкладанняў прымяняецца XWayland.

Microsoft пачаў тэставанне падтрымкі запуску GUI-прыкладанняў Linux у Windows

Выснова гуку арганізаваны з выкарыстаннем сервера PulseAudio, які таксама ўзаемадзейнічае з Windows пры дапамозе пратаколу RDP (для вываду гуку прымяняецца плягін rdp-sink, а для ўводу — rdp-source). Камазітны сервер, XWayland і PulseAudio спакаваныя ў форме ўніверсальнага міні-дыстрыбутыва WSLGd, які ўключае кампаненты для абстрагавання графічнай і гукавой падсістэмы, і заснаваны на дыстрыбутыве CBL-Mariner Linux, таксама выкарыстоўваным у хмарнай інфраструктуры Microsoft. WSLGd запускаецца з выкарыстаннем механізмаў віртуалізацыі, а для сумеснага доступу паміж гасцявым асяроддзем з Linux і хост-сістэмай Windows ужываецца virtio-fs.

У якасці RDP-сервера, які запускаецца ў Linux-асяроддзі WSLGd, ужываецца FreeRDP, а на боку Windows RDP-кліентам выступае mstsc. Для вызначэння наяўных графічных Linux-прыкладанняў і іх адлюстравання ў меню Windows падрыхтаваны апрацоўшчык WSLDVCPlugin. З усталяванымі ў асяроддзі WSL2 звычайнымі дыстрыбутывамі Linux, такімі як Ubuntu, Debian і CenOS, які выконваецца ў 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 дыстрыбутывах прапануецца выкарыстоўваць віртуальны GPU (vGPU). Драйверы vGPU для WSL прадстаўлены для чыпаў AMD, Intel і NVIDIA. Паскарэнне графікі забяспечваецца праз прадастаўленне праслойкі з рэалізацыяй OpenGL па-над DirectX 12. Праслойка аформлена ў выглядзе драйвера d3d12, які ўвайшоў у асноўны склад Mesa 21.0, і які развіваецца сумесна з кампаніяй Collabora.

Праца віртуальнага GPU рэалізуецца ў Linux пры дапамозе прылады /dev/dxg з сэрвісамі, якія паўтараюць WDDM (Windows Display Driver Model) D3DKMT ядры Windows. Драйвер арганізуе злучэнне з фізічным GPU пры дапамозе VM bus. Linux прыкладанні маюць той жа ўзровень доступу да GPU, што і родныя прыкладанні для Windows, без ужывання падзелу рэсурсаў паміж Windows і Linux. Тэставанне прадукцыйнасці на прыладзе Surface Book Gen3 з GPU Intel, паказала, што ў родным Win32-асяроддзі тэст Geeks3D GpuTest дэманструе 19 FPS, у Linux-акружэнні з vGPU – 18 FPS, а пры праграмнай адмалёўцы ў Mesa – 1 FPS.



Крыніца: opennet.ru

Дадаць каментар