Lossless Scaling с генерацией кадров теперь доступен на Linux и Steam Deck
Популярный инструмент для апскейлинга Lossless Scaling, ранее доступный только на Windows, был портирован на Linux с выходом проекта lsfg-vk с открытым исходным кодом. Разработанный PancakeTAS, lsfg-vk использует Vulkan и слой перевода DXVK, чтобы перенести функцию генерации кадров из платного Windows-приложения на Linux-десктопы и портативные устройства, такие как Steam Deck.
До этого момента геймеры на Linux могли использовать генерацию кадров FidelityFX Super Resolution только в играх с нативной поддержкой этой технологии. Lsfg-vk обещает добавить искусственные промежуточные кадры практически в любую игру. Вместо интеграции на уровне игры, lsfg-vk перехватывает вызовы DirectX 11 и воссоздаёт конвейер Lossless Scaling поверх Vulkan.
Разработчик не стал напрямую портировать DX11 на Vulkan, а использовал DXVK для представления интерфейса DX11 в Linux, перехватывая загрузку шейдеров. Это позволило провести побитовое сравнение между оригинальными шейдерами DXBC и их аналогами в SPIR-V. После проверки точности шейдеров, комбинация статического анализа в IDA, утилит на C++ для логирования команд DX11 и тщательного сравнения файлов в WinMerge помогла воссоздать весь конвейер рендеринга в Linux. Трассировка вызовов Vulkan в RenderDoc помогла реализовать нативный Vulkan-конвейер с необходимыми примитивами синхронизации.
Установка пока остаётся сложной. Пользователям необходимо иметь Steam-версию Lossless Scaling и установить совместимую устаревшую сборку вместе с драйверами Vulkan, DXVK и несколькими вспомогательными утилитами. После клонирования репозитория lsfg-vk и выполнения инструкций на GitHub, генерацию кадров можно включить, добавив
ENABLE_LSFG=1 %command%
в параметры запуска игры. Первые тесты показывают успешную работу в ряде Steam-игр, хотя результаты могут различаться, и иногда требуются ручные настройки.
Источник: lsfg-vk на GitHub
0 комментариев