NVK i Zink značajno su poboljšali situaciju s otvorenim upravljačkim programima za NVIDIA GPU

Collabora je objavila da je donijela otvoreni NVK drajver za NVIDIA video kartice spreman za svakodnevnu upotrebu širokom krugu korisnika i certificirala ovaj drajver u konzorciju Khronos, koji razvija grafičke standarde. Upravljački program prepoznat je kao potpuno kompatibilan sa specifikacijom Vulkan 1.3, uspješno je prošao sve testove iz CTS-a (Khronos Conformance Test Suite) i uvršten je na popis certificiranih upravljačkih programa.

Certifikacija je dovršena za NVIDIA GPU-ove temeljene na Turing mikroarhitekturama (GeForce GTX 16xx, RTX 20xx i Quadro RTX serije), Ampere (GeForce RTX 30xx i RTX A2000/4000/5000/6000 serije) i Ada (GeForce RTX 4xxx, RTX 4000 SFF , RTX 4xxx/5000/6000 Ada). Test je proveden u okruženju s Linux kernelom 6.5 i 6.8rc1. Dobivanje certifikata omogućuje vam službenu izjavu o kompatibilnosti s grafičkim standardima i korištenje povezanih zaštitnih znakova Khronos. Promjene su već prihvaćene u bazu kodova Mesa i bit će dio izdanja Mesa 24.1.

Uz poboljšanja u NVK-u, došlo je do značajnog napretka u pružanju OpenGL podrške za NVIDIA video kartice. Mesa je usvojila promjenu koja dopušta korištenje Zink upravljačkog programa za pružanje podrške za OpenGL 4.6 na sustavima s novom serijom NVIDIA video kartica (počevši od GeForce RTX 20xx), koji mogu imati problema u standardnom Nouveau OpenGL upravljačkom programu (NVC0). Da biste omogućili Zink umjesto NVC0 u Mesa 24.1, samo postavite varijablu okruženja “NOUVEAU_USE_ZINK=1”.

Promjene napravljene na Mesi također pružaju mogućnost korištenja Zinka za podršku OpenGL-a u drugim upravljačkim programima kao zamjenu za GPU-ove koje ne podržavaju izvorni OpenGL upravljački programi Mese. Na primjer, sličan pristup već se koristi za pružanje OpenGL podrške u freedreno upravljačkom programu za Qualcomm Adreno 700 GPU i powervr upravljačkom programu za Imagination PowerVR GPU koji se temelji na Rogue mikroarhitekturi.

Zink pruža OpenGL implementaciju povrh Vulkana koja vam omogućuje da dobijete hardverski ubrzani OpenGL na uređajima koji podržavaju samo Vulkan API. U sljedećem izdanju Mesa, Zink driver bit će omogućen prema zadanim postavkama prilikom izgradnje. Performanse Zinka bliske su performansama izvornih OpenGL implementacija, što omogućuje, umjesto trošenja resursa na održavanje pojedinačnih OpenGL drajvera, fokusiranje na visokokvalitetnu podršku za Vulkan API i implementaciju OpenGL podrške povrh Vulkana.

Još nema planova za uklanjanje starog Nouveau OpenGL drajvera, ali u svom trenutnom obliku kombinacija Zink + NVK pokazuje bolje performanse u mnogim testovima. U trenutnoj fazi razvoja, pri pokretanju mnogih igara, kombinacija Zink + NVK omogućuje postizanje performansi od 60 FPS i više na novim GPU modelima, ali još uvijek postoje neki neriješeni problemi i neoptimizirana područja koja će se s vremenom riješiti.

Također je zabilježen rad na stabilizaciji rada DXVK sloja na vrhu NVK drajvera, koji pruža implementaciju Direct3D 9, 10 i 11, radeći kroz prijevod poziva na Vulkan API. Još nije zajamčeno da će sve D3D11 igre raditi s nemodificiranom kombinacijom NVK+DXVK tvrtke Mesa, ali osnovne mogućnosti su dostupne, a identificirani nedostaci postupno se uklanjaju. Slično tome, NVK veza s VKD3D-Protonom se razvija kako bi se pružila podrška za D3D12, ali njen status je još uvijek iza NVK+DXVK i potrebno je implementirati neke mogućnosti koje nedostaju.

NVK drajver je od nule izradio tim koji uključuje Karol Herbst (Nouveau programer u Red Hatu), David Airlie (DRM održavatelj u Red Hatu) i Jason/Faith Ekstrand (aktivni Mesa programer) iz Collabore). Prilikom izrade upravljačkog programa, programeri su koristili službene datoteke zaglavlja i otvorene module kernela koje je objavila NVIDIA. NVK kod je na nekim mjestima koristio neke osnovne komponente Nouveau OpenGL drajvera, ali zbog razlika u nazivima u NVIDIA datotekama zaglavlja i obrnutim inženjeringom imena u Nouveau, izravno posuđivanje koda je teško i većim dijelom mnoge stvari je trebalo promisliti i implementirati ispočetka .

Razvoj je proveden s ciljem stvaranja novog referentnog Vulkan drajvera za Mesu, čiji se kod može posuditi prilikom izrade drugih drajvera. Da bi to učinili, kada su radili na NVK drajveru, pokušali su uzeti u obzir sva postojeća iskustva u razvoju Vulkan drajvera, održavati bazu koda u optimalnom obliku i minimizirati prijenos koda iz drugih Vulkan drajvera, radeći kako treba za optimalan i kvalitetan rad, a ne slijepo kopiranje kako se radi u drugim drajverima. Upravljački program već je uključen u Mesa, a potrebne promjene u Nouveau DRM API-ju upravljačkog programa uključene su u jezgru Linuxa 6.6.

Izvor: opennet.ru

Dodajte komentar