Microsoft mulai menguji dukungan untuk menjalankan aplikasi GUI Linux di Windows



Microsoft telah mulai menguji peluncuran aplikasi GUI Linux di Windows. Ini diimplementasikan atas dasar subsistem WSL2 (Windows Subsystem for Linux), yang telah dikembangkan oleh perusahaan selama berbulan-bulan. Perlu dicatat bahwa aplikasi terintegrasi penuh dengan desktop Windows, termasuk menempatkan pintasan di menu Start, memutar suara, merekam dari mikrofon, akselerasi perangkat keras OpenGL. Tampilan informasi tentang perangkat lunak di taskbar juga diimplementasikan, Anda dapat beralih antar program dengan Alt + Tab, data antara aplikasi Linux dan Windows dapat disalin menggunakan clipboard.



Antarmuka aplikasi Linux ditampilkan di desktop Windows utama menggunakan manajer komposit RAIL-Shell. Ini menggunakan protokol Wayland dan didasarkan pada basis kode Weston. Output diimplementasikan melalui backend RDP-RAIL (RDP Remote Application Integrated Locally), yang tidak merender desktop, tetapi mengarahkan ulang permukaan individu melalui saluran RDP RAIL untuk ditampilkan di desktop Windows utama. Aplikasi X11 dijalankan menggunakan XWayland.



Rincian lainnya



Perusahaan menggunakan cara yang menarik untuk mengeluarkan suara - menggunakan server PulseAudio. Server berinteraksi dengan sistem operasi melalui protokol RDP (plugin rdp-sink digunakan untuk keluaran suara, dan rdp-source untuk masukan). Server dan XWayland ini bertempat di WSLGd distribusi mini generik. Ini mencakup komponen untuk abstraksi dari kedua subsistem grafis dan suara.



Semua ini didasarkan pada distribusi CBL-Mariner Linux, yang juga digunakan Microsoft - dalam infrastruktur cloud-nya. Distribusi mini diluncurkan menggunakan mekanisme virtualisasi. Pada saat yang sama, akses bersama antara lingkungan tamu Linux dan host Windows diimplementasikan menggunakan virtio-fs.



Pengembang memilih FreeRDP sebagai server RDP yang berjalan di lingkungan WSLGd Linux. Untuk tugas yang sama, Widnows OS menggunakan mstsc. Penangan WSLDVCPlugin digunakan untuk mengidentifikasi aplikasi Linux grafis yang tersedia dan menampilkannya di menu Windows. Ini memungkinkan Anda untuk berinteraksi dengan distribusi Linux di lingkungan WLS2 dengan menyediakan soket yang menangani permintaan Wayland, X11 dan PulseAudio. Binding yang disiapkan untuk WSLGd dilisensikan di bawah lisensi MIT.



Bagaimana cara mendapatkan akses ke fitur baru?



Untuk melakukan ini, Anda perlu menginstal Windows 10 Insider Preview setidaknya versi 21362. Pengembang berjanji bahwa dalam waktu dekat, edisi reguler Windows akan cukup untuk menginstal WSLGd, dan pengguna tidak perlu berpartisipasi dalam program Insider Preview .





Menginstal WSLGd menggunakan perintah "wsl --install", misalnya, untuk Ubuntu - "wsl --install -d Ubuntu". Dalam kasus lingkungan WSL2 yang ada, WSLGd diinstal melalui perintah "wsl --update" (hanya lingkungan WSL2 yang menggunakan kernel Linux yang didukung, bukan terjemahan panggilan). Aplikasi grafis diinstal melalui manajer paket reguler kit distribusi.



WSLGd hanya mendukung grafik 2D. Jika Anda memerlukan grafik 3D berdasarkan OpenGL, mekanisme yang berbeda digunakan - GPU virtual (vGPU). Driver untuk itu disediakan dalam tiga versi - untuk chip AMD , Intel dan NVIDIA... Bekerja dengan grafik dilakukan dengan menyediakan lapisan dengan implementasi OpenGL di atas DirectX 12. Lapisan tersebut dirancang dalam bentuk driver d3d12, termasuk dalam bagian utama Mesa 21.0, dan sedang dikembangkan bersama-sama dengan Collabora.



Di Linux, GPU virtual diimplementasikan pada perangkat / dev / dxg dengan layanan yang meniru Windows Display Driver Model (WDDM) D3DKMT dari kernel Windows. Dalam sistem ini, pengemudi membuat koneksi ke chip video fisik melalui bus VM. Aplikasi Linux memiliki tingkat akses GPU yang sama dengan aplikasi Windows asli, tidak ada pembagian sumber daya antara Windows dan Linux.



Selama pengujian kinerja sistem berbasis Surface Book Gen3 dengan GPU Intel, ternyata benchmark Geeks3D GpuTest menunjukkan 19 FPS di Windows, 18 FPS di Linux. Di Mesa, dengan rendering perangkat lunak - hanya 1 FPS.



Sedikit latar belakang



WSL2 tersedia untuk pengguna Windows pada 20 Agustus 2020 - saat itulah Microsoft merilis pembaruan kumulatif KB4566116.





Setelah menginstalnya, pengguna Windows 10, versi 1903 dan versi 1909 mulai menguji WSL2, dan sebagian besar ulasannya positif. Hingga 20 Agustus, hanya WSL versi pertama yang tersedia, dan hanya di Windows 10 versi 2004.





Sedangkan untuk versi pertama WSL, pengerjaannya dimulai beberapa tahun yang lalu. Pengumuman resmi tentang subsistem dibuat pada konferensi Microsoft Build 2016. Pengumuman tersebut singkat - kemudian mereka berbicara tentang kapabilitas WSL dalam beberapa menit. Tapi dia menyebabkan kehebohan dan arus lalu lintas ke halaman dengan pengumuman bahwa penyelenggara konferensi bahkan mencurigai seseorang telah mengatur serangan DDoS.



Sejak saat itu, WSL telah banyak berkembang, dan sekarang subsistemnya terus berkembang.






All Articles