NVK è Zink anu migliuratu significativamente a situazione cù driver aperti per GPU NVIDIA

Collabora hà annunziatu chì hà purtatu u driver NVK apertu per e carte video NVIDIA pronti per l'usu di ogni ghjornu da una larga gamma d'utilizatori è hà certificatu stu driver in u consorziu Khronos, chì sviluppa normi grafichi. U cunduttore hè ricunnisciutu cum'è cumplettamente cumpatibile cù a specificazione Vulkan 1.3, hà passatu bè tutte e teste da u CTS (Khronos Conformance Test Suite) è hè inclusu in a lista di cunduttori certificati.

A certificazione hè stata completata per e GPU NVIDIA basate nantu à microarchitetture Turing (serie GeForce GTX 16xx, RTX 20xx è Quadro RTX), Ampere (serie GeForce RTX 30xx è RTX A2000/4000/5000/6000) è Ada (GeForce RTX 4xxx, RTX 4000xxx, RTX 4). , RTX 5000xxx/6000/6.5 Ada). A prova hè stata realizata in un ambiente cù u kernel Linux 6.8 è 1rc24.1. L'ottenimentu di u certificatu vi permette di dichjarà ufficialmente a cumpatibilità cù i normi grafichi è aduprà i marchi Khronos associati. I cambiamenti sò digià accettati in a basa di codice Mesa è seranu parte di a versione Mesa XNUMX.

In più di e migliure in NVK, ci hè statu un prugressu significativu in furnisce un supportu OpenGL per e carte video NVIDIA. Mesa hà aduttatu un cambiamentu chì permette l'usu di u driver Zink per furnisce un supportu per OpenGL 4.6 in sistemi cù una nova serie di carte video NVIDIA (a partire da GeForce RTX 20xx), chì pò avè prublemi in u stock Nouveau OpenGL driver (NVC0). Per attivà Zink invece di NVC0 in Mesa 24.1, basta à stabilisce a variabile d'ambiente "NOUVEAU_USE_ZINK=1".

I cambiamenti fatti à Mesa furniscenu ancu l'abilità di utilizà Zink per supportà OpenGL in altri cunduttori cum'è un fallback per GPU chì ùn sò micca supportati da i driver OpenGL nativi di Mesa. Per esempiu, un approcciu simili hè digià utilizatu per furnisce u supportu OpenGL in u driver freedreno per a GPU Qualcomm Adreno 700 è u driver powervr per a GPU Imagination PowerVR basatu nantu à a microarchitettura Rogue.

Zink furnisce una implementazione OpenGL nantu à Vulkan chì vi permette di ottene l'accelerazione di hardware OpenGL in i dispositi chì supportanu solu l'API Vulkan. In a prossima versione di Mesa, u driver Zink serà attivatu per automaticamente quandu custruisce. A prestazione di Zink hè vicinu à a prestazione di implementazioni native OpenGL, chì permette, invece di perdi risorse per mantene i drivers OpenGL individuali, per fucalizza nantu à un supportu di alta qualità per l'API Vulkan, è implementà u supportu OpenGL sopra Vulkan.

Ùn ci hè micca previstu di sguassà u vechju driver Nouveau OpenGL, ma in a so forma attuale a cumminazione Zink + NVK mostra un rendimentu più altu in parechje teste. À u stadiu attuale di u sviluppu, quandu eseguite parechji ghjoculi, a cumminazione Zink + NVK permette di ottene prestazioni di 60 FPS è più altu nantu à novi mudelli GPU, ma ci sò ancu alcuni prublemi micca risolti è spazii micca ottimizzati chì saranu risolti cù u tempu.

Hè nutatu ancu u travagliu per stabilizzà u travagliu di a capa DXVK in cima à u driver NVK, chì furnisce una implementazione di Direct3D 9, 10 è 11, travagliendu per a traduzzione di chjama à l'API Vulkan. Micca tutti i ghjochi D3D11 sò ancu garantiti per travaglià cù a combinazione NVK + DXVK senza modificazione da Mesa, ma e capacità basi sò dispunibuli è i difetti identificati sò gradualmente eliminati. In listessu modu, a cunnessione NVK cù VKD3D-Proton hè sviluppata per furnisce un supportu per D3D12, ma u so statutu hè sempre daretu à NVK + DXVK è alcune capacità mancanti anu da esse implementate.

U driver NVK hè statu custruitu da zero da una squadra chì include Karol Herbst (sviluppatore Nouveau in Red Hat), David Airlie (mantenitore DRM in Red Hat), è Jason / Faith Ekstrand (sviluppatore Mesa attiva) da Collabora). Quandu creanu u driver, i sviluppatori anu utilizatu i fugliali d'intestazione ufficiali è i moduli di kernel aperti publicati da NVIDIA. U codice NVK hà utilizatu alcuni cumpunenti basi di u driver Nouveau OpenGL in certi lochi, ma per via di e differenze in i nomi in i fugliali di l'intestazione NVIDIA è i nomi di ingegneria inversa in Nouveau, u prestitu direttu di u codice hè difficiule è per a maiò parte. parechje cose anu da esse ripensate è implementate da zero.

U sviluppu hè statu realizatu cù un ochju à creà un novu driver Vulkan di riferimentu per Mesa, u codice di quale puderia esse prestitu quandu creanu altri drivers. Per fà questu, quandu travaglianu nantu à u driver NVK, anu pruvatu à piglià in contu tutte l'esperienze esistenti in u sviluppu di i driver Vulkan, mantene a basa di codice in forma ottima è minimizzà u trasferimentu di codice da altri driver Vulkan, fendu cumu si deve esse per travagliu ottimali è d'alta qualità, è micca cupiendu à cecu cumu fattu in altri cunduttori. U driver hè digià inclusu in Mesa, è i cambiamenti necessarii à l'API di u driver Nouveau DRM sò inclusi in u kernel Linux 6.6.

Source: opennet.ru

Add a comment