Энтузиасты портировали технологию генерации кадров Lossless Scaling на Linux

Для этого им пришлось переписать всю логику рендеринга на «чистом» Vulkan, вручную воссоздав работу шейдеров и не только.
9 июля 2025, среда 11:05
apprenticebase для раздела Блоги

Популярная у игроков на Windows технология генерации кадров с помощью утилиты Lossless Scaling теперь доступна и на Linux — правда, пока в виде экспериментального проекта. Данная сторонняя инициатива может серьёзно расширить возможности геймеров в отношении запуска тех или иных игр, использующих открытую ОС, поскольку она предлагает универсальную альтернативу проприетарным решениям от NVIDIA и AMD. При этом важно напомнить, что работает она на системном уровне, а не на уровне драйвера или конкретной игры.

Сам факт появления такого инструмента сложно недооценить, поскольку ситуация с технологиями генерации кадров на Linux до сегодняшнего дня дела обстояли не лучшим образом. Выбор у поклонников свободной ОС невелик, поскольку актуальная версия генерации кадров от NVIDIA (DLSS FG) жёстко привязана к новейшим картам GeForce RTX, а технология Intel (XeSS FG) на Linux и вовсе недоступна. Единственной относительно открытой опцией остаётся AMD FSR Frame Generation, которая поддерживается большинством современных видеокарт. Решение на базе Lossless Scaling в теории способно обойти все описанные ограничения и предложить единый стандарт для графических ускорителей разных производителей.

Впрочем, радоваться пока рано — по крайней мере, рядовым пользователям. Проект находится на ранней стадии, а его установка напоминает, скажем так, квест для энтузиастов, уверенно владеющих консолью. Как отмечают профильные ресурсы GamingOnLinux и SteamDeckHQ, для запуска потребуется не только прописать целый ряд ручных команд для установки компонентов, но также заблаговременно обзавестись Steam-версией Lossless Scaling. Вишенка на торте — зависимость от её не самой свежей сборки. После всех манипуляций функция активируется через параметры запуска игры командой ENABLE_LSFG=1 %command%.

История создания проекта заслуживает отдельного упоминания и прекрасно демонстрирует упорство сообщества. Разработчик столкнулся с фундаментальной проблемой: оригинальная утилита использует Direct3D 11, который в Linux не работает. Для «перевода» вызовов D3D11 на язык понятного для Linux API Vulkan был задействован транслятор DXVK. Однако здесь энтузиаста ждал ещё один сюрприз: существующие инструменты не смогли корректно захватить и перестроить конвейер шейдеров.

В итоге пришлось пойти на беспрецедентный шаг — полностью переписать всю логику рендеринга на «чистом» Vulkan, вручную воссоздав работу шейдеров и синхронизации. По сообщениям причастных, на этот титанический труд ушло 27 часов непрерывной работы. Остаётся надеяться, что дальнейшее развитие проекта сделает эту полезную технологию доступной для широкой аудитории.