NVK, otevřený ovladač pro grafické karty NVIDIA, podporuje Vulkan 1.0

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

Přidat komentář