Predstavljen NVK, odprt gonilnik Vulkan za video kartice NVIDIA

Collabora je predstavila NVK, nov odprtokodni gonilnik za Mesa, ki implementira grafični API Vulkan za video kartice NVIDIA. Gonilnik je napisan iz nič z uporabo uradnih datotek glave in odprtokodnih modulov jedra, ki jih je objavila NVIDIA. Koda gonilnika je odprtokodna pod licenco MIT. Gonilnik trenutno podpira samo grafične procesorje, ki temeljijo na mikroarhitekturah Turing in Ampere, izdanih od septembra 2018.

Projekt razvija ekipa, ki vključuje Karol Herbst, Nouveau razvijalec pri Red Hat, David Airlie, vzdrževalec DRM pri Red Hat, in Jason Ekstrand, aktivni razvijalec Mesa pri Collabora. Pri razvoju novega gonilnika so ponekod uporabljene osnovne komponente gonilnika Nouveau OpenGL, vendar zaradi razlik v imenih v datotekah glave NVIDIA in imen v Nouveau, pridobljenih na podlagi obratnega inženiringa, neposredna izposoja koda je težka in večinoma je bilo treba marsikaj premisliti in implementirati v nulo.

Razvoj poteka tudi z namenom ustvarjanja novega referenčnega gonilnika Vulkan za Mesa, katerega kodo si je mogoče izposoditi pri ustvarjanju drugih gonilnikov. Da bi to dosegel, je NVK pri delu na gonilniku poskušal upoštevati vse obstoječe izkušnje pri razvoju gonilnikov Vulkan, ohraniti bazo kode v optimalni obliki in zmanjšati prenos kode iz drugih gonilnikov Vulkan, tako kot bi moralo biti za optimalno in visokokakovostno delo ter ne slepo kopiranje, kako je bilo to narejeno v drugih gonilnikih.

Gonilnik NVK je bil v razvoju šele nekaj mesecev, zato je njegova funkcionalnost omejena. Gonilnik uspešno prestane 98 % testov pri izvajanju 10 % testov iz Vulkan CTS (Compatibility Test Suite). Na splošno je pripravljenost gonilnika ocenjena na 20–25 % funkcionalnosti gonilnikov ANV in RADV. Kar zadeva podporo strojne opreme, je gonilnik trenutno omejen na kartice, ki temeljijo na mikroarhitekturah Turing in Ampere. Pripravljajo se popravki za podporo grafičnih procesorjev Kepler, Maxwell in Pascal, vendar še niso pripravljeni.

Dolgoročno se pričakuje, da bo gonilnik NVK za grafične kartice NVIDIA dosegel ravni kakovosti in funkcionalnosti, podobne gonilniku RADV za kartice AMD. Ko je gonilnik NVK pripravljen, se lahko skupne knjižnice, ustvarjene med njegovim razvojem, uporabijo za izboljšanje gonilnika Nouveau OpenGL za video kartice NVIDIA. Obravnava se tudi možnost uporabe projekta Zink za implementacijo polnega gonilnika OpenGL za grafične kartice NVIDIA, ki deluje prek oddajanja klicev v API Vulkan.

Vir: opennet.ru

Dodaj komentar