Konsorcium Khronos, které vyvíjí grafické standardy, uznalo plnou kompatibilitu otevřeného ovladače NVK pro grafické karty NVIDIA se specifikací Vulkan 1.0. Ovladač úspěšně prošel všemi testy z CTS (Kronos Conformance Test Suite) a je zařazen do seznamu certifikovaných ovladačů. Byla dokončena certifikace pro GPU NVIDIA založené na mikroarchitektuře Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Test byl proveden v prostředí s linuxovým jádrem 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 a GNOME Shell 44.4. Získání certifikátu vám umožňuje oficiálně deklarovat kompatibilitu s grafickými standardy a používat související ochranné známky Khronos.
Ovladač NVK vytvořil od nuly tým zahrnující Karol Herbst (vývojář Nouveau v Red Hatu), David Airlie (správce DRM v Red Hatu) a Jason Ekstrand (aktivní vývojář Mesa ve společnosti Collabora). Při vytváření ovladače vývojáři použili oficiální hlavičkové soubory a otevřené moduly jádra vydané společností NVIDIA. Kód NVK na některých místech používal některé základní komponenty ovladače Nouveau OpenGL, ale kvůli rozdílům v názvech v hlavičkových souborech NVIDIA a reverzně navrženým názvům v Nouveau je přímé vypůjčení kódu obtížné a z větší části mnoho věcí muselo být přehodnoceno a implementováno od nuly.
Vývoj probíhal s ohledem na vytvoření nového referenčního ovladače Vulkan pro Mesa, jehož kód bylo možné si vypůjčit při vytváření dalších ovladačů. Aby toho dosáhli, při práci na ovladači NVK se snažili vzít v úvahu všechny stávající zkušenosti s vývojem ovladačů Vulkan, udržovat kódovou základnu v optimální formě a minimalizovat přenos kódu z jiných ovladačů Vulkan, jak by mělo být pro optimální a kvalitní práce a ne slepé kopírování toho, jak se to dělá v jiných ovladačích. Ovladač je již součástí Mesa a nezbytné změny v rozhraní API ovladače Nouveau DRM jsou součástí jádra Linuxu 6.6.
Mezi změnami v oznámení Mesa také zaznamenává přijetí nového backendového kompilátoru pro NVK, napsaného v jazyce Rust a řešící problémy ve starém kompilátoru, které narušovaly průchod textů Kronos, a také odstranění některých zásadních omezení architektura, kterou nebylo možné opravit bez kompletního přepracování starého kompilátoru. Mezi plány do budoucna je v novém backendu zmíněno přidání podpory GPU na bázi mikroarchitektury Maxwell a implementace plné podpory pro Vulkan 1.3 API.
Zdroj: opennet.ru