Энтузиасты внедрили поддержку технологии NVIDIA DLSS 5 в игры на Linux через специальный слой Vulkan

На площадке GitHub состоялся релиз экспериментального проекта с открытым исходным кодом под названием DLSS5VKLayer, созданного для интеграции актуальной версии технологии масштабирования NVIDIA DLSS 5 в среду операционных систем семейства Linux. Разработка рассчитана как на нативные проекты с поддержкой графического API Vulkan, так и на игры под Windows, запускаемые через инструмент совместимости Steam Play на базе Proton.

Архитектура модификации наглядно иллюстрирует изощренные методы, к которым приходится прибегать сообществу ради запуска закрытых технологий на открытой платформе. Реализация представляет собой неявный слой Vulkan, перехватывающий визуализированные кадры и передающий их через межпроцессный обмен во вспомогательную программу формата Windows, которая работает в фоне через Wine или кастомные сборки Proton. Уже обработанные нейросетью кадры возвращаются обратно в цепочку вывода Vulkan. При наличии аппаратной поддержки обмен данными происходит прямо в видеопамяти через механизм dma-buf, что снижает задержки и исключает лишнее копирование в оперативную память.

Для устранения мерцаний, шлейфов и сопутствующих графических артефактов авторы задействовали аппаратный блок расчета векторов движения NVIDIA Optical Flow. На базе этого модуля синтезируются недостающие векторы непосредственно на графическом чипе при помощи вычислительных шейдеров. В проект также заложена поддержка технологии генерации кадров NVIDIA Smooth Motion и защитный механизм от сбоев: если нейросетевая служба зависает или не завершает инициализацию, видеоигра не закрывается с ошибкой, а продолжает отображать оригинальные кадры без масштабирования.

Отдельное внимание разработчики уделили интеграции расширенного динамического диапазона HDR. В исходном виде модель получала сжатую 8-битную картинку с тональной компрессией, из-за чего пиковые значения яркости терялись еще до анализа нейросетью. Обновленная логика слоя автоматически выявляет форматы вывода и направляет в алгоритм 16-битный буфер с плавающей запятой, предварительно раскодируя кривую PQ в линейные значения яркости для корректного отображения контраста.

Существенной преградой для рядовых геймеров остаются юридические ограничения и ручной процесс настройки. Поскольку файлы апскейлера защищены авторским правом, проект распространяется без проприетарных библиотек, поэтому пользователям необходимо самостоятельно извлекать библиотеки nvngx_dlssnr.dll, nvngx.dll и nvapi64.dll из программного пакета NVIDIA для Windows.

Сложности возникают и с совместимостью сред запуска, поскольку стандартные релизы Proton и Proton Experimental от компании Valve не поддерживаются из-за отсутствия встроенной библиотеки DXVK-NVAPI. Игрокам приходится вручную переключаться на пользовательские модификации вроде Proton-CachyOS и Proton-GE либо задействовать системный Wine. Для регулировки резкости, переключения пресетов и управления качеством векторов авторы добавили графическое меню на базе Qt 6, дополненное консольной утилитой управления.

Как отметили в профильном издании Phoronix, создатели проекта также открыто указали, что значительная часть программного кода была сгенерирована при помощи локальной нейросетевой модели Qwen 3.8 Flash Next. На текущем этапе разработка сохраняет статус исследовательского эксперимента и требует от игроков детальной ручной конфигурации параметров запуска в сервисе Steam.

Источник: www.playground.ru

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев