d4r для Windows / RDNA4

Windows-форк countervolts/d4r для запуска DLSS Super Resolution на AMD Radeon RX 9070 XT / gfx1201 через D3D12, OptiScaler, ZLUDA и HIP. Целевые модели: DLSS 4 preset K и DLSS 4.5 preset M. Runtime работает непосредственно в Windows 11.

Статус: development / prerelease. K и M работают на тестовой RX 9070 XT, включая 4K в Silent Hill 2. Текущий приоритет — производительность K.

Скачать и запустить

Готовые сборки содержат Windows shim, исправленный ZLUDA, изолированный HIP runtime, patched OptiScaler, 11 native K kernels, 5 native M kernels и исходники соответствующего commit.

Понадобятся Windows 11 x64, RX 9070 XT и D3D12 игра без anti-cheat. Проверенный AMD driver: 32.0.31041.1004. Другие GPU и драйверы пока не прошли такую же проверку.

Предоставьте собственные локальные _nvngx.dll и nvngx_dlss.dll. Проверенная пара: NGX 32.0.16.1714, DLSS 310.9.1.0. Native manifest проверяет SHA256 DLSS DLL. NVIDIA binaries в сборку не включены.

Распакуйте ZIP и выполните команду из его каталога, подставив свои пути:

.\windows-game.ps1 -GameExe "D:\Games\SILENT HILL 2\SHProto\Binaries\Win64\SHProto-Win64-Shipping.exe" -NgxCore "C:\Users\Administrator\d4r\_nvngx.dll" -DlssDll "C:\Users\Administrator\d4r\nvngx_dlss.dll" -Preset 11 -AsyncInterop

В игре выберите upscaler, который перехватывает OptiScaler. -Preset 11 выбирает K, -Preset 13 — M. Начинайте проверку M без -AsyncInterop: асинхронный путь сейчас проверяется прежде всего на K. Первый запуск может занять время на PTX compilation; следующие используют cache.

Скрипт устанавливает dxgi.dll, конфигурацию OptiScaler и каталог d4r рядом с EXE, предварительно сохраняя заменяемые файлы. Вход и выход текущего кадра остаются в VRAM. Восстановление исходных файлов:

.\windows-game.ps1 -Action restore -GameExe "D:\Games\SILENT HILL 2\SHProto\Binaries\Win64\SHProto-Win64-Shipping.exe"

Подробные параметры установки и восстановления: docs/windows-game.md.

Что проверено

Проверка Результат на RX 9070 XT
Обнаружение GPU HIP автоматически определяет gfx1201; проверяется D3D12/HIP LUID
HIP и CUDA через ZLUDA Native HIP kernel и CUDA Driver API / PTX tests проходят
D3D12 ↔ HIP Shared VRAM buffers и fences; import/release lifetime test проходит
K transformer Все 11 native layers, NumPy/PTX/replay validation
M transformer Все 5 native layers, 40 temporal captures, exact baseline
Async K Очередь кадров и Release/CreateFeature точно совпадают с synchronous RGB
Silent Hill 2 / K / 4K 16 941 кадр с проверкой NaN/Inf, 203 292 native launches, 0 backend errors
Windows hardware tests Все 16 CTest gates проходят

Точные совпадения относятся к проверенным reference/control implementations этого проекта. Сравнение с DLSS на физической RTX ещё не выполнено. Проверка одной игры не подтверждает совместимость со всеми D3D12 играми.

Производительность и ограничения

В локальной 4K сцене пользователь наблюдает около 62 FPS / 63% GPU с async interop, против 49–51 FPS / 53% в предыдущем synchronous варианте. Замеры также используют локально построенные и проверенные K output-store kernels. Они содержат NVIDIA-derived code и в публичный ZIP не входят; команды их локальной сборки есть в docs/windows-performance.md.

Производительность K ещё дорабатывается. Замеры не являются контролируемым сравнением с FSR4. -AsyncInterop опционален и требует одной D3D12 command queue. Feature release и resource reconfiguration ожидают завершения GPU consumers; обычная отправка кадра не удерживает CUDA mutex.

M использует проверенную FP16-equivalent baseline. Native RDNA4 FP8 отдельно валидирован, но не показал выигрыша для полной сети и выключен по умолчанию. Windows preset L пока не валидирован. Frame Generation и DLSS 5 не входят в текущую задачу.

Package использует TheRock 10.2.0a20260929 / HIP 7.17.26386. Stable HIP 7.2 воспроизводит leak при освобождении mapped external memory; поэтому закреплён отдельный TheRock runtime. GPU architecture не подменяется.

Сборка из исходников

git clone https://github.com/xdfnx-dev/d4r.git
cd d4r

Подготовка закреплённых toolchains и patches описана в docs/windows-rdna4-port.md. Нужны CMake + Ninja, LLVM/MinGW, Rust GNU toolchain, TheRock HIP, а для OptiScaler — MSVC v143 и Windows SDK. Setup-скрипты используют .tools; source dependencies — external.

После подготовки зависимостей выполните из корня репозитория:

.\scripts\windows\build-zluda-windows.ps1
.\scripts\windows\build-windows-rdna4.ps1 -RuntimeProfile therock -ZludaRoot "$PWD\dist\zluda-windows-final" -InstallDirectory "$PWD\dist\windows-rdna4-command-list"
.\scripts\windows\stage-native-k.ps1 -DlssDll "$PWD\nvngx_dlss.dll" -PackageRoot "$PWD\dist\windows-rdna4-command-list"
.\scripts\windows\stage-native-m.ps1 -DlssDll "$PWD\nvngx_dlss.dll" -PackageRoot "$PWD\dist\windows-rdna4-command-list"
.\scripts\windows\build-optiscaler-windows.ps1
.\scripts\windows\package-windows-game.ps1 -ArchivePath "$PWD\dist\windows-rdna4-game.zip"

Создание distributable ZIP требует committed source. Package включает manifest с hashes, dependency licenses, source patches и snapshot этого commit.

Тесты и диагностика

После сборки hardware gates:

& .\.tools\python\cmake\data\bin\ctest.exe --test-dir build/windows-rdna4-therock --output-on-failure

Async K regression с локальными NVIDIA DLL в корне репозитория:

.\scripts\windows\test-async-k.ps1 -ZludaRoot "$PWD\dist\zluda-windows-final"

Успех: PASS, exact RGB, finite output и passed: true в validation.json. Для ограниченного game test добавьте -RunSeconds 120 -ValidateOutput к команде запуска. Скрипт сохраняет один ZIP с stdout/stderr, runtime/driver information, native/translated kernel records и OptiScaler logs. Для crash диагностики используйте -CaptureExceptions.

-ProfileStages измеряет host stages, -ProfileCudaApi — существующие CUDA API waits, -ProfileGpuBoundary вместе с -AsyncInterop — D3D12 GPU intervals вокруг interop. -ProfileKernels синхронизирует HIP events и меняет scheduling. При замере обычного FPS оставляйте profiling и output scans выключенными.

Документация и лицензии

Проект основан на работе countervolts; Linux upstream code и документация сохранены для совместимости. Форк не связан с NVIDIA или AMD. Лицензия d4r: LICENSE; лицензии зависимостей включены в package.

S
Description
NVIDIA's official DLSS 3/4/4.5 on AMD RDNA3/4 GPUs on Windows and Linux.
Readme GPL-3.0
5.4 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 48.5%
Python 30.6%
HIP 8.6%
C 7.2%
Shell 3.6%
Other 1.5%