Test build. Please try it and report back — this is asking for help, not announcing a feature.
It contains all of 0.9.0-beta.1 and supersedes it. Built from branch beta/v0.10.0-beta.1.
dlss5-feed.log line 1 will say dlss5-feed 0.10.0-beta.1 (dlss5-feed32 0.10.0-beta.1 on 32-bit) so you can confirm which build you are on.
1. 32-bit performance pass — new in 0.10.0, #15
Every 32-bit game — D3D11, OpenGL, and above all Vulkan/DXVK. This is the headline of the build.
Two reporters showed the 32-bit path hard-capped near 30–35 fps at any resolution, GPU and CPU both idle, with severe stutter — one log sat at exactly 33.33 ms for minutes, which is two 60 Hz vsync periods. The cause was never the rendering: the game's present waited, inside every frame, for a full round trip through the helper process, and the helper's own message loop added a ~15 ms sleep quantum on top.
Both ends changed:
- The game no longer waits for the frame it is presenting. By default each frame shows the DLSS output of the frame before it, so the helper works alongside the game instead of inside its frame. This is
async_home=1indlss5-feed.cfg(same name and idea as the 64-bit knob);async_home=0restores the old same-frame contract, and the overlay exposes it as Pipelined handoff. Costs one frame of latency on the DLSS output; the temporal history hides it. - The helper wakes on the pipe instead of sleep-polling it, stops blocking the CPU on fences the GPU already orders, and keeps its banner work out of the frame path. Measured against a synthetic client driving real NGX evaluates, the per-frame round trip went from ~14 ms to ~1 ms.
Local results so far: Worms Ultimate Mayhem (OpenGL, 4K) went 21 → 60 fps locked; Fable Anniversary (dgVoodoo D3D11) went from oscillating 41↔62 fps to flat 62. Mid-session host restarts (settings applies) were exercised under pipelining without incident.
Nobody has yet run the Vulkan/DXVK path — the original #15 case — on this build. If that is you: please post the 600 frames: lines from dlss5-feed.log at defaults, then with async_home=0 for an A/B, and say whether vsync was on.
Protocol note: the pipe protocol is still v3, so mixed old/new halves run — but the speedup needs both the addon32 and the host64\ exe from this zip.
2. Vulkan external frame pacers — new since 0.9.0-beta.1, #1 / #10
The 64-bit Vulkan transport now detects an external frame pacer (NVIDIA Smooth Motion) by comparing presents against frames fed — and the verdict from that investigation is in: Vulkan + Smooth Motion is not reconcilable from inside a ReShade add-on. The interpolator reads the swapchain before the effect chain has run, no matter how early or normally-shaped our writes are (a one-submit frame and a CPU-synchronous copy home both proved it). The supported answer is the per-API opt-out described in the README. Vulkan without a pacer is unaffected. The 64-bit transport also gained its own async_home / sync_home knobs (diagnostics, default off) from that hunt.
3. Everything from 0.9.0-beta.1, still on trial
Vulkan external-memory ownership transfers, DLSS 5 add-on v4.6/v4.7 support (#27), the OpenGL capped-extension probe (#29), and the guide diagnostics (#18). The 0.9.0-beta.1 notes apply here verbatim.
Known not working: Detroit: Become Human (Demo), 64-bit Vulkan
Unchanged: displayed image freezes on stale content; still open — see PLAN-DETROIT.md. enabled=0 in dlss5-feed.cfg is the recommended setting for this title.
Upgrading
From any 0.8.0/0.9.0 beta: replace the files. Protocol still v3, so nothing refuses to run — but for 32-bit games take both halves from this zip or you keep most of the old stall.
From 0.7.0, 32-bit games only: the protocol changed in 0.8.0 (v2 → v3); both halves must come from this zip. 64-bit games are unaffected.
Reporting
32-bit performance (this build's headline) → #15 · Vulkan, any 64-bit title → a new issue, saying it is 0.10.0-beta.1 · Smooth Motion on D3D11/D3D12 → #1 · Smooth Motion on Vulkan → #10 · DLSS 5 add-on v4.6/v4.7 → #27 · anything else → a new issue.
Worth including: game, resolution, API, whether vsync was on, the 600 frames: lines from dlss5-feed.log, the MV probe / Depth probe lines, the extension query: line on OpenGL. For 32-bit games also host64\dlss5-feed-host.log and host64\ReShade.log.