NVK, ein offener Treiber für NVIDIA-Grafikkarten, unterstützt Vulkan 1.0

Das Khronos-Konsortium, das Grafikstandards entwickelt, hat die vollständige Kompatibilität des offenen NVK-Treibers für NVIDIA-Grafikkarten mit der Vulkan 1.0-Spezifikation anerkannt. Der Fahrer hat alle Tests der CTS (Kronos Conformance Test Suite) erfolgreich bestanden und ist in der Liste der zertifizierten Fahrer enthalten. Die Zertifizierung für NVIDIA-GPUs auf Basis der Turing-Mikroarchitektur (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000) wurde abgeschlossen. Der Test wurde in einer Umgebung mit dem Linux-Kernel 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 und GNOME Shell 44.4 durchgeführt. Durch den Erhalt des Zertifikats können Sie offiziell die Kompatibilität mit Grafikstandards erklären und die zugehörigen Khronos-Markenzeichen verwenden.

Der NVK-Treiber wurde von Grund auf von einem Team entwickelt, zu dem Karol Herbst (Nouveau-Entwickler bei Red Hat), David Airlie (DRM-Betreuer bei Red Hat) und Jason Ekstrand (aktiver Mesa-Entwickler bei Collabora) gehörten. Bei der Erstellung des Treibers verwendeten die Entwickler offizielle Header-Dateien und offene Kernel-Module, die von NVIDIA veröffentlicht wurden. Der NVK-Code verwendete an einigen Stellen einige grundlegende Komponenten des Nouveau OpenGL-Treibers, aber aufgrund der Unterschiede in den Namen in den NVIDIA-Header-Dateien und den rückentwickelten Namen in Nouveau ist das direkte Ausleihen des Codes größtenteils schwierig Vieles musste von Grund auf neu überdacht und umgesetzt werden.

Die Entwicklung wurde mit dem Ziel durchgeführt, einen neuen Referenz-Vulkan-Treiber für Mesa zu erstellen, dessen Code bei der Erstellung anderer Treiber ausgeliehen werden konnte. Zu diesem Zweck haben sie bei der Arbeit am NVK-Treiber versucht, alle vorhandenen Erfahrungen bei der Entwicklung von Vulkan-Treibern zu berücksichtigen, die Codebasis in optimaler Form zu halten und die Übertragung von Code von anderen Vulkan-Treibern so gering wie möglich zu halten optimale und qualitativ hochwertige Arbeit und kein blindes Kopieren der Vorgehensweise anderer Treiber. Der Treiber ist bereits in Mesa enthalten und die notwendigen Änderungen an der Nouveau DRM-Treiber-API sind im Linux 6.6-Kernel enthalten.

Zu den Änderungen in der Ankündigung zählt Mesa auch die Einführung eines neuen Backend-Compilers für NVK, der in der Rust-Sprache geschrieben ist und Probleme im alten Compiler löst, die die Weitergabe von Kronos-Texten behinderten, sowie die Beseitigung einiger grundlegender Einschränkungen des Architektur, die ohne eine komplette Überarbeitung des alten Compilers nicht korrigiert werden konnte. Zu den Plänen für die Zukunft zählen die Hinzufügung von GPU-Unterstützung auf Basis der Maxwell-Mikroarchitektur und die Implementierung einer vollständigen Unterstützung für die Vulkan 1.3 API im neuen Backend.

Source: opennet.ru

Kommentar hinzufügen