Introdotto NVK, un driver Vulkan aperto per schede video NVIDIA

Collabora ha introdotto NVK, un nuovo driver open source per Mesa che implementa l'API grafica Vulkan per le schede video NVIDIA. Il driver è scritto da zero utilizzando file header ufficiali e moduli kernel open source pubblicati da NVIDIA. Il codice del driver è open source con licenza MIT. Il driver attualmente supporta solo GPU basate sulle microarchitetture Turing e Ampere, rilasciate da settembre 2018.

Il progetto è stato sviluppato da un team che comprende Karol Herbst, uno sviluppatore Nouveau presso Red Hat, David Airlie, un manutentore DRM presso Red Hat, e Jason Ekstrand, uno sviluppatore Mesa attivo presso Collabora. Quando si sviluppa un nuovo driver, in alcuni punti vengono utilizzati i componenti di base del driver Nouveau OpenGL, ma a causa delle differenze tra i nomi nei file header NVIDIA e i nomi in Nouveau, ottenuti sulla base del reverse engineering, il prestito diretto di il codice è difficile e per la maggior parte è stato necessario ripensare molte cose e implementarle da zero.

Lo sviluppo è in corso anche con l'obiettivo di creare un nuovo driver Vulkan di riferimento per Mesa, il cui codice può essere preso in prestito durante la creazione di altri driver. Per fare ciò, lavorando sul driver, NVK ha cercato di tenere conto di tutta l'esperienza esistente nello sviluppo dei driver Vulkan, mantenere la base di codice in forma ottimale e ridurre al minimo il trasferimento di codice da altri driver Vulkan, facendo come dovrebbe essere per un funzionamento ottimale. e un lavoro di alta qualità e non copiare ciecamente come è stato fatto in altri conducenti.

Il driver NVK è in sviluppo solo da pochi mesi, quindi la sua funzionalità è limitata. Il driver supera con successo il 98% dei test eseguendo il 10% dei test da Vulkan CTS (Compatibility Test Suite). In generale, la disponibilità dei driver è stimata al 20-25% della funzionalità dei driver ANV e RADV. In termini di supporto hardware, il driver è attualmente limitato alle schede basate sulle microarchitetture Turing e Ampere. Si stanno lavorando sulle patch per supportare le GPU Kepler, Maxwell e Pascal, ma non sono ancora pronte.

Nel lungo termine, si prevede che il driver NVK per le schede grafiche NVIDIA raggiungerà livelli di qualità e funzionalità simili al driver RADV per le schede AMD. Una volta che il driver NVK è pronto, le librerie comuni create durante il suo sviluppo possono essere utilizzate per migliorare il driver Nouveau OpenGL per le schede video NVIDIA. Viene inoltre presa in considerazione la possibilità di utilizzare il progetto Zink per implementare un driver OpenGL completo per le schede video NVIDIA, lavorando tramite chiamate di trasmissione all'API Vulkan.

Fonte: opennet.ru

Aggiungi un commento