NVK, відкритий драйвер Vulkan для NVIDIA

НВК-Логотип_RGB

NVK — це новий драйвер Vulkan з відкритим кодом для графічного обладнання NVIDIA

Collabora запустила НВК, новий драйвер із відкритим кодом для Mesa, який реалізує графічний API Vulkan для відеокарт NVIDIA. Драйвер написаний з нуля з використанням офіційних файлів заголовків і відкритих модулів ядра, випущених NVIDIA.

Розробляючи новий драйвер, У деяких місцях використовуються основні компоненти драйвера Nouveau OpenGL, але через відмінності в іменах файлів заголовків NVIDIA та іменах зворотного проектування в Nouveau повторне використання коду є складним і здебільшого вимагає значного переосмислення та реалізації з нуля.

Розвиток також триває робота з метою створення нового драйвера Vulkan довідка для Mesa, код якої можна запозичити при створенні інших контролерів.

Підтримки апаратного забезпечення NVIDIA в драйверах з відкритим кодом завжди було трохи бракувало. Драйвери Nouveau існують, але вони часто не містять функцій, мають помилки або просто несумісні з певними картами. Це пов’язано з сукупністю факторів. На відміну від драйверів Intel і AMD, стек драйверів nouveau був розроблений практично без офіційної документації чи допомоги від NVIDIA. Час від часу тут надають невеличкий реквізит. Історично склалося так, що він зосереджувався насамперед на тому, щоб увімкнути нуво настільки, щоб ви могли інсталювати свій дистрибутив Linux, отримати доступ до веб-браузера та завантажити його власний стек драйверів.

Для цього зазначається, що під час роботи водія НВК с. зроблена спроба врахувати весь наявний досвід розробки драйверів Vulkan, підтримувати базу коду в оптимальній формі та мінімізувати передачу коду з інших драйверів Vulkan, роблячи те, що потрібно робити для високоякісної та оптимальної роботи.

Драйвер NVK розроблявся лише кілька місяців, тому його функціональність обмежена. Контролер успішно проходить 98% тестів під час виконання 10% тестів Vulkan CTS (Compatibility Test Suite).

В цілому навчання водіїв оцінюється в 20-25% функціональності контролерів ANV і RADV. Що стосується апаратної підтримки, драйвер наразі обмежений картами на основі мікроархітектур Тюрінг і Ампер. Патчі для підтримки графічних процесорів Kepler, Maxwell і Pascal знаходяться в розробці, але ще не готові.

Ймовірно, найбільшою сферою технічної боротьби було правильне керування апаратним забезпеченням із простору ядра. Апаратне забезпечення NVIDIA покладається на підписану мікропрограму для всього, від відображення до виконання завдань і керування живленням. Прошивки, які NVIDIA надавала в минулому, були скороченими версіями, створеними лише для драйверів з відкритим кодом.

У довгостроковій перспективі Очікується, що драйвер NVK для відеокарт NVIDIA досягне такого ж рівня якості та функціональності, як і драйвер RADV для карт AMD. Після того, як драйвер NVK буде готовий, спільні бібліотеки, створені під час його розробки, можна використовувати для вдосконалення драйвера Nouveau OpenGL для відеокарт NVIDIA.

Це теж розглядається можливість використовувати проект Zink для реалізації драйвера OpenGL для відеокарт NVIDIA, що працює через переклад викликів Vulkan API.

У довгостроковій перспективі є надія, що NVK буде для обладнання NVIDIA таким же, як RADV для обладнання AMD.

Наостанок для тих, хто зацікавлений у проекті, згадується, що розробляється команда, яка включає Кароль Гербст (розробник Nouveau в Red Hat), Девід Ерлі (супроводжувач DRM у Red Hat) і Джейсон Екстранд (активний розробник Mesa в Collabora).

Що стосується коду контролера, ви повинні це знати Це відкритий код за ліцензією MIT. Драйвер підтримує лише графічні процесори на основі мікроархітектур Turing і Ampere, випущені з вересня 2018 року. Якщо ви хочете дізнатися більше про це, ви можете переглянути деталі У наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.