Konsorcium Khronos, zabývající se vývojem grafických standardů, 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 balíčku CTS (Kronos Conformance Test Suite) a byl zařazen na seznam certifikovaných ovladačů. Certifikace byla provedena pro GPU NVIDIA na bázi mikroarchitektury Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Ověření bylo provedeno v prostředí s jádrem Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 a GNOME Shell 44.4. Získání certifikátu poskytuje možnost oficiálně prohlašovat o kompatibilitě s grafickými standardy a používat související ochranné známky Khronos.
Ovladač NVK byl vytvořen od základu týmem, jehož členy jsou Karol Herbst (vývojář Nouveau z Red Hat), David Airlie (údržbář pod systému DRM z Red Hat) a Jason Ekstrand (aktivní vývojář Mesa z Collabora). Při tvorbě ovladače vývojáři používali oficiální hlavičkové soubory a otevřené moduly jádra, které vydala společnost NVIDIA. V kódu NVK se místy používaly základní komponenty OpenGL-ovladače Nouveau, ale kvůli rozdílům ve pojmenování v hlavičkových souborech NVIDIA a pojmenování v Nouveau získaných na základě reverzního inženýrství, bylo přímé převzetí kódu ztíženo a většinou bylo nutné přepracovat mnoho věcí a realizovat je od základů.
Vývoj probíhal s ohledem na vytvoření nového referenčního Vulkan-ovladače pro Mesa, jehož kód bude možné použít při vytváření dalších ovladačů. K tomu se při práci na ovladači NVK snažili zohlednit veškeré dosavadní zkušenosti s vývojem Vulkan-ovladačů, udržovat kódovou základnu v optimálním stavu a minimalizovat přenos kódu z jiných Vulkan-ovladačů, přičemž bylo důležité dělat věci tak, jak by měly být pro optimální a kvalitní funkčnost, nikoli slepě kopírovat to, jak to bylo uděláno v jiných ovladačích. Ovladač již je součástí Mesa a nezbytné změny pro fungování v API DRM-ovladače Nouveau byly zahrnuty do jádra Linux 6.6.
V oznámení o změnách se také uvádí přijetí nového backendového kompilátoru pro NVK, napsaného v jazyce Rust, který řeší problémy ve starém kompilátoru, jež bránily zpracování textů Kronos, a také odstraňuje některá základní omezení architektury, která nebylo možné opravit bez kompletní přestavby starého kompilátoru. Mezi plány do budoucna je zmíněno přidání podpory GPU na bázi mikroarchitektury Maxwell v novém backendu a implementace úplné podpory API Vulkan 1.3.
Zdroj: opennet.ru
