NVK ir Zink žymiai pagerino situaciją su atviromis NVIDIA GPU tvarkyklėmis

„Collabora“ paskelbė, kad pristatė atvirą NVIDIA vaizdo plokščių NVK tvarkyklę, paruoštą kasdieniam naudojimui daugeliui vartotojų, ir sertifikavo šią tvarkyklę „Khronos“ konsorciume, kuris kuria grafikos standartus. Vairuotojas yra pripažintas visiškai suderinamas su Vulkan 1.3 specifikacija, sėkmingai išlaikė visus CTS (Khronos Conformance Test Suite) testus ir yra įtrauktas į sertifikuotų tvarkyklių sąrašą.

Sertifikatas baigtas NVIDIA GPU, pagrįstiems Turingo mikroarchitektūromis (GeForce GTX 16xx, RTX 20xx ir Quadro RTX serija), Ampere (GeForce RTX 30xx ir RTX A2000/4000/5000/6000 serija) ir RTX4/4000 serijos Ada (GeForce GTX 4xx, RTX 5000xx ir Quadro RTX). , RTX 6000xxx/6.5/6.8 Ada). Testas buvo atliktas aplinkoje su Linux branduoliu 1 ir 24.1rcXNUMX. Sertifikato gavimas leidžia oficialiai deklaruoti suderinamumą su grafikos standartais ir naudoti susijusius Khronos prekių ženklus. Pakeitimai jau buvo priimti į „Mesa“ kodų bazę ir bus „Mesa XNUMX“ leidimo dalis.

Be NVK patobulinimų, buvo padaryta didelė pažanga teikiant OpenGL palaikymą NVIDIA vaizdo plokštėms. „Mesa“ priėmė pakeitimą, leidžiantį naudoti „Zink“ tvarkyklę, kad būtų galima teikti „OpenGL 4.6“ palaikymą sistemose su naujomis NVIDIA vaizdo plokščių serijomis (pradedant „GeForce RTX 20xx“), dėl kurių gali kilti problemų su „Nouveau OpenGL“ tvarkykle (NVC0). Norėdami įgalinti Zink, o ne NVC0 sistemoje Mesa 24.1, tiesiog nustatykite aplinkos kintamąjį „NOUVEAU_USE_ZINK=1“.

„Mesa“ pakeitimai taip pat suteikia galimybę naudoti „Zink“, kad palaikytų „OpenGL“ kitose tvarkyklėse, kaip atsarginį GPU, kurio nepalaiko „Mesa“ vietinės OpenGL tvarkyklės. Pavyzdžiui, panašus metodas jau naudojamas teikiant OpenGL palaikymą freedreno tvarkyklėje Qualcomm Adreno 700 GPU ir powervr tvarkyklėje Imagination PowerVR GPU, pagrįstoje Rogue mikroarchitektūra.

„Zink“ teikia „OpenGL“ diegimą „Vulkan“ viršuje, leidžiantį gauti aparatinės įrangos pagreitintą „OpenGL“ įrenginiuose, kurie palaiko tik „Vulkan“ API. Kitame Mesa leidime Zink tvarkyklė bus įjungta pagal numatytuosius nustatymus kuriant. „Zink“ našumas yra artimas vietinių „OpenGL“ diegimų našumui, todėl galima, užuot eikvojus išteklius atskirų „OpenGL“ tvarkyklių priežiūrai, sutelkti dėmesį į aukštos kokybės „Vulkan API“ palaikymą ir įdiegti „OpenGL“ palaikymą kartu su „Vulkan“.

Kol kas neplanuojama pašalinti senosios „Nouveau OpenGL“ tvarkyklės, tačiau dabartinės formos „Zink + NVK“ derinys daugelyje bandymų demonstruoja didesnį našumą. Dabartiniame kūrimo etape, kai žaidžiate daug žaidimų, Zink + NVK derinys leidžia pasiekti 60 FPS ir didesnį našumą naujuose GPU modeliuose, tačiau vis dar yra neišspręstų problemų ir neoptimizuotų sričių, kurios laikui bėgant bus išspręstos.

Taip pat pastebėtas darbas, skirtas stabilizuoti DXVK sluoksnio, esančio NVK tvarkyklės viršuje, darbą, kuris suteikia „Direct3D 9“, 10 ir 11 diegimą, verčiant skambučius į „Vulkan API“. Dar ne visi D3D11 žaidimai veiks su nemodifikuotu „Mesa“ NVK+DXVK deriniu, tačiau pagrindinės galimybės yra, o nustatyti defektai palaipsniui šalinami. Panašiai kuriamas NVK ryšys su VKD3D-Proton, kad būtų palaikomas D3D12, tačiau jo būsena vis dar atsilieka nuo NVK+DXVK ir reikia įdiegti kai kurias trūkstamas galimybes.

NVK tvarkyklę nuo nulio sukūrė komanda, kurią sudaro Karolis Herbstas (Nouveau kūrėjas „Red Hat“), Davidas Airlie (DRM prižiūrėtojas „Red Hat“) ir Jasonas/Faithas Ekstrandas (aktyvus „Mesa“ kūrėjas) iš „Collabora“. Kurdami tvarkyklę kūrėjai naudojo oficialius antraštės failus ir atvirus branduolio modulius, kuriuos paskelbė NVIDIA. NVK kode kai kuriose vietose buvo naudojami kai kurie pagrindiniai Nouveau OpenGL tvarkyklės komponentai, tačiau dėl pavadinimų skirtumų NVIDIA antraštės failuose ir atvirkštinės inžinerijos pavadinimų Nouveau, tiesioginis kodo skolinimasis yra sudėtingas ir dažniausiai. reikėjo daug ką permąstyti ir įgyvendinti nuo nulio .

Kūrimas buvo atliktas siekiant sukurti naują „Mesa“ etaloninę Vulkan tvarkyklę, kurios kodą būtų galima pasiskolinti kuriant kitas tvarkykles. Norėdami tai padaryti, dirbdami su NVK tvarkykle jie stengėsi atsižvelgti į visą turimą Vulkan tvarkyklių kūrimo patirtį, palaikyti optimalią kodų bazę ir sumažinti kodo perdavimą iš kitų Vulkan tvarkyklių, darydami taip, kaip turėtų. optimalus ir kokybiškas darbas, o ne aklai kopijavimas, kaip daroma kitose tvarkyklėse. Vairuotojas jau įtrauktas į Mesa, o būtini Nouveau DRM tvarkyklės API pakeitimai yra įtraukti į Linux 6.6 branduolį.

Šaltinis: opennet.ru

Добавить комментарий