Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Двойное пробитие - это когда ты дважды ломаешь стену, которую все считали бетонной. RTX Remix считался несовместимым с DLSS 5 : мост падал с «the mirror does nothing», ReShade ронял рантайм, а утёкший DLL молча выгружался через полсекунды. Рассказываю - как пришлось пострадать. Фикс прикладываю в статью.

https://youtu.be/VJXbCcYl8x0

Кто пропустил начало серии - там вся история: тестирую слитый из раннего доступа DLSS 5 (nvngx_dlssnr.dll 310.8.0) на RTX 5070 Ti в старых играх. Remix-ремастеры были последним рубежом: HL2 RTX я закрыл ещё в августе, когда ReShade-слой крашил NvRemixBridge при старте уровня. Painkiller RTX тогда даже не начинал.

https://youtu.be/k5kiqPPAsGk

Слои луковицы

Проблема оказалась не одна, а стопка. Снимал по очереди.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Первый слой - Ray Reconstruction. В Half-Life 2 RTX включённый RR глушил создание SR-фичи: Remix создавал только денойзеры (feature 13 и 11), а апскейлер - нет. Без SR-фичи аддону не за что зацепиться. Выключил `rtx.enableRayReconstruction` - стало лучше, но не заработало.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Второй слой - экспозиция. Зеркало моста дохло на exposure-текстуре, которую сборка не миррорила. Лечится одной строкой в конфиге: `flags=67` (флаги игры 3 | AutoExposure 0x40). Мост начал сам считать экспозицию.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Третий слой - формат глубины. Вот это была главная работа. RTX Remix отдаёт NGX глубину не как depth-текстуру, а как color-изображение в R32_SFLOAT (VkFormat 100). Стоковый мост dlss5-bridge принимал только настоящие depth-форматы - D32_SFLOAT, D24_UNORM_S8_UINT, D32_SFLOAT_S8_UINT - и отказывался с «the mirror does nothing». Проект автора заброшен, последний релиз v1.3.0, чинить некому. Пришлось самому: 15 строк в `vkmirror.inc` - принять формат 100, копировать его с COLOR-aspect вместо DEPTH (барьер DEPTH на color-изображении невалиден) и собрать аддон своим MSVC. Одна команда `cl`, без Vulkan SDK.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Четвёртый слой - тупик. Синтетический путь (`vk_mirror=0`) под Remix не армится вообще - не тратьте время.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Пятый слой - Painkiller RTX. Remix 0.15 дерётся иначе, чем 0.13 в HL2. RenoDX v4.7 виснет с `workset pool exhausted` после первого кадра - его GPU-fence рециклинг не сливается под Remix 0.15, нужен v4.5. Frame Generation ломает оверлей ReShade и NR - держать выключенным. Opacity Micromap жрёт ~5 ГБ VRAM - выключил.

Результат

В Half-Life 2 RTX: полный нейро-рендеринг, `feature 18 evaluation succeeded (count=60+)`. В Painkiller RTX: NR тянется, `count=60`, `workset pool exhausted: 0`. Обе игры запускаются только через лаунчеры с изолированным env-гейтед Vulkan-слоем - обычный `.exe` не ставит переменные окружения, и ReShade просто не загружается.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Фикс - в открытом доступе

Всё, что нужно для повторения, лежит в репозитории:

https://github.com/perseval-BLR/dlss5-remix-r32f-patch

diff-патч, собранный аддон, полный пересобираемый исходник и лаунчеры для обеих игр. Инструкции на английском и русском, с чётким разделением: HL2 RTX - Ray Reconstruction off, RenoDX v4.7; Painkiller RTX - RenoDX v4.5, Frame Generation off, Opacity Micromap off.

Двойное пробитие: пропатчил DLSS 5 в RTX Remix - Half-Life 2 RTX, Painkiller RTX наконец-то работают

Тот же фикс я отправил в апстрим:

https://github.com/NIGos/dlss5-bridge/pull/21. Если примут, Remix-игры перестанут быть проблемой для всех, а не только для меня. Нейрослоп продолжает пробивать стены. Две из них - сегодня мои)

28
12
6
3
2
1
1