NVK, driver terbuka untuk kartu grafis NVIDIA, mendukung Vulkan 1.0

Konsorsium Khronos, yang mengembangkan standar grafis, telah mengakui kompatibilitas penuh driver NVK terbuka untuk kartu video NVIDIA dengan spesifikasi Vulkan 1.0. Pengemudi telah berhasil melewati semua tes dari CTS (Kronos Conformance Test Suite) dan masuk dalam daftar pengemudi bersertifikat. Sertifikasi telah diselesaikan untuk GPU NVIDIA berdasarkan mikroarsitektur Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Pengujian dilakukan di lingkungan dengan kernel Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 dan GNOME Shell 44.4. Memperoleh sertifikat memungkinkan Anda menyatakan secara resmi kompatibilitas dengan standar grafis dan menggunakan merek dagang Khronos terkait.

Driver NVK dibuat dari awal oleh tim yang terdiri dari Karol Herbst (pengembang Nouveau di Red Hat), David Airlie (pengelola DRM di Red Hat), dan Jason Ekstrand (pengembang aktif Mesa di Collabora). Saat membuat driver, pengembang menggunakan file header resmi dan modul kernel terbuka yang diterbitkan oleh NVIDIA. Kode NVK menggunakan beberapa komponen dasar driver Nouveau OpenGL di beberapa tempat, namun karena perbedaan nama dalam file header NVIDIA dan nama rekayasa balik di Nouveau, peminjaman kode secara langsung menjadi sulit dan sebagian besar banyak hal yang harus dipikirkan ulang dan dilaksanakan dari awal.

Pengembangan dilakukan dengan tujuan untuk membuat referensi driver Vulkan baru untuk Mesa, yang kodenya dapat dipinjam saat membuat driver lain. Untuk melakukan ini, ketika mengerjakan driver NVK, mereka mencoba memperhitungkan semua pengalaman yang ada dalam mengembangkan driver Vulkan, menjaga basis kode dalam bentuk yang optimal dan meminimalkan transfer kode dari driver Vulkan lain, melakukan sebagaimana mestinya untuk pekerjaan yang optimal dan berkualitas tinggi, serta tidak meniru secara membabi buta apa yang dilakukan di driver lain. Driver sudah disertakan dalam Mesa, dan perubahan yang diperlukan pada API driver Nouveau DRM disertakan dalam kernel Linux 6.6.

Di antara perubahan dalam pengumuman tersebut, Mesa juga mencatat adopsi kompiler backend baru untuk NVK, yang ditulis dalam bahasa Rust dan menyelesaikan masalah pada kompiler lama yang mengganggu jalannya teks Kronos, serta menghilangkan beberapa batasan mendasar dari arsitektur yang tidak dapat diperbaiki tanpa pengerjaan ulang kompiler lama secara menyeluruh. Di antara rencana masa depan, penambahan dukungan GPU berdasarkan mikroarsitektur Maxwell dan penerapan dukungan penuh untuk Vulkan 1.3 API disebutkan di backend baru.

Sumber: opennet.ru

Tambah komentar