github jlrouzies-fr/DLSS5-Feeder v1.17.0-beta.2
1.17.0-beta.2

5 hours ago

Buy Me a Coffee

Careful of fake copies. The only download for this project is this releases page. Fake websites and lookalike GitHub repositories exist (#88, #115); this project has no executable installer. The standalone CAREFUL_FAKE_MALICIOUS_FEEDER.txt asset explains how to check what you downloaded. SHA-256 of DLSS5-Feeder-1.17.0-beta.2.zip: F5BA6D53E476F432F0FA4FC5DE5DF3CAB7B699133A3BE60D2F3C72E87EA4B3F7. The genuine zips are scanned on VirusTotal, for instance the 1.16.0-beta.2 zip; look this release's hash up there yourself.

There is a one-command installer. Download Install-DLSS5Feeder.ps1, put it beside the game's executable, and run powershell.exe -ExecutionPolicy Bypass -File .\Install-DLSS5Feeder.ps1 -Prerelease. The standalone AUTOMATIC_INSTALLATION_AVAILABLE.txt asset explains every option.

Does not work with your game? I can't test every game reported in the issues: I don't own most of them, and I don't have the time to try them all. Read this README section. It gives a prompt for an AI coding agent that reads your logs against the source and opens a pull request if it finds a legitimate fix.

Four issue fixes (#130, #129, #121, #97), an experimental output stabiliser for 32-bit games, and a fixed OptiScaler DLSS-NR build for model resolutions below 100%. Every binary embeds release commit 9dcb8c9, and the add-ons identify themselves as 1.17.0-beta.2; check line 1 of dlss5-feed.log before reporting a retest.

32-bit games: install dlss5-feed.addon32 and host64\dlss5-feed-host64.exe from this zip. The IPC protocol moved to v11, so a beta.1 half and a beta.2 half refuse to talk to each other; the log says which side is old.

OptiScaler DLSS-NR: a fixed build for model resolutions below 100%

wilsjo2's OptiScaler-DLSSNR-PreSR-Multipass flickers, and keeps "settling" for a few frames after the camera stops, at every Model resolution below 100% (builds up to v0.8.91); 100% is steady. The cause is inside the fork's reduced path: below 100% the model was given a colour at the working size and depth / motion vectors at the frame's size, with only the vector magnitudes rescaled, so each pixel's guides belonged to a different place in the frame and the history never lined up.

A fixed build is released on this project's fork: OptiScaler-DLSSNR-PreSR-Multipass v0.8.92. It is wilsjo2's v0.8.91 plus that one change (depth and motion resampled to the model's working size), same zip layout, same install as in the README; it is offered upstream as a pull request. [DlssNr] MatchGuides=false in its OptiScaler.ini brings the old behaviour back for a comparison on the same build. Verified in Fable Anniversary at 4K through the helper: 70% is as steady as 100% with it, and flickers without it. The feeder's own Work resolution was never affected: it shrinks the whole frame and makes the guides at that size.

What changed

  • #130 — D3D12 games that load DLSS of their own. Nishuihan with ray tracing has nvngx_dlssd.dll (Ray Reconstruction) in the process before ReShade loads its add-ons; the feeder opened a second DLSS contract on the game's device and renodx-dlss5 faulted inside that create. The same-device D3D12 session now refuses to open when the game has loaded its own nvngx_dlss.dll / nvngx_dlssd.dll / Streamline DLSS, with a stopped: line that says why. In such a game, turn DLSS on in the game's own settings and let the DLSS 5 add-on use that. native_dlss_ok=1 opens the session anyway. A private D3D12 device would not help: the problem is two DLSS users on one game.
  • #129 — X3531: can't unroll loops on DirectX 9. The feeder does not attach to D3D9, and the effect's D3D9 guard was an #error. On D3D9 DLSS5_Feed.fx now compiles to a pass-through stub whose settings page says what to do: dgVoodoo2 first for a 32-bit D3D9 game (README, "Install for a DirectX 9 game"); a 64-bit D3D9 game does not need this add-on at all.
  • #121 — 32-bit Vulkan games under Wine/Proton. Wine 11 cannot import a D3D12 fence created in another process, and the 32-bit add-on's fences always come from the 64-bit helper: the attempt faulted inside Wine and closed the game. The add-on now imports the shared textures before the fences, then stops cleanly under Wine instead of making the import that kills the game (wine_fence_import=1 tries anyway). If the textures import, a CPU-synchronised handoff becomes buildable. Also from that thread: the 64-bit add-on now prints the process's VRAM usage against the OS budget with its STALL lines and flags it as TIGHT.
  • #97 — DRED ownership. Every D3D12 object the feeder creates is now named (the readback buffers, the timestamp heap, the HDR bridge textures and the transport slot textures were not), so a RECENTLY FREED: RESOURCE '(unnamed)' on the feeder's queue is not one of the feeder's. The reporter's A/B put that crash on OptiScaler's OverlayMenu=false path.
  • Output stabiliser (32-bit games, experimental). The neural consumer re-decides what a still region should look like from small frame-to-frame differences in its input: a slope under a tree is bright while the camera pans and darkens over the frames after the stop, although the game drew it the same way on every one of them. Measured in Fable with wilsjo2's fork: nine evaluates a frame changed nothing, so it is not the history catching up; a reset on every frame flickers and still darkens, so it is not the history at all. The helper now runs one compute pass after the evaluate: per output pixel it compares a 3x3 box of the game's frame with an anchor (that box as it was when the pixel last moved), relative to local brightness; where the input moved, the model's answer shows as is; where it did not, the shown pixel keeps hold_strength of last frame's value. No reprojection, so nothing ghosts. Two sliders on the DLSS 5 page under Output stabiliser: Hold strength (0 = off, the default; 0.9 = the model's new opinion fades in over about ten frames; 1 = a still region never moves until its input changes) and Change tolerance. README rows hold_strength / hold_tolerance. Not on the 64-bit add-on yet.
  • settle_evals (both add-ons, the helper) and hold_input (32-bit): diagnostics. N extra zero-motion evaluates of the same frame, and a frozen model input. They only cost frame time; they are what proved the point above, and they answer that question in any game in a minute.
  • README: rows for the six new keys, and the OptiScaler section on model resolutions below 100%.

Verified, and not

All three binaries build without warnings; the Vulkan layers are unchanged since beta.7. The helper's self-test passes 300/300 evaluates at 640x360 with wilsjo2's v0.8.92 at 70% model resolution and the stabiliser at strength 0.9 (driver 617.14). The stabiliser, the settle evaluates and the OptiScaler fix were run in Fable Anniversary (32-bit, 4K, through the helper).

Not run in a game: the four issue fixes. They are built from the reporters' logs, and each issue has the details. The D3D9 stub has not been compiled on a D3D9 ReShade.

Don't miss a new DLSS5-Feeder release

NewReleases is sending notifications on new releases.