Прадстаўлены NVK, адчынены Vulkan-драйвер для відэакарт NVIDIA

Кампанія Collabora прадставіла NVK, новы адчынены драйвер для Mesa з рэалізацыяй графічнага API Vulkan для відэакарт NVIDIA. Драйвер напісаны з нуля, выкарыстоўваючы афіцыйныя загалоўкавыя файлы і адчыненыя модулі ядра, апублікаваныя кампаніяй NVIDIA. Код драйвера адчынены пад ліцэнзіяй MIT. Драйверам падтрымліваюцца пакуль толькі GPU на базе мікраархітэктур Turing і Ampere, якія выпускаюцца з верасня 2018 года.

Праект развіваецца камандай, у якую ўваходзяць Карал Хербст (Karol Herbst), распрацоўшчык Nouveau з Red Hat, Дэвід Эйрлі (David Airlie), мэйнтэйнер падсістэмы DRM з Red Hat, і Джэйсан Экстранд (Jason Ekstrand), актыўны распрацоўшчык Mesa з Collabora. Пры распрацоўцы новага драйвера месцамі выкарыстоўваюцца базавыя кампаненты OpenGL-драйвера Nouveau, але з-за адрозненняў найменняў у загалоўкавых файлах NVIDIA і найменняў у Nouveau, атрыманых на аснове зваротнага інжынірынгу, прамое запазычанне кода абцяжарана і па большай частцы прыйшлося пераасэнсоўваць. за нуль.

Распрацоўка таксама вядзецца з аглядкай на стварэнне новага эталоннага Vulkan-драйвера для Mesa, код якога можна будзе запазычаць пры стварэнні іншых драйвераў. Для гэтага пры працы над драйверам NVK паспрабавалі ўлічыць увесь наяўны досвед распрацоўкі Vulkan-драйвераў, падтрымліваць кодавую базу ў аптымальнай форме і мінімізаваць перанос кода з іншых Vulkan-драйвераў, робячы як павінна быць для аптымальнай і якаснай працы, а не слепа капіюючы тое як зроблена у іншых драйверах.

Распрацоўка драйвера NVK вядзецца толькі некалькі месяцаў, таму яго функцыянальнасць абмежавана. Драйвер паспяхова праходзіць 98% праверак пры запуску 10% тэстаў з набору Vulkan CTS (Compatibility Test Suite). У агульным выглядзе гатоўнасць драйвера ацэньваецца як 20-25% ад функцыянальнасці драйвераў ANV і RADV. Па ўзроўні падтрымкі абсталявання драйвер пакуль абмежаваны картамі на базе мікраархітэктур Turing і Ampere. Вядзецца праца над патчамі для падтрымкі GPU Kepler, Maxwell і Pascal, але яны яшчэ не гатовыя.

У доўгатэрміновай перспектыве чакаецца, што для відэакарт NVIDIA драйвер NVK дасягне ўзроўню якасці і функцыянальнасці, падобнага драйверу RADV для карт AMD. Пасля гатоўнасці драйвера NVK, створаныя пры яго распрацоўцы агульныя біблітэкі можна будзе выкарыстоўваць для паляпшэння OpenGL-драйвера Nouveau для відэакарт NVIDIA. Таксама разглядаецца магчымасць задзейнічання праекту Zink для рэалізацыі паўнавартаснага OpenGL-драйвера для відэакарт NVIDIA, які працуе праз трансляцыю выклікаў у API Vulkan.

Крыніца: opennet.ru

Дадаць каментар