Het Khronos-consortium, dat verantwoordelijk is voor de ontwikkeling van grafische standaarden, heeft de volledige compatibiliteit van de open driver NVK voor NVIDIA grafische kaarten met de Vulkan 1.0 specificatie erkend. De driver heeft met succes alle tests van de CTS (Kronos Conformance Test Suite) doorstaan en staat op de lijst van gecertificeerde drivers. De certificering is goedgekeurd voor NVIDIA GPU's op basis van de Turing microarchitectuur (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). De verificatie werd uitgevoerd in een omgeving met Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 en GNOME Shell 44.4. Het verkrijgen van het certificaat stelt ons in staat om officieel de compatibiliteit met grafische standaarden te claimen en gerelateerde handelsmerken van Khronos te gebruiken.
De NVK-driver is vanaf de grond opgebouwd door een team bestaande uit Karol Herbst (ontwikkelaar van Nouveau bij Red Hat), David Airlie (onderhouder van de DRM-subsysteem bij Red Hat) en Jason Ekstrand (actieve ontwikkelaar van Mesa bij Collabora). Bij het ontwikkelen van de driver hebben de ontwikkelaars gebruik gemaakt van officiƫle headerbestanden en open kernelmodules die door NVIDIA zijn gepubliceerd. In de NVK-code zijn soms basiscomponenten van de OpenGL-driver Nouveau gebruikt, maar vanwege de verschillen in naamgeving tussen NVIDIA's headerbestanden en de naamgeving in Nouveau, verkregen via reverse engineering, is directe overname van code problematisch en moesten veel dingen opnieuw worden overwogen en vanaf nul worden gerealiseerd.
De ontwikkeling was gericht op het creƫren van een nieuwe referentie Vulkan-driver voor Mesa, waarvan de code kan worden overgenomen bij het maken van andere drivers. Hiervoor hebben we tijdens het werken aan de NVK-driver geprobeerd om alle beschikbare ervaring in de ontwikkeling van Vulkan-drivers in overweging te nemen, de codebasis in optimale vorm te houden en de codeoverdracht van andere Vulkan-drivers te minimaliseren, zodat het goed functioneert en van hoge kwaliteit is, in plaats van blindelings te kopiƫren hoe het in andere drivers is gedaan. De driver maakt al deel uit van Mesa, en de noodzakelijke wijzigingen in de API van de Nouveau DRM-driver zijn opgenomen in de Linux-kernel 6.6.
In de aankondiging van de wijzigingen wordt ook de acceptatie van een nieuwe backend-compiler voor NVK, geschreven in Rust, genoemd. Deze compiler lost problemen op die de oude compiler had met het verwerken van Kronos-teksten en verhelpt enkele fundamentele beperkingen van de architectuur die niet konden worden opgelost zonder de oude compiler volledig te herontwerpen. Voor de toekomst is het toevoegen van ondersteuning voor GPU's op basis van de Maxwell-microarchitectuur en de volledige ondersteuning van de Vulkan 1.3 API genoemd.
Bron: opennet.ru
