Microsoft telah mulai menguji dukungan untuk menjalankan aplikasi GUI Linux di Windows

Microsoft telah mengumumkan dimulainya pengujian kemampuan menjalankan aplikasi Linux dengan antarmuka grafis di lingkungan berdasarkan subsistem WSL2 (Subsistem Windows untuk Linux), yang dirancang untuk menjalankan file Linux yang dapat dieksekusi di Windows. Aplikasi terintegrasi penuh dengan desktop utama Windows, termasuk dukungan untuk menempatkan pintasan di menu Start, pemutaran audio, perekaman mikrofon, akselerasi perangkat keras OpenGL, menampilkan informasi tentang program di taskbar, beralih antar program menggunakan Alt-Tab, menyalin data antar Windows - dan program Linux melalui clipboard.

Microsoft telah mulai menguji dukungan untuk menjalankan aplikasi GUI Linux di Windows

Untuk mengatur keluaran antarmuka aplikasi Linux ke desktop Windows utama, digunakan manajer komposit RAIL-Shell yang dikembangkan oleh Microsoft, menggunakan protokol Wayland dan berdasarkan basis kode Weston. Output dilakukan menggunakan backend RDP-RAIL (RDP Remote Application Integrated Locally), yang berbeda dari backend RDP yang sebelumnya tersedia di Weston karena manajer komposit tidak merender desktop itu sendiri, tetapi mengalihkan permukaan individual (wl_surface) melalui RDP Saluran RAIL untuk ditampilkan di desktop Windows utama. XWayland digunakan untuk menjalankan aplikasi X11.

Microsoft telah mulai menguji dukungan untuk menjalankan aplikasi GUI Linux di Windows

Output audio diatur menggunakan server PulseAudio, yang juga berinteraksi dengan Windows menggunakan protokol RDP (plugin rdp-sink digunakan untuk output audio, dan plugin rdp-source digunakan untuk input). Server komposit, XWayland dan PulseAudio dikemas dalam bentuk distribusi mini universal yang disebut WSLGd, yang mencakup komponen untuk mengabstraksi subsistem grafis dan audio, dan didasarkan pada distribusi CBL-Mariner Linux, juga digunakan dalam infrastruktur cloud Microsoft . WSLGd berjalan menggunakan mekanisme virtualisasi, dan virtio-fs digunakan untuk berbagi akses antara lingkungan tamu Linux dan sistem host Windows.

FreeRDP digunakan sebagai server RDP yang diluncurkan di lingkungan WSLGd Linux, dan mstsc bertindak sebagai klien RDP di sisi Windows. Untuk mendeteksi aplikasi grafis Linux yang ada dan menampilkannya di menu Windows, handler WSLDVCPlugin telah disiapkan. Dengan distribusi Linux reguler seperti Ubuntu, Debian, dan CenOS yang diinstal di lingkungan WSL2, kumpulan komponen yang berjalan di WSLGd berinteraksi dengan menyediakan soket yang menangani permintaan menggunakan protokol Wayland, X11, dan PulseAudio. Pengikatan yang disiapkan untuk WSLGd didistribusikan di bawah lisensi MIT.

Instalasi WSLGd memerlukan Windows 10 Insider Preview setidaknya versi 21362. Kedepannya, WSLGd akan tersedia untuk Windows edisi reguler tanpa perlu berpartisipasi dalam program Insider Preview. Instalasi WSLGd dilakukan dengan menjalankan perintah standar “wsl —install”, misalnya, untuk Ubuntu - “wsl —install -d Ubuntu”. Untuk lingkungan WSL2 yang ada, instalasi WSLGd dilakukan menggunakan perintah "wsl --update" (hanya lingkungan WSL2 yang menggunakan kernel Linux dan bukan terjemahan panggilan yang didukung). Aplikasi grafis diinstal melalui manajer paket standar distribusi.

WSLGd hanya menyediakan mesin untuk keluaran grafis 2D, dan untuk mempercepat grafis 3D berdasarkan OpenGL, distribusi yang diinstal di WSL2 menawarkan penggunaan GPU virtual (vGPU). Driver vGPU untuk WSL disediakan untuk chip AMD, Intel dan NVIDIA. Akselerasi grafis diberikan melalui penyediaan lapisan dengan implementasi OpenGL melalui DirectX 12. Lapisan tersebut dirancang dalam bentuk driver d3d12, yang termasuk dalam bagian utama Mesa 21.0 dan sedang dikembangkan bersama dengan Collabora.

GPU virtual diimplementasikan di Linux menggunakan perangkat /dev/dxg dengan layanan yang mereplikasi WDDM (Windows Display Driver Model) D3DKMT dari kernel Windows. Pengemudi membuat koneksi ke GPU fisik menggunakan bus VM. Aplikasi Linux memiliki tingkat akses GPU yang sama dengan aplikasi Windows asli, tanpa perlu berbagi sumber daya antara Windows dan Linux. Pengujian kinerja pada perangkat Surface Book Gen3 dengan GPU Intel menunjukkan bahwa di lingkungan asli Win32, pengujian Geeks3D GpuTest menunjukkan 19 FPS, di lingkungan Linux dengan vGPU - 18 FPS, dan dengan rendering perangkat lunak di Mesa - 1 FPS.



Sumber: opennet.ru

Tambah komentar