NVK, драйвер Vulkan с открытым исходным кодом для NVIDIA

НВК-Лого_RGB

NVK — это новый драйвер Vulkan с открытым исходным кодом для графического оборудования NVIDIA.

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

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

Развитие также ведется с целью создания нового драйвера Vulkan ссылка на Mesa, код которой можно позаимствовать при создании других контроллеров.

Поддержка оборудования NVIDIA в драйверах с открытым исходным кодом всегда немного отсутствовала. Драйверы Nouveau существуют, но в них часто отсутствуют функции, есть ошибки или они просто несовместимы с некоторыми картами. Это связано с сочетанием факторов. В отличие от драйверов Intel и AMD, стек драйверов nouveau был разработан практически без официальной документации или помощи со стороны NVIDIA. Иногда они предоставляют здесь небольшой реквизит. Исторически сложилось так, что он был сосредоточен в первую очередь на том, чтобы позволить вам достаточно nouveau, чтобы вы могли установить свой дистрибутив 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.