Repository navigation
Release notes (since 0.0.4.3)
New: the 310.9.16 small model, and a rebase onto upstream 0.0.6-linux-preview
The 310.9.16 nvngx_dlssnr.dll holds a second, smaller network (31 blocks and 76 layers instead of 71 and 152) and uses it by default. This build runs it on RDNA3 by adopting upstream's own small-model support, which works here without shader changes.
- The installer makes
dlssnr-small.binfrom the 310.9.16 DLL, installs both models and sets[Network] Modelindlssnr-amd.ini(smallby default,originalfor the 310.8.0 model; applied after a game restart).--new-modeland--old-modelchoose at install. - There is no int4 mixed for the small model; int4 stays on the 310.8.0 model.
- It matches NVIDIA's own output of the 310.9.16 DLL: 49.36 / 49.45 / 50.58 dB at 1080p / 1440p / 4K, against 49.15 / 49.40 / 50.59 dB on RDNA4. Our earlier standalone lighter-network build scored 45.67 dB at 1080p because it padded 1080 to 1088; upstream pads to 1152, as the DLL does.
- The small model's history blend weight (0x3A23) is now its own, not the 310.8.0 model's.
- One plain layer with a folded downsample or upsample now runs as a persistent kernel, which the small model needs. It is about 10% faster than our earlier lighter build.
Also from upstream (0.0.5 and 0.0.6-linux-preview):
- the RenoDX style option and the NR Control menu
- faster ReShade routes (one-pass build, motion vectors read in place at full resolution)
- history restart fixes
- an optional per-frame noise seed (
NoiseEveryFrame) - reshade routes renamed
reshade-feeder,reshade-feeder-vulkanandreshade-feeder-dx9
Performance (RX 7900 XTX, network time per frame, one pass)
PSNR is against NVIDIA's own output of the same model. There is no NVIDIA output at 720p, so that column is time only.
| 720p | 1080p | 1440p | 4K | |
|---|---|---|---|---|
| 310.8.0 model | 9.10 ms (110 fps) | 15.76 ms (63 fps) | 25.95 ms (39 fps) | 55.93 ms (18 fps) |
| PSNR | – | 45.47 dB | 47.71 dB | 49.02 dB |
| 310.8.0 + int4 mixed | 8.11 ms (123 fps) | 14.15 ms (71 fps) | 23.65 ms (42 fps) | 51.10 ms (20 fps) |
| PSNR | – | 41.92 dB | 43.36 dB | 43.62 dB |
| vs 310.8.0 model | −11 % | −10 % | −9 % | −9 % |
| Small model (new default) | 5.33 ms (188 fps) | 9.62 ms (104 fps) | 15.31 ms (65 fps) | 32.33 ms (31 fps) |
| PSNR | – | 49.36 dB | 49.45 dB | 50.58 dB |
| vs 310.8.0 model | −41 % | −39 % | −41 % | −42 % |
fps is 1000 divided by the network time. The game's own frame cost is on top. The small model is both the fastest and the closest to NVIDIA; int4 mixed trades 3.5–5.4 dB for 9–11 % less time.
Today's figures are about 6% higher than the ones quoted in earlier notes (1080p was 14.8 ms for the 310.8.0 model). I timed the 0.0.4.3 code against this build on the same model in the same session, and they match within noise (15.4–15.6 ms against 15.6 ms), so this is the machine's state today, not a regression. Compare rows from the same table, not across releases.
Fixes
- Upstream's stand-alone
nr_graph.cppdidn't compile:mainusedvit_first/vit_lastwithout declaring them. It is fixed here, and the layer-hash checks that use that tool work again. - The test scripts read the verification frames from
docs/ngx-verification/310.8.0after upstream moved them.
For developers
linux/test/check_rdna3_small.pychecks the small model, like the existing checks do for the others.check_rdna3.pyandcheck_rdna3_int4.pystill pass EXACT.bash fetch_deps.shnow also fetches Slang 2026.19 and the OptiScaler-NR source (both pinned by checksum), which the RenoDX shader build needs.
Upgrading
Re-run install.sh, with --dll pointing at the 310.9.16 nvngx_dlssnr.dll if you want the small model. Use --old-model to keep the 310.8.0 model; int4 mixed needs it. Your dlssnr-amd.ini settings are kept.