Представлений 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

Додати коментар або відгук