NVK ist jetzt für den allgemeinen Gebrauch bereit und vollständig kompatibel mit Vulkan 1.3 

NVK-Logo_RGB

NVK ist ein neuer Open-Source-Vulkan-Treiber für NVIDIA-Grafikhardware

Letzten Oktober Wir sprechen hier im Blog über den NVK-Treiber, ein Open-Source-Treiber für Mesa, der die Vulkan-Grafik-API für NVIDIA-Grafikkarten implementiert, an der Collabora von Grund auf unter Verwendung offizieller Header-Dateien und von NVIDIA veröffentlichter offener Kernel-Module gearbeitet hat.

Während seiner Entwicklung NVK trug die Bezeichnung „experimentell“. und jetzt, in neueren Nachrichten Collabora hat bekannt gegeben, dass NVK stabil geworden ist und für den allgemeinen Gebrauch empfohlen wird da die vollständige Kompatibilität mit der Vulkan 1.3-Spezifikation getestet wurde. Dieser Controller hat alle CTS-Tests (Khronos Conformance Test Suite) erfolgreich bestanden und ist in der Liste der zertifizierten Controller enthalten.

NVK-Logo_RGB
Verwandte Artikel:
NVK, ein Open-Source-Vulkan-Treiber für NVIDIA

Die Zertifizierung umfasst NVIDIA-GPUs, die auf den Mikroarchitekturen Turing, Ampere und Ada basieren. einschließlich von GeForce GTX 16xx bis RTX 4xxx und RTX 4000-Serie, RTX A2000 bis 6000. Diese Tests wurden in Umgebungen mit Linux-Kernel 6.5 und 6.8rc1 durchgeführt.

Es wird das erwähnt Durch den Erhalt des Zertifikats wird die Kompatibilität mit Grafikstandards offiziell erklärt und erlaubt die Nutzung der zugehörigen Khronos-Marken. Die Änderungen wurden bereits in die Mesa-Codebasis integriert und werden in Mesa 24.1 verfügbar sein.

Zusätzlich zu den Fortschritten im NVK, Auch bei der OpenGL-Unterstützung für NVIDIA-Grafikkarten wurden erhebliche Verbesserungen vorgenommen. Mesa hat eine Änderung übernommen, die die Verwendung des Zink-Treibers ermöglicht, um OpenGL 4.6 auf Systemen mit neuen Serien von NVIDIA-Grafikkarten zu unterstützen, bei denen es zu Problemen mit dem Standard-Nouveau-OpenGL-Treiber (NVC0) kommen kann.

Wir haben in den letzten Monaten hart daran gearbeitet, die letzten Teile fertigzustellen, die erforderlich sind, damit DXVK jetzt sofort auf Upstream Mesa ausgeführt werden kann. Es ist nicht garantiert, dass alle D3D11-Spiele funktionieren (es kann Fehler geben), aber alle Grundvoraussetzungen sind vorhanden. Wir arbeiten aktiv an den verbleibenden Teilen, um die D3D12-Emulation über VKD3D-Proton zu unterstützen. Vieles ist bereits erledigt oder in Arbeit, aber es fehlen noch einige Teile. Erwarten Sie also nicht, dass D3D12-Spiele jetzt schon funktionieren.

Diese Veränderungen in Mesa Sie eröffnen auch die Möglichkeit, Zink zur Unterstützung von OpenGL in anderen Treibern als Alternative für GPUs zu verwenden die von Mesas nativen OpenGL-Treibern nicht unterstützt werden. Ein ähnlicher Ansatz wird beispielsweise verwendet, um OpenGL-Unterstützung im freedreno-Treiber für die Qualcomm Adreno 700-GPU und im powervr-Treiber für die Imagination PowerVR-GPU basierend auf der Rogue-Mikroarchitektur bereitzustellen.

In der nächsten Version von Mesa wird der Zink-Treiber standardmäßig aktiviert sein während der Kompilierung. Die Leistung von Zink ist mit nativen OpenGL-Implementierungen vergleichbar, wodurch es möglich ist, sich auf die hochwertige Unterstützung der Vulkan-API zu konzentrieren, anstatt einzelne OpenGL-Treiber zu pflegen.

Es gibt zwar keine Pläne, den alten Nouveau-Treiber zu entfernen OpenGL, Die Kombination Zink + NVK zeigt in vielen Tests eine höhere Leistung. Im aktuellen Entwicklungsstadium ermöglicht diese Kombination eine Leistung von 60 FPS und mehr auf neuen GPU-Modellen, obwohl es noch nicht optimierte Bereiche gibt, die im Laufe der Zeit behoben werden.

Andererseits wird das erwähnt Es wird daran gearbeitet, den Betrieb der DXVK-Schicht auf dem NVK-Treiber zu stabilisieren, das eine Implementierung von Direct3D 9, 10 und 11 durch die Übersetzung von Aufrufen an die Vulkan-API bereitstellt. Obwohl noch nicht garantiert ist, dass alle D3D11-Spiele mit Mesas unveränderter NVK+DXVK-Kombination funktionieren, werden festgestellte Mängel nach und nach behoben. Ebenso wird die NVK-Verbindung mit VKD3D-Proton entwickelt, um D3D12 zu unterstützen, obwohl sich ihr Status noch in der Entwicklung befindet und die Implementierung einiger fehlender Funktionen erfordert.

Abschließend ist noch zu erwähnen, dass der Treiber bereits in Mesa enthalten ist und die notwendigen Änderungen an der Nouveau DRM-Treiber-API seit der Linux-Kernel-Version 6.6 enthalten sind. Nickerchen daran interessiert, mehr darüber zu erfahren, Sie können die Details überprüfen im folgenden Link.