Memperkenalkan NVK, driver Vulkan terbuka untuk kartu video NVIDIA

Collabora telah memperkenalkan NVK, driver open source baru untuk Mesa yang mengimplementasikan API grafis Vulkan untuk kartu video NVIDIA. Driver ditulis dari awal menggunakan file header resmi dan modul kernel sumber terbuka yang diterbitkan oleh NVIDIA. Kode driver bersumber terbuka di bawah lisensi MIT. Driver saat ini hanya mendukung GPU berdasarkan mikroarsitektur Turing dan Ampere, yang dirilis sejak September 2018.

Proyek ini sedang dikembangkan oleh tim yang terdiri dari Karol Herbst, pengembang Nouveau di Red Hat, David Airlie, pengelola DRM di Red Hat, dan Jason Ekstrand, pengembang Mesa yang aktif di Collabora. Saat mengembangkan driver baru, komponen dasar driver Nouveau OpenGL digunakan di beberapa tempat, namun karena perbedaan nama di file header NVIDIA dan nama di Nouveau, diperoleh berdasarkan rekayasa balik, pinjaman langsung dari kodenya sulit dan sebagian besar perlu memikirkan kembali banyak hal dan mengimplementasikannya dari nol.

Pengembangan juga sedang dilakukan dengan tujuan untuk membuat referensi driver Vulkan baru untuk Mesa, yang kodenya dapat dipinjam saat membuat driver lain. Untuk melakukan hal ini, ketika mengerjakan driver, NVK mencoba memperhitungkan semua pengalaman yang ada dalam mengembangkan driver Vulkan, menjaga basis kode dalam bentuk yang optimal dan meminimalkan transfer kode dari driver Vulkan lainnya, melakukan sebagaimana mestinya untuk optimal dan pekerjaan berkualitas tinggi, dan tidak meniru secara membabi buta bagaimana hal itu dilakukan di driver lain.

Driver NVK baru dikembangkan selama beberapa bulan, sehingga fungsinya terbatas. Pengemudi berhasil melewati 98% pengujian saat menjalankan 10% pengujian dari Vulkan CTS (Compatibility Test Suite). Secara umum kesiapan driver diperkirakan 20-25% dari fungsionalitas driver ANV dan RADV. Dalam hal dukungan perangkat keras, driver saat ini terbatas pada kartu berdasarkan mikroarsitektur Turing dan Ampere. Patch sedang dikerjakan untuk mendukung GPU Kepler, Maxwell dan Pascal, namun belum siap.

Dalam jangka panjang, driver NVK untuk kartu grafis NVIDIA diharapkan mencapai tingkat kualitas dan fungsionalitas yang serupa dengan driver RADV untuk kartu AMD. Setelah driver NVK siap, perpustakaan umum yang dibuat selama pengembangannya dapat digunakan untuk meningkatkan driver Nouveau OpenGL untuk kartu video NVIDIA. Kemungkinan menggunakan proyek Zink untuk mengimplementasikan driver OpenGL lengkap untuk kartu video NVIDIA, yang bekerja melalui siaran panggilan ke Vulkan API, juga sedang dipertimbangkan.

Sumber: opennet.ru

Tambah komentar