
NVK je novi Vulkan drajver otvorenog koda za NVIDIA grafički hardver
Prošlog listopada govorimo ovdje na blogu o NVK vozaču, pokretački program otvorenog koda za Mesa koji implementira grafički API Vulkan za NVIDIA grafičke kartice na kojem je Collabora radila od nule koristeći službene datoteke zaglavlja i otvorene kernel module koje je objavila NVIDIA.
Tijekom svog razvoja NVK je imao oznaku “pokusno”. a sada, u novijim vijestima Collabora je objavila da je NVK postao stabilan i preporučljiv za opću upotrebu jer je testirana njegova puna kompatibilnost sa specifikacijom Vulkan 1.3. Ovaj kontroler je uspješno prošao sve CTS (Khronos Conformance Test Suite) testove i uvršten je na popis certificiranih kontrolera.

Certifikacija pokriva NVIDIA GPU-ove temeljene na mikroarhitekturama Turing, Ampere i Ada, uključujući od GeForce GTX 16xx do RTX 4xxx i serije RTX 4000, RTX A2000 do 6000. Ovi testovi su izvedeni u okruženjima s Linux kernelom 6.5 i 6.8rc1.
Spominje se da Dobivanjem certifikata službeno se izjavljuje kompatibilnost s grafičkim standardima i dopušta korištenje povezanih zaštitnih znakova Khronos. Promjene su već ugrađene u bazu koda Mesa i bit će dostupne u Mesa 24.1.
Osim napredovanja u NVK, Značajna poboljšanja su napravljena iu OpenGL podršci za NVIDIA video kartice. Mesa je usvojila promjenu koja dopušta korištenje Zink upravljačkog programa za pružanje podrške za OpenGL 4.6 na sustavima s novom serijom NVIDIA video kartica, koji mogu imati problema sa standardnim Nouveau OpenGL upravljačkim programom (NVC0).
Naporno smo radili tijekom proteklih nekoliko mjeseci kako bismo dovršili posljednje dijelove koji su potrebni da bi DXVK sada mogao izaći iz kutije na Upstream Mesa. Nije zajamčeno da će sve D3D11 igre raditi (bit će grešaka), ali svi osnovni zahtjevi su tu. Aktivno radimo na preostalim dijelovima za podršku D3D12 emulacije putem VKD3D-Protona. Puno toga je već učinjeno ili u tijeku, ali još uvijek neki dijelovi nedostaju, stoga ne očekujte da će D3D12 igre tek proraditi.
Ove promjene u Mesi Oni također otvaraju mogućnost korištenja Zinka za podršku OpenGL u drugim upravljačkim programima kao alternativu za GPU koje ne podržavaju izvorni OpenGL upravljački programi Mesa. Na primjer, sličan se pristup koristi za pružanje OpenGL podrške u freedreno drajveru za Qualcomm Adreno 700 GPU i powervr drajveru za Imagination PowerVR GPU koji se temelji na mikroarhitekturi Rogue.
U sljedećoj verziji Mesa, Zink driver će biti omogućen prema zadanim postavkama tijekom kompilacije. Zinkova izvedba usporediva je s izvornim OpenGL implementacijama, što omogućuje fokusiranje na visokokvalitetnu podršku za Vulkan API umjesto održavanja pojedinačnih OpenGL upravljačkih programa.
Iako nema planova za uklanjanje starog Nouveau vozača OpenGL, Cink + NVK kombinacija pokazuje bolje performanse u mnogim testovima. U trenutnoj fazi razvoja, ova kombinacija omogućuje izvedbu od 60 FPS i više na novim GPU modelima, iako još uvijek postoje neoptimizirana područja koja će se s vremenom riješiti.
S druge strane, spominje se da radi se na stabilizaciji rada DXVK sloja na NVK drajveru, koji pruža implementaciju Direct3D 9, 10 i 11 prevođenjem poziva na Vulkan API. Iako nije zajamčeno da će sve D3D11 igre raditi s Mesa-ovom neizmijenjenom NVK+DXVK kombinacijom, identificirani nedostaci postupno se uklanjaju. Isto tako, NVK veza s VKD3D-Protonom se razvija kako bi se pružila podrška za D3D12, iako je njen status još uvijek u razvoju i zahtijeva implementaciju nekih nedostajućih mogućnosti.
Na kraju, vrijedi spomenuti da je upravljački program već uključen u Mesa, a potrebne promjene u API-ju upravljačkog programa Nouveau DRM uključene su od verzije 6.6 Linux kernela. Drijemanje zainteresirani za saznanje više o tome, možete provjeriti detalje U sljedećem linku.