LINUX.ORG.RU

Представлен open-source драйвер Vulkan для видеокарт NVIDIA

 , , , ,


3

2

Компания Сollabora представила open-source драйвер Vulkan для видеокарт NVIDIA под кодовым названием «NVK».

Что такое NVK?

NVK — новый видеодрайвер Vulkan API с открытым исходным кодом для видеокарт NVIDIA в Mesa. Драйвер был полностью написан с нуля с использованием официальных заголовков «NVIDIA Open GPU Kernel Driver» от самой компании NVIDIA.

Linux-разработчик 3D-графики Вера Экстранд:

Одна из моих личных целей для NVK — сделать его новым эталонным драйвером Vulkan в Mesa. Все драйверы Vulkan в Mesa восходят к драйверу Intel Vulkan (ANV) и были запущены путем копирования и вставки из него. Я же, наоборот, всякий раз, когда у меня возникает соблазн скопипастить из ANV или какого-либо другого драйвера, понимаю, что нам нужен более общий код фреймворка.

Вера и её команда надеются, что долгосрочной перспективе NVK станет для оборудования NVIDIA тем же, чем RADV является для оборудования AMD.

Что будет с драйверами OpenGL?

Есть некоторые серьезные проблемы с текущими драйверами Gallium, и как и в случае с остальной частью стека nouveau. Обсуждаемый вариант — использование Zink для OpenGL в будущем. Он уже способен запускать большинство композиторов Wayland, XWayland, X.org с серверной частью настройки режима и большинство приложений, которые кому-либо интересны.

Каков текущий статус NVK?

Разработчики прошли около 98% Vulkan CTS (Compatibility Test Suite) с очень базовым набором функций. Полнофункциональный драйвер Vulkan 1.3, такой как ANV или RADV, выполняет около 50% CTS, остальные 50% отпадают из-за отсутствия поддержки форматов образов и функций. Готовность драйвера оценивается как 20-25% от функциональности драйверов ANV и RADV.

Поддержка оборудования

В настоящее время драйвер поддерживает видеокарты на базе архитектур Turing и Ampere. Что касается Kepler, Maxwell и Pascal — для них есть патчи, но они еще не полные.

GSP

Поскольку Nouveau ориентируется на GSP, который выполняет большую часть тяжелой работы, разработчики также могут наконец увидеть «свет в конце туннеля» для поддержки перетактирования и приведения драйвера с открытым исходным кодом в лучшую форму для Turing и более новых графических процессоров NVIDIA.

Участвующим разработчикам удалось заставить драйвер NVK Vulkan работать поверх своего экспериментального кода драйвера ядра Nouveau DRM, который адаптируется для использования прошивки GSP с оборудованием серии RTX 20 и новее.

Запуск игр

11 января 2023 Инженер Red Hat и давний разработчик драйвера Nouveau Кароль Хербст (Karol Herbst) написал в своем аккаунте в Chaos.social о том, как NVK запускает игры, и продемонстрировал скриншот игры The Talos Principle, работающей с новым драйвером.

Могу я попробовать это?

Испытание NVK ничем не отличается от любого другого драйвера Mesa. Просто возьмите ветку nvk/main из проекта nouveau/mesa.

Источники:

https://www.collabora.com/news-and-blog/news-and-events/introducing-nvk.html
https://www.phoronix.com/news/NVK-Running-Talos-Game
https://www.phoronix.com/news/NVK-Running-Talos-13-FPS

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 16)

Разработчики прошли около 98% Vulkan CTS (Compatibility Test Suite) с очень базовым набором функций.

Ого, какие молодцы, вот как надо драйверы писать!

Полнофункциональный драйвер Vulkan 1.3, такой как ANV или RADV, выполняет около 50% CTS, остальные 50% отпадают из-за отсутствия поддержки форматов образов и функций.

Похоже, что авторы ANV или RADV - ленивые недалекие макакакодеры!

Готовность драйвера оценивается как 20-25% от функциональности драйверов ANV и RADV.

Да как так то?

Я ничего не понял.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Ого, какие молодцы, вот как надо драйверы писать!

Дрочат тесты вместо того чтобы писать качественный драйвер.

Похоже, что авторы ANV или RADV - ленивые недалекие макакакодеры!

Но зато их драйвера работают.

Skullnet ★★★★★
()
Ответ на: комментарий от Xintrea

Внимательно текст читай:

98% Vulkan CTS (Compatibility Test Suite) с очень базовым набором функций.

Открытые API Kronos Group теперь делают делают следующим образом – вносят в обязательные только самые нужные функции (базовые функции), все остальное optional.
Так сделан Vulkan, так сделан OpenCL 3.0, потому как эта стратегия себя оправдывает, иначе вендоры забивают болт на открытые стандарты.
Чего только стоит OpenGL 4.x, в видокартах нафиг не уперлась fp64, но вычисления над double внесены в обязательный стандарт, и если в железе нет ALU выполняющей операции над fp64 то либо это нужно реализовывать программно (и часто для галочки), либо забить на плашку совместимости с OpenGL 4, которая говорит только о том что драйвер прошел формальный Compatibility Test Suite.
Кстати, я так понял, что в современных картах AMD это реализовано микрокодом, ALU нету, но на уровне микрокода операции над fp64 могут быть исполнены на существующих 32-x разращённых вычислителях, потому и скорости смешные - 1/16, зато ненужные вещи можно не писать в драйвере.

Вот и тут получается что новый открытый драйвер почти может получить статус реализации Vulkan 1.0. Но современный DXVK на таком не запустится, ему базовых функций мало.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.