A modder has enabled official NVIDIA DLSS technology on Radeon RX 7000 graphics cards (Navi 32 architecture) using ZLUDA
Modder brings official NVIDIA DLSS to Radeon RX 7000 (Navi 32) through ZLUDA
An experimental project called d4r (DLSS 4 Radeon), created by a developer known as countervolts, enables the official NVIDIA DLSS Super Resolution library to run on AMD RDNA 3 graphics cards under Linux and Proton. The work targets the standard DLSS upscaler rather than NVIDIA's DLSS 5 Neural Rendering, which has been the subject of separate porting experiments to Radeon hardware.
The mod relies on the original NVIDIA nvngx_dlss.dll library and covers DLSS 3 CNN, DLSS 4 Transformer, and DLSS 4.5 Transformer. DLSS 5 remains unsupported.
ZLUDA serves as the core mechanism, acting as a compatibility layer that translates CUDA/PTX code so it can execute on AMD hardware through ROCm/HIP. The DLSS library itself is left untouched — NVIDIA CUDA calls are instead routed via a Wine bridge into ZLUDA. For DLSS 4 and 4.5, countervolts added custom optimized kernels for RDNA 3. Those kernels were required not just for speed: running ZLUDA on its own caused the DLSS 4 transformer to produce an incorrect result, prompting DLSS to discard the output image.
In Silent Hill: Townfall running on a Radeon RX 7700 XT at 2560×1440, the following numbers were recorded:
- DLSS 3 CNN Preset E — 72.4 FPS in Quality;
- DLSS 4 K — 69.4 FPS in Quality;
- DLSS 4.5 M — 51.5 FPS in Quality;
- in Ultra Performance, DLSS 4 reaches 94.5 FPS, versus 88.9 FPS for DLSS 3;
- FSR 4, meanwhile, remains faster in all tested modes.
Per the developer, DLSS 4 costs roughly 2.8 ms almost independently of the mode, since its network depends on the output resolution. DLSS 4.5 currently consumes about 7.5 ms of GPU time per frame.
Optimization efforts center on gfx1101 (Navi 32), the configuration found in the Radeon RX 7700 XT, RX 7800 XT, RX 7700, and Radeon PRO W7700. Testing by the developer has been limited to the RX 7700 XT. Other RDNA 3 GPUs receive partial support with caveats: Navi 31 and Navi 33 can run DLSS 3 at full speed, but DLSS 4 there operates without the transformer, and DLSS 4.5 is roughly twice as slow because specialized native kernels are missing.
These constraints make d4r, at least for now, better described as a DLSS mod for Navi 32 rather than a complete DLSS port for the entire Radeon RX 7000 lineup. The project is still experimental, limited to Linux and Proton, and does not yet launch on Windows. The pipeline itself is unusual: a game sends data through OptiScaler into d4r, the original NGX/DLSS from NVIDIA is used, CUDA calls pass through Wine and ZLUDA, and the heaviest portions of DLSS 4/4.5 execute on native RDNA 3 kernels.
Should development continue, the approach could offer another route to running the original NVIDIA DLSS on Radeon without direct backing from NVIDIA or AMD.