Microsoft menambahkan sokongan DirectX ke distro Linux yang berjalan di persekitaran WSL 2. Perubahan ini disiarkan secara langsung dengan binaan 21H1 pertama dari cawangan Besi (Fe) di Fast Ring, yang dijangka akan datang pada bulan Jun ini.
Iklan
cara menukar gambar profil di facebook tanpa posting
Microsoft adalah memperkenalkan Windows Display Driver Model versi 2.9, WDDMv2.9, yang akan membawa pecutan GPU ke WSL 2. Untuk memungkinkan, terdapat modul kernel Linux khas di sisi WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl adalah pemacu kernel baru untuk Linux yang memaparkan / dev / dxg peranti ke mod pengguna Linux. / dev / dxg memperlihatkan sekumpulan IOCTL yang meniru lapisan perkhidmatan kernel WDDM D3DKMT asli pada Windows. Dxgkrnl di dalam kernel Linux menghubungkan melalui VM Bus ke kakaknya di host Windows dan menggunakan sambungan bas VM ini untuk berkomunikasi dengan GPU fizikal.
Sekiranya host mempunyai banyak GPU, semua GPU diproyeksikan dan tersedia untuk persekitaran Linux (dengan anggapan semua GPU ini menjalankan pemacu WDDMv2.9).
Microsoft mendakwa bahawa seni bina tidak akan menghadkan atau mengganggu prestasi aplikasi WSL, dan sumber GPU akan dibagikan dengan betul antara aplikasi Windows yang berjalan di samping GUI Linux dan aplikasi konsol yang menggunakan DirectX.
Edisi Linux Dxgkrnl sedang dibuat sebagai sumber terbuka.
cara membuat senarai harapan amazon
DxCore & D3D12 di Linux
Projek ini membawa API D3D12 penuh ke Linux tanpa imitasi.ibd3d12.so disusun dari kod sumber yang sama dengan d3d12.dll pada Windows tetapi untuk sasaran Linux. Ia menawarkan tahap fungsi dan prestasi yang sama (tolak overhead virtualisasi). Satu-satunya pengecualian ialah Hadir (). Pada masa ini tidak ada penyatuan persembahan dengan WSL kerana WSL adalah pengalaman konsol sahaja sekarang. API D3D12 dapat digunakan untuk rendering dan komputasi di luar layar, tetapi tidak ada dukungan swapchain untuk menyalin piksel langsung ke layar.
DxCore (libdxcore.so) adalah versi dxgi yang dipermudahkan di mana aspek warisan API telah diganti dengan versi moden. DxCore boleh didapati di Windows dan Linux. DxCore juga digunakan untuk menghosting versi rata dari API D3DKMT yang digunakan oleh pemacu berasaskan WDDM pada Windows untuk bercakap dengan GPU. API ini mengaburkan perbezaan bagaimana pelbagai perkhidmatan WDDM menuju ke kernel (jadual perkhidmatan pada Windows berbanding IOCTL di Linux).
libd3d12.so dan libdxcore.so adalah sumber tertutup, binari mod pengguna pra-disusun yang dihantar sebagai sebahagian daripada Windows. Binari ini sesuai dengan distro berasaskan glibc dan dipasang secara automatik di bawah/ usr / lib / wsl / libdan dapat dilihat oleh pemuat. Dengan kata lain, API ini berfungsi dengan baik tanpa perlu memasang pakej tambahan atau mengubah konfigurasi distro. Sokongan pada masa ini terhad kepada distro berasaskan glibc yang merangkumi Ubuntu, Debian, Fedora, Centos, SUSE, dan sebagainya.
D3D12 tidak akan dapat beroperasi tanpa pemacu mod pengguna khusus (UMD) GPU yang disediakan oleh rakan pengeluar GPU. UMD bertanggungjawab untuk perkara-perkara seperti menyusun shader ke kod byte khusus perkakasan dan menerjemahkan permintaan rendering API ke dalam arahan GPU sebenar dalam buffer perintah yang akan dilaksanakan oleh GPU. Pakej pemacu hos dipasang di dalam WSL di / usr / lib / wsl / driver dan boleh diakses terus ke API d3d12. Sekali lagi pemandu WDDM 2.9 diperlukan.
Microsoft juga berusaha untuk membawa percepatan GPU untuk OpenGL, OpenCL & Vulkan di WSL melalui perpustakaan Mesa.
bagaimana mengubah matlamat bergerak anda
Sokongan untuk DxCore, D3D12, DirectML dan NVIDIA CUDA sedang menuju ke a Windows Insider Segera bina. Cincin Pantas kini berada di Mangan (Mn) Cawangan OS. Cincin Cepat dijangka beralih ke yang baruCawangan Besi (Fe)
menjelang akhir bulan Jun yang akan memaparkan fungsi baru ini kepada Orang Dalam.