NVK, un driver Vulkan open source per NVIDIA

NVK-Logo_RGB

NVK è un nuovo driver Vulkan open source per hardware grafico NVIDIA

Collabora ha lanciato NVK, un nuovo driver open source per Mesa that implementa l'API grafica Vulkan per le schede grafiche NVIDIA. Il driver viene scritto da zero utilizzando i file di intestazione ufficiali e i moduli del kernel aperti rilasciati da NVIDIA.

Quando si sviluppa un nuovo driver, I componenti principali del driver Nouveau OpenGL vengono utilizzati in alcuni punti, ma a causa delle differenze nei nomi dei file di intestazione NVIDIA e dei nomi di reverse engineering in Nouveau, il riutilizzo del codice è difficile e per la maggior parte ha richiesto molto ripensamento e implementazione da zero.

Lo sviluppo anche è in corso la creazione di un nuovo driver Vulkan riferimento per Mesa, il cui codice può essere preso in prestito durante la creazione di altri controller.

Il supporto per l'hardware NVIDIA nei driver open source è sempre stato un po' carente. I driver Nouveau esistono, ma spesso mancano di funzionalità, presentano bug o semplicemente non sono compatibili con determinate schede. Ciò è dovuto a una combinazione di fattori. A differenza dei driver Intel e AMD, lo stack di driver nouveau è stato sviluppato con poca o nessuna documentazione ufficiale o aiuto da parte di NVIDIA. Occasionalmente forniscono piccoli oggetti di scena qui. Storicamente, si è concentrato principalmente sull'abilitazione di nouveau abbastanza da poter installare la tua distribuzione Linux, accedere a un browser Web e scaricare il suo stack di driver proprietario.

Per fare ciò, si dice che durante il lavoro del driver NVK, si è cercato di tenere conto di tutta l'esperienza disponibile nello sviluppo dei driver Vulkan, mantieni la base di codice in una forma ottimale e riduci al minimo il trasferimento di codice da altri driver Vulkan, facendo ciò che dovrebbe essere fatto per un lavoro ottimale e di alta qualità.

Il driver NVK è in fase di sviluppo solo da pochi mesi, quindi la sua funzionalità è limitata. Il controller supera con successo il 98% dei test durante l'esecuzione del 10% dei test Vulkan CTS (Compatibility Test Suite).

In generale, la formazione dei conducenti è stimata al 20-25% della funzionalità dei controller ANV e RADV. In termini di supporto hardware, il driver è attualmente limitato alle schede basato su microarchitetture Turing e Ampère. Le patch per supportare le GPU Kepler, Maxwell e Pascal sono in lavorazione, ma non sono ancora pronte.

Probabilmente la più grande area di lotta tecnica è stata la corretta guida dell'hardware dallo spazio del kernel. L'hardware NVIDIA si basa sul firmware firmato per tutto, dalla visualizzazione all'esecuzione dei lavori fino alla gestione dell'alimentazione. I BLOB del firmware forniti da NVIDIA in passato erano versioni ridotte create solo per i driver open source.

Lungo termine, il driver NVK per le schede grafiche NVIDIA dovrebbe raggiungere un livello di qualità e funzionalità simile al driver RADV per le schede AMD. Una volta che il driver NVK è pronto, le librerie condivise create durante il suo sviluppo possono essere utilizzate per migliorare il driver Nouveau OpenGL per le schede video NVIDIA.

Viene anche preso in considerazione la possibilità di utilizzare il progetto Zink per implementare un driver OpenGL per schede video NVIDIA che funziona tramite la traduzione delle chiamate API Vulkan.

A lungo termine, la speranza è che NVK rappresenti per l'hardware NVIDIA ciò che RADV è per l'hardware AMD.

Infine, per chi fosse interessato al progetto, si segnala che è sviluppato da una squadra che include Carlo Herbst (sviluppatore Nouveau presso Red Hat), David Alie (manutentore DRM di Red Hat) e Jason Ekstrand (sviluppatore attivo di Mesa in Collabora).

Per quanto riguarda il codice del controller, dovresti saperlo È open source con licenza MIT. Il driver supporta solo GPU basate su microarchitetture Turing e Ampere rilasciate da settembre 2018. Se vuoi saperne di più, puoi fare riferimento ai dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.