Test build. Please try it and report back — this is asking for help, not announcing a feature.
It contains all of 0.11.0-beta.1 and supersedes it. Built from branch v0.11.0-beta.2.
dlss5-feed.log line 1 will say dlss5-feed 0.11.0-beta.2 (dlss5-feed32 0.11.0-beta.2 on 32-bit) so you can confirm which build you are on.
⚠️ 32-bit games: take both
dlss5-feed.addon32andhost64\dlss5-feed-host64.exefrom this zip. The helper protocol changed in this build (v4 → v5); mixed halves refuse to start and the log names the mismatch.
This build is five fixes for reports that are still open. If you filed one of them, this is asking you to retest.
1. Smooth Motion on D3D11: the feeder was watching the wrong screen (#1)
If you run NVIDIA Smooth Motion and DLSS 5 appeared to do nothing while every log line looked healthy — this is why.
Smooth Motion adds its own D3D11 device and an invisible proxy swapchain (InvisibleWindowClassNvPresent), so ReShade ends up running two effect runtimes in the game: one driven by your ReShade.ini — your preset, your shaders — and one by ReShade2.ini. The feeder kept a single "current runtime" and bound to whichever initialised last, which under Smooth Motion was routinely the one without your preset. It resolved DLSS5_Feed.fx technique MISSING against that runtime, then rejected every render of the technique on the other one because the pointers did not match. Nothing crashed, nothing was neural, and the log said Session started / Feature built.
It now tracks every runtime and feeds the one that actually renders DLSS5_Feed. The log lists each runtime with its device and window class (Smooth Motion's proxy is named as such), and prints binding to effect runtime …: it is the one rendering DLSS5_Feed when it switches. The overlay shows which one is bound.
Thanks to @cptmacp, whose A/B logs with Smooth Motion on and off are what made this findable, and to @Colada-K for the independent reproduction on a different game and GPU.
This does not change Vulkan. There, Smooth Motion runs inside the driver below everything ReShade can reach; the per-API opt-out is still the answer (Profile Inspector, "Smooth Motion - Enabled APIs" 0xB0CC0875, clear bit 4).
2. Versioned neural-consumer filenames are recognised (#1)
renodx-dlss5-4.7.addon64 and friends now match. The feeder looked for the exact name renodx-dlss5.addon64, so a versioned copy — which ReShade loads perfectly well — was logged as "not found", and the feeder then applied the workarounds for a pre-v4.5 build against a v4.7 one. Keep only one copy in the folder; ReShade loads every *.addon64 it finds, and two copies both hook NGX. The feeder now warns if it sees more than one.
3. 32-bit games that could never build: tex 1 CreateTexture2D failed 0x80070057 (#33)
Some 32-bit titles create a Direct3D feature-level 10 device, which cannot bind the unordered-access view the DLSS output texture needs. One of the four shared textures failed, and the old code retried the byte-identical request every 30 seconds for the rest of the session.
The 64-bit helper now creates the shared set instead — the route the OpenGL and Vulkan paths have always used — and where the game's device cannot hold the output at all, it keeps that part on its own side and copies the result into a plain texture the game can open. The feature level is in the build log either way.
Reported by @PartyBreakerTF2 on NFS Most Wanted 2012.
4. 32-bit Vulkan/DXVK: the exact-30-fps plateaus (#15)
The helper presented its own hidden, occluded window once per DLSS frame with a blocking call. Whenever the compositor held that present until the next refresh, the game — which waits behind that frame — inherited the wait, and the whole pipeline settled at exactly half the refresh rate in cycles, while the feeder's measured cost stayed at 0.09–0.17 ms/frame. That gap between "the feed is free" and "the game is at 30 fps" is exactly what @skoriandlp-arch's numbers showed.
The helper no longer waits: waitable swapchain, frame latency 1, and a present that is skipped rather than blocked (skips are counted in dlss5-feed-host.log). The 32-bit add-on now also reports presents against frames fed (present probe), which tells an external frame pacer apart from a slow helper — it only ever worked on 64-bit before.
Thanks to @FIocker for the first end-to-end 32-bit DXVK configuration; it is now in the README, along with Guild Wars Reforged (#32, thanks @RamzaBehoulve) and WoW 3.3.5a as status rows.
5. Crashes now leave evidence (#35)
The feeder opens its DLSS session the instant ReShade renders the DLSS5_Feed technique — before create_delay, and even at mode=1; only mode=0 is inert. That is why renaming the technique stops a crash there while emptying its passes does not.
A crash inside that opening had nowhere to be recorded on the 32-bit add-on or the helper: both set breadcrumbs that nothing ever read. Both now write the ### CRASH RECORDED ### line the 64-bit add-on has had since 0.8, all three write a minidump (dlss5-feed-crash.dmp, dlss5-feed-host-crash.dmp) next to the log, and a fault inside NGX's own initialisation is caught and turned into a clean disable instead of taking the game down.
If a game crashes, attach the log and the .dmp.
Asked often: can I have DLSS Quality / Balanced / Performance? (#34)
No — and not in a later build either. Real DLSS upscaling needs the game to render smaller than your screen and jitter its camera, then hands DLSS that small frame. This feeder only ever sees the finished, screen-sized frame ReShade has, so what it can publish is a 1:1 DLAA contract: same size in, same size out.
The Work resolution slider is a cost knob, not upscaling: below 100% the frame is shrunk, DLAA and neural rendering run on the smaller image, and the result is stretched back — which is why 50–66% looks blurry rather than sharp. Leave the neural consumer's NREnableUpscaling at 0. If your game already ships DLSS, use the game's own DLSS (or OptiScaler) instead of this feeder.
Everything from 0.11.0-beta.1, still on trial
Deep Fried Chicken as the recommended neural consumer (interop ABI 1, including the re-create when Chicken arms its hooks late), Verify-DLSS5Feeder.ps1 in the zip, the larger 32-bit helper window, and the Chicken-aware 32-bit overlay page. Plus everything from 0.10.0-beta.2. Both sets of notes apply here verbatim.
What is verified, and what is not
Verified here: all three binaries build clean, and the helper's self-test runs 300/300 evaluates with a versioned add-on filename, which exercises fix 2. Fixes 1, 3 and 4 need your hardware — the reference machine cannot reproduce a feature-level 10 device, and the Smooth Motion and DXVK cases are yours. That is the whole reason this is a beta.
Please run Verify-DLSS5Feeder.ps1 next to your game exe and paste its output in any issue, with dlss5-feed.log and ReShade.log from the same run (plus host64\ logs for 32-bit games).