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