NVK, een open source Vulkan-stuurprogramma voor NVIDIA

NVK-Logo_RGB

NVK is een nieuwe open source Vulkan-driver voor NVIDIA grafische hardware

Collabora heeft NVK . gelanceerd, een nieuwe open source driver voor Mesa die implementeert de Vulkan grafische API voor NVIDIA grafische kaarten. Het stuurprogramma is helemaal opnieuw geschreven met behulp van officiële headerbestanden en open kernelmodules die zijn vrijgegeven door NVIDIA.

Bij het ontwikkelen van een nieuwe driver, Nouveau OpenGL driver core-componenten worden op sommige plaatsen gebruikt, maar vanwege verschillen in NVIDIA-headerbestandsnamen en reverse-engineeringnamen in Nouveau, is het hergebruik van code moeilijk en vereiste voor het grootste deel veel heroverweging en implementatie vanaf het begin.

De ontwikkeling ook is aan de gang met het oog op het creëren van een nieuwe Vulkan-driver referentie voor Mesa, waarvan de code kan worden geleend bij het maken van andere controllers.

Ondersteuning voor NVIDIA-hardware in open source-stuurprogramma's is altijd een beetje gebrekkig geweest. Nouveau-stuurprogramma's bestaan ​​​​wel, maar ze missen vaak functies, bevatten bugs of zijn gewoon niet compatibel met bepaalde kaarten. Dit komt door een combinatie van factoren. In tegenstelling tot de Intel- en AMD-stuurprogramma's, is de nouveau-stuurprogrammastapel ontwikkeld met weinig tot geen officiële documentatie of hulp van NVIDIA. Ze zorgen hier af en toe voor kleine rekwisieten. Historisch gezien heeft het zich voornamelijk gericht op het mogelijk maken van nouveau genoeg om je Linux-distributie te installeren, toegang te krijgen tot een webbrowser en zijn eigen stuurprogramma-stack te downloaden.

Om dit te doen, wordt vermeld dat tijdens het werk van de NVK-chauffeur, er is een poging gedaan om rekening te houden met alle beschikbare ervaring bij de ontwikkeling van Vulkan-stuurprogramma's, houd de codebasis in optimale vorm en minimaliseer de overdracht van code van andere Vulkan-stuurprogramma's, en doe wat moet worden gedaan voor hoogwaardig, optimaal werk.

De NVK-driver is pas een paar maanden in ontwikkeling, dus de functionaliteit ervan is beperkt. De controller slaagt met succes voor 98% van de tests bij het uitvoeren van 10% van de Vulkan CTS-tests (Compatibility Test Suite).

In het algemeen wordt de rijopleiding geschat op 20-25% van de functionaliteit van ANV- en RADV-controllers. Wat hardware-ondersteuning betreft, is het stuurprogramma momenteel beperkt tot kaarten gebaseerd op microarchitecturen Turing en Ampère. Patches ter ondersteuning van Kepler, Maxwell en Pascal GPU's zijn in de maak, maar zijn nog niet klaar.

Waarschijnlijk het grootste gebied van technische strijd was het correct aansturen van hardware vanuit de kernelruimte. NVIDIA-hardware vertrouwt op ondertekende firmware voor alles, van weergave tot taakuitvoering tot energiebeheer. Firmware-blobs die NVIDIA in het verleden leverde, waren uitgeklede versies die ze alleen voor open source-stuurprogramma's maakten.

Op de lange termijn het NVK-stuurprogramma voor NVIDIA grafische kaarten zal naar verwachting een vergelijkbaar niveau van kwaliteit en functionaliteit bereiken als het RADV-stuurprogramma voor AMD-kaarten. Zodra het NVK-stuurprogramma gereed is, kunnen de gedeelde bibliotheken die tijdens de ontwikkeling zijn gemaakt, worden gebruikt om het Nouveau OpenGL-stuurprogramma voor NVIDIA-videokaarten te verbeteren.

Er wordt ook over nagedacht de mogelijkheid om gebruik het Zink-project om een ​​OpenGL-stuurprogramma te implementeren voor NVIDIA-videokaarten die werkt door de vertaling van Vulkan API-aanroepen.

Op de lange termijn is de hoop dat NVK voor NVIDIA-hardware zal zijn wat RADV is voor AMD-hardware.

Tot slot, voor degenen die geïnteresseerd zijn in het project, wordt vermeld dat: wordt ontwikkeld door een team dat bestaat uit Karol Herst (Nouveau-ontwikkelaar bij Red Hat), david airly (DRM-beheerder bij Red Hat) en Jason Ekstrand (actieve ontwikkelaar van Mesa in Collabora).

Wat betreft de controllercode, u moet weten dat: Het is open source onder de MIT-licentie. Het stuurprogramma ondersteunt alleen GPU's op basis van Turing- en Ampere-microarchitecturen die sinds september 2018 zijn uitgebracht. Als u er meer over wilt weten, kunt u de details raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.