Microsoft telah mula menguji sokongan untuk menjalankan aplikasi GUI Linux pada Windows

Microsoft telah mengumumkan permulaan ujian keupayaan untuk menjalankan aplikasi Linux dengan antara muka grafik dalam persekitaran berdasarkan subsistem WSL2 (Windows Subsystem for Linux), yang direka untuk menjalankan fail boleh laku Linux pada Windows. Aplikasi disepadukan sepenuhnya dengan desktop Windows utama, termasuk sokongan untuk meletakkan pintasan dalam menu Mula, main balik audio, rakaman mikrofon, pecutan perkakasan OpenGL, memaparkan maklumat tentang program dalam bar tugas, bertukar antara program menggunakan Alt-Tab, menyalin data antara Windows - dan program Linux melalui papan keratan.

Microsoft telah mula menguji sokongan untuk menjalankan aplikasi GUI Linux pada Windows

Untuk mengatur output antara muka aplikasi Linux ke desktop Windows utama, pengurus komposit RAIL-Shell yang dibangunkan oleh Microsoft, menggunakan protokol Wayland dan berdasarkan pangkalan kod Weston, digunakan. Output dijalankan menggunakan bahagian belakang RDP-RAIL (Aplikasi Jauh RDP Bersepadu Setempat), yang berbeza daripada bahagian belakang RDP yang sebelum ini tersedia di Weston kerana pengurus komposit tidak memaparkan desktop itu sendiri, tetapi mengubah hala permukaan individu (wl_surface) ke atas RDP Saluran RAIL untuk paparan pada desktop Windows utama. XWayland digunakan untuk menjalankan aplikasi X11.

Microsoft telah mula menguji sokongan untuk menjalankan aplikasi GUI Linux pada Windows

Output audio disusun menggunakan pelayan PulseAudio, yang juga berinteraksi dengan Windows menggunakan protokol RDP (pemalam rdp-sink digunakan untuk output audio dan pemalam sumber rdp digunakan untuk input). Pelayan komposit, XWayland dan PulseAudio dibungkus dalam bentuk pengedaran mini universal yang dipanggil WSLGd, yang merangkumi komponen untuk mengabstraksikan subsistem grafik dan audio, dan berdasarkan pengedaran CBL-Mariner Linux, juga digunakan dalam infrastruktur awan Microsoft. . WSLGd berjalan menggunakan mekanisme virtualisasi, dan virtio-fs digunakan untuk berkongsi akses antara persekitaran tetamu Linux dan sistem hos Windows.

FreeRDP digunakan sebagai pelayan RDP yang dilancarkan dalam persekitaran WSLGd Linux, dan mstsc bertindak sebagai klien RDP di bahagian Windows. Untuk mengesan aplikasi Linux grafik sedia ada dan memaparkannya dalam menu Windows, pengendali WSLDVCPlugin telah disediakan. Dengan pengedaran Linux biasa seperti Ubuntu, Debian dan CenOS yang dipasang dalam persekitaran WSL2, set komponen yang berjalan dalam WSLGd berinteraksi dengan menyediakan soket yang mengendalikan permintaan menggunakan protokol Wayland, X11 dan PulseAudio. Pengikatan yang disediakan untuk WSLGd diedarkan di bawah lesen MIT.

Pemasangan WSLGd memerlukan Windows 10 Insider Preview sekurang-kurangnya versi 21362. Melangkah ke hadapan, WSLGd akan tersedia untuk edisi biasa Windows tanpa perlu mengambil bahagian dalam program Insider Preview. Pemasangan WSLGd dijalankan dengan melaksanakan arahan standard "wsl —install", sebagai contoh, untuk Ubuntu - "wsl —install -d Ubuntu". Untuk persekitaran WSL2 sedia ada, pemasangan WSLGd dilakukan menggunakan arahan "wsl --update" (hanya persekitaran WSL2 yang menggunakan kernel Linux dan bukan terjemahan panggilan disokong). Aplikasi grafik dipasang melalui pengurus pakej standard pengedaran.

WSLGd hanya menyediakan enjin untuk output grafik 2D, dan untuk mempercepatkan grafik 3D berdasarkan OpenGL, pengedaran yang dipasang dalam WSL2 menawarkan penggunaan GPU maya (vGPU). Pemacu vGPU untuk WSL disediakan untuk cip AMD, Intel dan NVIDIA. Pecutan grafik disediakan melalui penyediaan lapisan dengan pelaksanaan OpenGL melalui DirectX 12. Lapisan ini direka bentuk dalam bentuk pemacu d3d12, yang disertakan dalam bahagian utama Mesa 21.0 dan sedang dibangunkan bersama Collabora.

GPU maya dilaksanakan di Linux menggunakan peranti /dev/dxg dengan perkhidmatan yang meniru WDDM (Model Pemacu Paparan Windows) D3DKMT bagi kernel Windows. Pemacu membuat sambungan ke GPU fizikal menggunakan bas VM. Aplikasi Linux mempunyai tahap akses GPU yang sama seperti aplikasi Windows asli, tanpa memerlukan perkongsian sumber antara Windows dan Linux. Ujian prestasi pada peranti Surface Book Gen3 dengan GPU Intel menunjukkan bahawa dalam persekitaran Win32 asli, ujian Geeks3D GpuTest menunjukkan 19 FPS, dalam persekitaran Linux dengan vGPU - 18 FPS dan dengan pemaparan perisian dalam Mesa - 1 FPS.



Sumber: opennet.ru

Tambah komen