GitHub release — AMDNR v0.3.3.2
Title: AMDNR v0.3.3.2 — faster lmxxf on RX 9070 (XT), lmxxf on iGPU / two-GPU PCs, Edit accumulation interleave, RE Requiem skin classifier
Tag: v0.3.3.2
DLSS 5 Neural Rendering on AMD, built into OptiScaler.
Join the Discord (support, bug reports, test builds): https://discord.gg/AMDNR
Ko-fi: https://ko-fi.com/3zinr
The danielblnc runtime is Daniel Blanco's work. The AMD neural runtime in the
*Runtime.zipfiles
(dlssnr_amd_pass1..3.dll) is DLSS-NR on AMD by Daniel Blanco (danielblnc) -
https://github.com/danielblnc/DLSS-NR-on-AMD. Copyright (c) 2026 Daniel Blanco, all rights reserved.
AMDNR ships it unmodified, with his permission; it is not AMDNR's work. Please support his project.
Full credits for everyone else are at the end of this page.
Highlights
- lmxxf is faster on RX 9070 / RX 9070 XT (RDNA 4): network time 17.8 -> 15.3 ms at 1080p on an RX 9070 XT
(720p: 8.0 -> 6.9 ms), the same image bit for bit. New "c32w" one-wave kernels for the network's C32
layers, AMDNR's own work, ship inLmxxfNrRuntime.pak. - lmxxf on PCs where the game's GPU is not HIP device 0: a Ryzen desktop with its integrated graphics
on, a laptop with an AMD APU and a Radeon, or two AMD GPUs. It used to fail on its first frame
(hipErrorInvalidHandle (400)) and stay off for the whole session; it now selects the right GPU on every call
(not yet tested on a PC with two AMD GPUs). - lmxxf no longer keeps about 100 MB of VRAM (and as much RAM) on every NR resolution, DLSS mode or
resolution change. A smaller rest of about 10-25 MB per change remains (not yet tested in a game). - Model interleave: new default preset "Edit accumulation", against the one-frame ghost and the 30 Hz
grain, at no extra cost over Guided fill v2 (not yet tested in a game). - danielblnc: no more style jump at Residual strength 0.99, or when NR resolution leaves 100% (not yet
tested in a game). - Resident Evil Requiem, FSR Ray Regeneration: a new skin classifier that leaves streets, walls, coats and
umbrellas alone; RR bias mask strength 0 by default; a warning when REFramework is missing. - Ray Reconstruction is offered on RX 9000 (RDNA 4) only by default, so RX 7000 keeps the game's own
denoiser (not yet tested in a game on RX 7000).
Which files to replace
All three changed. Coming from 0.3.3.x, replace:
OptiScaler.dll(rename it as before, e.g.dxgi.dllorwinmm.dll)LmxxfNrRuntime.dllLmxxfNrRuntime.pak(the new pak carries the c32w kernels)
Your danielblnc files stay. Keep a backup of the old three. Your own OptiScaler.ini works; the new keys use
their defaults. LmxxfNrRuntime.dll 0.3.3.2 also works with the old pak, just without the speed-up
(c32w=off:nofile).
New install: extract AMDNR-v0.3.3.2.zip into the game folder, rename OptiScaler.dll to dxgi.dll (or
winmm.dll / version.dll / OptiScaler.asi with an ASI loader), then INSERT for the menu. For danielblnc,
also extract one runtime zip from the table below into the game folder.
Downloads
| File | What | Who |
|---|---|---|
AMDNR-v0.3.3.2.zip
| AMDNR: OptiScaler with AMD Neural Rendering and the complete lmxxf runtime (LmxxfNrRuntime.dll + LmxxfNrRuntime.pak)
| everyone |
v0.4.0-Runtime.zip
| danielblnc's runtime 0.4.0 (by Daniel Blanco, unmodified, with his permission) + weights. Newest public build | danielblnc users who want the newest runtime |
v0.3.3-Runtime.zip
| danielblnc's runtime 0.3.3 (by Daniel Blanco, unmodified, with his permission) + weights. Not yet tested in a game | danielblnc users who prefer 0.3.3 |
Runtime.zip
| danielblnc's runtime 0.3.1 (by Daniel Blanco, unmodified, with his permission) + weights | danielblnc users, tested |
Use all three pass DLLs from one zip.
What changed
lmxxf
- c32w kernels (RX 9070 / RX 9070 XT): 17.8 -> 15.3 ms network time at 1080p, 8.0 -> 6.9 ms at 720p, on an
RX 9070 XT, the same image bit for bit.LmxxfNrRuntime.dllchecks the kernels' SHA-256 before it loads them
and runs the old kernels if they do not match. lmxxf's status line andlmxxf_backend.logshowc32w=onwhen
they run (c32w=off:<reason>otherwise). RX 9060 XT keeps the old kernels for now: the environment variable
AMDNR_C32W=1turns them on there (untested);AMDNR_C32W=0turns them off everywhere. RX 7000 is not
affected. - PCs with more than one AMD GPU:
LmxxfNrRuntime.dllnow selects the network's GPU on every call and gives
the thread its old GPU back afterwards (reported on an RX 7900 XTX). On our single-GPU PC the output is
identical to 0.3.3.1's, also when frames are sent from a second thread. Not yet tested on a PC with two AMD
GPUs. - VRAM leak: an AMD HIP driver never gives back a D3D12 buffer that was imported and mapped, so lmxxf now
makes these buffers once per network size and reuses them (lmxxf_backend.log:hip buffers ... imports N, reuses M). Leak probe, 40 changes: about +0.4 GB instead of +1.8 GB; not yet tested in a game. - lmxxf no longer stays off for a whole session when the game never submits the list of the first neural frame
(it re-arms after 8 frames and matches by COM identity after 16). Found by reading the code; not seen in a
game. - lmxxf stops at once when the GPU is removed (driver reset or crash), as danielblnc already did.
- The Neural tab says "lmxxf stopped after an error: ...";
amd_bridge.loglists every HIP device and marks the
game's GPU; lmxxf's status line names the HIP device it uses. LmxxfNrRuntime.dllis 0.3.3.2 r2 (Properties > Details); the runtime combo reads "lmxxf (0.3.3.2)".
danielblnc
- Residual strength and the style jump: at 100% NR resolution, 0.99 now gives 99% of 1.00 and the NR styles
look the way their strength says (no hidden Residual limit over the whole look). Below and above 100% (also
Dynamic NR steps and the Balanced / Performance presets), Residual strength and limit act only on the model's
own edit, before the look, temporal stability and sharpening, so changing NR resolution no longer clips the
look. Default at 100% is unchanged, bit for bit.[DlssNr] AmdEditShaper=falseswitches this off away from
100%. Not yet tested in a game. - Less VRAM for new NR sizes: away from 100% NR resolution, working sizes above about 1 MP are rounded to
64-pixel steps, so dynamic resolution, DLSS modes and Dynamic NR reuse a few sizes instead of keeping
75-350 MB of VRAM per pass for each new one ([DlssNr] AmdNrSizeStep, 0 = exact sizes as before). 100% is
unchanged. - Clearer message when your danielblnc files are not a build this AMDNR drives: the Neural tab and
amd_presr.logname the file and its version, say whether it is newer, older, a re-published copy or missing,
and what to do. - Warning when danielblnc's standalone DLSS-NR on AMD is installed next to AMDNR (his
version.dll,
winhttp.dllordxgi.dll, ordlssnr_on_amd_setup.exe). AMDNR already runs his runtime; remove the
standalone copy. - Cost hints in the menu: danielblnc on RX 7000, and danielblnc with an NR input of 1440p or more.
Both runtimes
- Model interleave: "Edit accumulation" is the new default (
[DlssNr] AmdInterleavePreset=10; lmxxf runs it
as 11). No picture is carried over any more: every frame is this frame's raw picture plus the model's carried
correction, checked raw against raw on every frame. This removes the held picture's one-frame ghost and its
30 Hz grain and costs no more than Guided fill v2. On danielblnc the model frames show the fitted correction
too; for the model's exact picture pick "Guided fill v2" (Neural > Performance > Interleave preset, or
AmdInterleavePreset=6); on lmxxf "Classic carry" is the old fill. Also fixed for every preset: the
"Model-frame ghost" meter and the Self-tuning totals now show values, a refused model call is no longer
counted as a model frame, and a wrong barrier state in interleave's motion accumulation is fixed. Not yet
tested in a game. - Dynamic NR resolution no longer bounces between two steps: it steps down after 1.5 s over the target, back
up only after 5 s of headroom, and waits a minute after a step up that could not hold. Its frame timer is
precise now, so at high targets you may see a higher NR resolution and a lower frame rate than before. Not yet
tested in a game. - Still-surface steadiness (Neural > Quality,
[DlssNr] AmdStabilityStaticRelax): steadies shadows and flat
areas that pulse while nothing moves. Off by default; try 0.5 if shadows flicker on still walls.
Resident Evil Requiem / FSR Ray Regeneration
- Robust skin classifier (new default): the old SSS guide marked 25-39% of a night street as skin (walls,
coats, umbrellas). The Robust classifier also checks how much the game's SSS pass moved the pixel, whether the
surface around it agrees, and whether the albedo is skin-toned: 0.5-2.3% of the frame in the same scenes, with
faces and hands still covered. Neural > Quality > Ray Regeneration > Skin classifier; "Guide only (0.3.3)" is
the old mask. - Skin smoothing is on by default in Resident Evil Requiem (strength 1.0, radius 16, guide thresholds
0.0265 / 0.0414) against face flicker. A value you set yourself wins. Other games keep it off. - RR bias mask strength 0 by default there (a tester saw less blotching and grain at 0). A value you set in
[FSR-RR] FfxDenoiserBiasMaskStrengthwins. - Texture route for the path-traced profile (
[FSR-RR] FfxDenoiserProfileTextureRoute, default 1.0): with
the profile on, textured and very dark surfaces go back to the normal routing, against the etched look the
profile gave textures in 0.3.3. The profile itself stays opt-in. - REFramework warning: when re9.exe, re9demo.exe or pragmata.exe runs without REFramework's
dinput8.dll,
OptiScaler.loggets a warning, a notice shows for 20 s and the menu shows an orange line with the download
link. - Ray Reconstruction on RX 7000 (RDNA 3) and older is no longer offered by default. AMD ships Ray
Regeneration for RDNA 4 only; the driver refused it on an RX 7800 XT, and the game, having switched its own
denoiser off, showed an undenoised picture.[FSR-RR] FfxDenoiserAllowPreRdna4=trueoffers it anyway; if the
driver refuses it, AMDNR falls back to FSR 4 INT8 / FSR 3.1, warns once and stops retrying for the session.
Not yet tested in a game on RX 7000. - A Ray Reconstruction fallback is no longer saved as your upscaler. If your
OptiScaler.inisays
Dx12Upscaler=fsr21and you did not choose FSR 2.1.2 yourself, set it toautounder[Upscalers]. - Save Settings now keeps a value you set even when it equals the default (skin smoothing turned off stays off).
Stability
- A neural command list the game throws away (reset or released without running it) no longer leaves
danielblnc waiting for the rest of the session; NR comes back after about 4 s, and lmxxf drops the job as a
lost frame ([DlssNr] AmdNeuralListRecovery=falseturns this off). - Upscaler barriers: XeSS, FSR 2.2 and FSR 2.1.2 no longer change the resource state of AMDNR's NR output
(in Unreal Engine titles a wrong transition in and out), as the FSR 4 / FSR 3.1 path already did
([DlssNr] AmdNrColourGuard=falserestores the old behaviour). Smaller resource-state fixes in FSR 4's
auto-exposure workaround, FSR Ray Regeneration and the Vulkan bridge in Unreal Engine titles. - Quitting the game while NR runs: NR stops the moment the game starts to exit, and AMDNR waits at most about
2 s for its runtime (lmxxf could wait up to 30 s before). A clean quit during lmxxf's warm-up over the Vulkan
bridge no longer turns lmxxf off at the next start. - Frames from another D3D12 device (a second GPU, or a game that re-creates its device) go to the upscaler
untouched ([DlssNr] AmdDeviceGate=falseturns the check off). - Two neural streams in one frame (split screen, a scope view, a second upscaler context): NR runs on the
largest one and the others pass through untouched ([DlssNr] AmdOneStreamPerFrame=falseturns this off). - NR after Ray Regeneration no longer runs again on a frame the upscaler skipped
([DlssNr] AmdSkipUnwrittenFrames=falserestores the old behaviour). - Linux / Proton (DXVK): Vulkan instances and devices OptiScaler creates for itself are no longer taken for
the game's ([Hooks] SkipOwnVulkanObjects=falserestores the upstream behaviour). - FPS limit with frame generation above 2X: OptiScaler's own limiter assumed 2X, so XeFG 4X with a 120 FPS
limit ran at 240. The limit is now the displayed frame rate at every multiplier. - Neverness to Everness: the game's crash reporter no longer loads OptiScaler and wipes the game's log.
OptiScaler.logis no longer emptied while another process still writes to it.
Menu, messages and logs
- Menu Scale scales the whole window, its sliders and combos, not only the text; long notes wrap; the
FrameTime graph ends with "fps" again; a window you dragged is pulled back on screen when it grows. - Update check points at AMDNR's own GitHub releases and compares against the AMDNR version
([Hotfix] CheckForUpdate=falseturns it off). - DLSS Enabler options say where the DLL comes from. AMDNR does not ship
dlss-enabler-headless.dll; the
Frame Gen options that need it show how to get it (DLSS Enabler 4.9.0 or newer by Artur Graniszewski, its
version.dllrenamed), with a link. - The Streamline (slInit) message goes away once NR receives frames; the HOME notice says when the neural runtime
is stopped; Ray Regeneration's log no longer says "GPU is RDNA 4" on RX 7000. - Logs for bug reports: NR on/off is logged,
amd_bridge.logandamd_presr.logstart with a session header,
and on PCs with two GPUs the GPU line names the adapter NR runs on. OptiScaler.dllreports AMD-NR v0.3.3.2.
Everything else: CHANGELOG.md in the zip.
Resident Evil Requiem needs REFramework
A known requirement, not an AMDNR bug. OptiScaler relies on REFramework to get past Capcom's anti-tamper
(OptiScaler wiki). Without it, Resident
Evil Requiem (and its demo) crashes 15-60 s after launch ("An unhandled exception occurred"). Put dinput8.dll
from REFramework.zip in the latest nightly (https://github.com/praydog/REFramework-nightly/releases) next to
dxgi.dll, and change REFramework's menu key (e.g. to Delete): it is also Insert. After a game update, expect
crashes until REFramework is updated. PRAGMATA, Monster Hunter Wilds and Onimusha probably need it too (not
confirmed). Since this release AMDNR warns when it is missing.
Known limits
- The c32w speed-up runs on RX 9070 / RX 9070 XT only. RX 9060 XT keeps the old kernels unless you set
AMDNR_C32W=1(untested); RX 7000 is not affected. The times above are the network's time on an RX 9070 XT,
measured outside a game, not a game's frame rate. - lmxxf: a smaller rest of about 10-25 MB of VRAM per NR size change remains (its cause is not known yet); after
very many changes a restart still helps. - Ray Reconstruction on RX 7000 with
FfxDenoiserAllowPreRdna4=true: if the driver refuses it, the ray-traced
lighting is not denoised. - The RR bias mask default is not yet confirmed from a log to matter: if Resident Evil Requiem does not publish
the mask, it changes nothing. The texture route is not yet confirmed in the game. - Dynamic NR at high targets may pick a higher NR resolution and a lower frame rate than before.
- danielblnc is slow on RX 7000 (about 27 ms per frame even at 320x180 with 0.4.0 on an RX 7900 XTX) and with an
NR input of 1440p or more (about 45 ms per frame with 0.3.1 on an RX 9070 XT): lower the game's render
resolution, or set NR resolution to 67-85%.
Not yet tested in a game (built and checked on the desk only): Edit accumulation, the danielblnc style-jump
fix, Dynamic NR's new stepping, the lmxxf VRAM fix (verified with the leak probe), lmxxf on a PC with two AMD
GPUs, lmxxf's re-arm when the first neural list never arrives (found by reading the code), recovery from a
dropped neural list, the upscaler barrier fix, the device gate on PCs with two GPUs, one stream per frame, the
Proton / DXVK Vulkan change (not yet tested on Proton), the bounded exit, the still-surface slider, and the Ray
Reconstruction change on RX 7000 (also with FfxDenoiserAllowPreRdna4=true). Where a fix has an ini switch to
turn it off, it is named above. Reports with logs help: https://discord.gg/AMDNR (#bug-report).
Copyright
AMDNR is Copyright (c) 2026 3zwr1 (AMDNR), a GPL-3.0 fork of OptiScaler. Any copy, fork or derivative that uses
AMDNR's work must keep its notices and credit AMDNR by 3zwr1 (GPL-3.0 section 7(b); see
Licenses/AMDNR_NOTICE.txt in the zip). The upstream work below stays with its authors, under their own
licences. The source code will be published here with AMDNR 0.5.0.
The AMDNR menu - its layout, design, texts and the code AMDNR added for it - is Copyright (c) 2026 3zwr1 (AMDNR). It is part of this GPL-3.0 fork, with these additional terms (GPL-3.0 section 7): (b) anyone who reuses any part of it must keep this copyright line and credit AMDNR by 3zwr1 visibly, in the menu and the README; (c) you may not present it, or a modified copy, as your own work; modified versions must be clearly marked as changed; (e) no rights are granted to the AMDNR name or logo; other projects may not use them.
Credits
- Daniel Blanco (danielblnc) — DLSS-NR on AMD — https://github.com/danielblnc/DLSS-NR-on-AMD (the runtime in
the*Runtime.zipfiles, unmodified, used with his permission) - lmxxf (Kien) — https://github.com/lmxxf/dlss5-on-amd-9070xt-porting (the HIP runtime, its network and
kernels, MIT) - c32w kernels — 3zwr1 (AMDNR): AMDNR's own one-wave C32 kernels for lmxxf's network on RDNA 4 (Copyright (c)
2026 3zwr1 (AMDNR)); they run lmxxf's network (MIT). Acknowledgement: AMD's public RDNA 4 WMMA documentation
(AMD GPUOpen, the ROCm matrix instruction calculator), used for ideas only. - lmxxf on RDNA 3 — 3zwr1 (AMDNR): the RDNA 3 backend for lmxxf's network (RX 7000, Strix Halo)
- TheAutomatic — DLSS 5 AMD project — https://github.com/TheAutomatic/dlss-5-amd-project (backend for lmxxf thanks to him)
- Dagherbou, wilsjo2 and Matheus — the DLSS-NR and pre-SR code this tree descends from (GPL-3.0):
https://github.com/Dagherbou/OptiScaler_DLSSNR, https://github.com/wilsjo2/OptiScaler-DLSSNR-PreSR-Multipass,
https://github.com/MatheusGViana/dlss-5-amd-project - hhkbble — the
CubeScalegamut handling - Nukem9 — dlssg-to-fsr3 — https://github.com/Nukem9/dlssg-to-fsr3 (GPLv3, unmodified)
- RenoDX — clshortfuse — https://github.com/clshortfuse/renodx (colour composition maths, MIT)
- Coldwood1026 — XeFGUnlock (GPL-3.0), the base of the built-in XeFG multi-frame unlock and its pacing
- burak113 — the FSR Ray Regeneration preprocessor (OptiScaler branch ffx-denoise-experimental, GPL-3.0)
- OptiScaler — Overclockers and contributors — https://github.com/Overclockers/OptiScaler-Releases
Not shipped by AMDNR, but needed for some features: REFramework by praydog (Resident Evil Requiem) and
DLSS Enabler by Artur Graniszewski (the Enabler frame-generation options).
None of this is endorsed by, affiliated with, or supported by NVIDIA, AMD, or any game publisher. NVIDIA's
nvngx_dlssnr.dll is not in these archives. Use it at your own risk.