NVK: открытый Vulkan-драйвер Nvidia получил экспериментальную поддержку DLSS

图片: Tom's Hardware
简要回答
Открытый Vulkan-драйвер NVK для GPU Nvidia получил экспериментальную поддержку DLSS через импорт CUDA-библиотек.
Открытый Vulkan-драйвер NVK для графических процессоров Nvidia получил экспериментальную поддержку технологии DLSS. Код уже доступен в ветке разработки Mesa 26.2-devel, но реализация имеет ряд ограничений. Вместо полноценной переработки алгоритма апскейлинга драйвер загружает готовые CUDA-библиотеки Nvidia, что позволяет использовать DLSS только на тех GPU, для которых доступен совместимый байт-код.
Технология работает через расширение Vulkan VK_NVX_binary_import, которое позволяет импортировать и запускать предварительно скомпилированные бинарные файлы CuBIN. Изначально предложение по интеграции этой функции было внесено в 2023 году, а окончательная доработка заняла ещё несколько месяцев. Сейчас поддержка DLSS активируется только через переменную окружения NVK_EXPERIMENTAL=dlss, так как в коде остаются нерешённые проблемы.
Главное ограничение NVK — отсутствие возможности компилировать PTX-код Nvidia в промежуточное представление NIR, которое используют драйверы Mesa. Проприетарный драйвер Nvidia обходит это ограничение, компилируя PTX в байт-код GPU на лету. В результате NVK может запускать DLSS только там, где уже существуют готовые бинарные файлы для конкретной модели видеокарты.
NVK был создан в 2022 году при участии разработчиков из Collabora, Red Hat и других компаний. В конце 2024 года он стал первым открытым Vulkan-драйвером для GPU Nvidia, прошедшим сертификацию Khronos на соответствие спецификации Vulkan 1.4. Драйвер работает поверх ядерного модуля Nouveau и не связан с открытыми модулями ядра, которые Nvidia поставляет вместе со своим проприетарным стеком ПО.
По словам одного из ведущих разработчиков проекта, Faith Ekstrand, NVK показывает около 50% производительности проприетарного драйвера Nvidia в большинстве игр. Поддержка трассировки лучей всё ещё находится в стадии разработки, а команда разработчиков отмечает нехватку ресурсов для ускоренного развития проекта.
常见问题
- Что такое NVK и для каких GPU он предназначен?
- NVK — это открытый Vulkan-драйвер для графических процессоров Nvidia, разработанный сообществом. Он поддерживает архитектуры Turing (RTX 20 и GTX 16 серии) и новее, включая Ampere и Ada Lovelace.
- Как работает DLSS в NVK?
- DLSS в NVK реализован через загрузку предварительно скомпилированных CUDA-библиотек Nvidia с использованием расширения Vulkan VK_NVX_binary_import. Это позволяет запускать технологию, но только на GPU, для которых доступен совместимый байт-код.
- Почему поддержка DLSS в NVK считается экспериментальной?
- Поддержка DLSS в NVK помечена как экспериментальная из-за известных багов и ограничений: драйвер не может компилировать PTX-код в реальном времени, как это делает проприетарный драйвер Nvidia, что сужает круг поддерживаемых устройств.
- Какие перспективы у NVK в сравнении с проприетарным драйвером Nvidia?
- Сейчас NVK работает примерно на 50% от скорости проприетарного драйвера Nvidia, а поддержка трассировки лучей всё ещё находится в разработке. Команда разработчиков отмечает нехватку ресурсов для ускоренного развития проекта.
Dzen 订阅: /feed/dzen.xml · RSS: /feed.xml