S'ha presentat NVK, un controlador Vulkan de codi obert per a targetes gràfiques NVIDIA

Collabora ha llançat NVK, un nou controlador de codi obert per a Mesa que implementa l'API de gràfics Vulkan per a targetes gràfiques NVIDIA. El controlador s'escriu des de zero mitjançant fitxers de capçalera oficials i mòduls oberts del nucli publicats per NVIDIA. El codi del controlador és de codi obert sota la llicència MIT. El controlador només admet GPU basades en microarquitectures Turing i Ampere llançades des del setembre de 2018.

El projecte està desenvolupat per un equip que inclou Karol Herbst, desenvolupador Nouveau de Red Hat, David Airlie, responsable del subsistem DRM de Red Hat i Jason Ekstrand, desenvolupador actiu de Mesa a Collabora. Quan es desenvolupa un controlador nou, els components bàsics del controlador Nouveau OpenGL s'utilitzen en alguns llocs, però a causa de les diferències en els noms dels fitxers de capçalera de NVIDIA i els noms d'enginyeria inversa a Nouveau, el préstec directe de codi és difícil i, en la seva major part, calia repensar moltes coses i implementar-les amb zero.

El desenvolupament també està en marxa amb l'objectiu de crear un nou controlador Vulkan de referència per a Mesa, el codi del qual es pot agafar en préstec quan es creen altres controladors. Per fer-ho, quan es treballa amb el controlador NVK, hem intentat tenir en compte tota l'experiència disponible en el desenvolupament de controladors Vulkan, mantenir la base de codi en una forma òptima i minimitzar la transferència de codi d'altres controladors Vulkan, fent el que s'hauria de fer. per a un treball òptim i d'alta qualitat, i no copiar a cegues el que es fa en altres controladors.

El controlador NVK només porta uns mesos en desenvolupament, de manera que la seva funcionalitat és limitada. El conductor passa amb èxit el 98% de les proves quan executa el 10% de les proves del Vulkan CTS (Compatibility Test Suite). En general, la preparació dels controladors s'estima en un 20-25% de la funcionalitat dels controladors ANV i RADV. Pel que fa al suport de maquinari, actualment el controlador es limita a les targetes basades en microarquitectures Turing i Ampere. S'està treballant en pedaços per donar suport a les GPU Kepler, Maxwell i Pascal, però encara no estan preparats.

A llarg termini, s'espera que el controlador NVK per a targetes gràfiques NVIDIA assoleixi un nivell de qualitat i funcionalitat similar al controlador RADV per a targetes AMD. Quan el controlador NVK estigui llest, les biblioteques compartides creades durant el seu desenvolupament es poden utilitzar per millorar el controlador Nouveau OpenGL per a targetes de vídeo NVIDIA. També s'està considerant la possibilitat d'utilitzar el projecte Zink per implementar un controlador OpenGL complet per a targetes de vídeo NVIDIA que funcioni mitjançant la traducció de trucades a l'API Vulkan.

Font: opennet.ru

Afegeix comentari