Repository navigation
Releases: Nicholasvoador/DLSS5-Swapper-Linux-Support
Release list
v2.2.9-linux.4 — Community that says what's wrong, RenoDX kept current in your games
v2.2.9-linux.4 — Community that says what's wrong, RenoDX kept current in your games
What was wrong with Community and Chat
This release didn't break it, and neither did 2.2.9-linux.3: the community code is the same as upstream's. Run side by side against the server on 2026-10-07, 2.2.9-linux.2 and 2.2.9-linux.3 failed in exactly the same way.
The community service (5.rakanki.com) is run by the original project. Measured from a Linux PC that day:
- the connection opened in 12–16 ms;
- the server then took 16 s to send the chat, 31 s to send the game list, or never answered (45 s and 70 s waits);
- other requests came back 502 Bad Gateway through Cloudflare, which sits in front of it: most at about 30 s (game list 30.7 s, chat people 30.8 s), one at 12 s and one at 66 s.
The app waited 10 s, then said "Community service is unavailable. Check your connection and try again." It said this every time, even when the server was simply slow. Chat said "Start the conversation" when its messages had never loaded.
What's new
Community and Chat
-
They wait for a slow server. A request now gets 35 s instead of 10 s, so a server that answers in 16–31 s gets through. Anything slower is reported as taking too long.
-
They say what actually failed. There are three cases:
- "The community server is taking too long to answer";
- "The community server is having trouble right now (error 502)";
- "check your connection", now used only when the server can't be reached at all.
The first two add that the service is run by the original project and nothing on your PC needs fixing.
-
They show what they last loaded. The last game list, GPU list and newest chat page are kept on your PC (
community-last-good.json, up to 12 entries, a week at most).- When you open Community, the saved list appears at once, marked "Showing the results saved on …". Fresh results replace it when the server answers.
- If the server fails, the saved list and messages stay on screen, with the reason.
- Sending anything (reports, replies, messages) still needs the server.
-
Chat shows its real state. It goes from "Loading messages…" to "The chat server is slow right now" after 8 s, then "Chat could not load" with the reason. It no longer shows an empty room. A line above saved messages says when they're from, and it clears when the server answers again.
-
Every new message is in English and Arabic, the two languages these tabs carry.
RenoDX
- The newest builds. RenoDX DLSS5 8.5.0-rc10 and multipass SF 26.1003.2350, the newest on the project's release feed (
RankFTW/rhi-repo) as of 2026-10-07. - Games you already set up are brought up to date. About → Updates → RenoDX in your games lists each game's copy: current, older, newer, picked by you, or added by hand.
- Update N games replaces only older builds this app put there, and only after you confirm with the game closed. Each new file is written beside the old one and SHA-256 checked before it takes its place.
- These are left alone: a build added by hand, one picked on the Add-ons page, and one newer than the app's (no downgrades).
- Restore still brings back each game's original files.
- Builds you accept from the Updates panel are remembered, so a later release can bring those games forward too.
- The sidebar says "RenoDX is older in N games". This needs nothing from GitHub, so it shows even when GitHub can't be reached.
- New builds can't slip past the check.
rhi-repoalso mirrors NVIDIA's DLLs and Streamline, and a burst of those used to be able to push a new RenoDX off the 30 releases the check read.- The check now reads 100 releases.
- It reads up to 4 pages when a RenoDX line isn't on the first page.
- The app keeps checking while it runs. It sits in the tray for days, and the add-on check kept in memory never expired, so a RenoDX released after start-up wasn't seen until a restart.
- The check now expires after 6 h, or 30 min after a failed check.
- The app looks again every hour.
- GitHub's hourly limit is reported in plain words. It allows 60 anonymous requests per connection. Instead of "GitHub answered 403", the panel now says the limit is used up and when it resets.
Add-ons page
- The built-in add-on is explained. The top of the page now reads: "Built in: RenoDX DLSS 5 8.5.0-rc10. It goes in with every RenoDX and Feeder install, so there is nothing to switch on for it."
- It used to be listed as a nameless optional add-on with a switch. The app recognised builds only from a list last updated for RenoDX 4.7.
- The app's own build is now recognised whatever it is, including one accepted from the Updates panel.
- Older RenoDX builds are named when you add them by hand. That covers 6.5.3 and multipass SF 26.0927, 26.0928 and 26.1003, which earlier releases shipped.
Verified
- Tests:
npm testgives 391 tests, 389 pass, 0 fail, 2 skipped. 21 are new: 11 for Community and Chat, 10 for RenoDX in games. - The app, run from source in an isolated home and config folder. It talked to a stand-in community server serving a real game-list answer from
5.rakanki.com, switched between three modes:- Answering: 24 games of 7,636, and chat messages.
- 502 after one good load: the saved list (24 games) and saved chat stayed on screen, with "error 502" and the time they're from.
- Never answering: the saved list showed at once with "Checking for newer results…", then the "taking too long" reason after 35 s.
- First start with nothing saved, while the server was failing or not answering:
- Community said it was slow after 9 s.
- Chat went from "Loading messages…" (2 s) to "slow" (12 s) to "Chat could not load" (35 s).
- Both recovered by themselves once the server answered again.
- RenoDX in games. The test used stand-in game folders: one with the real RenoDX 6.5.3, one with multipass SF 26.0928.0205, and one with a hand-made build.
- Update 2 games replaced the first two with 8.5.0-rc10 (
dcd93881…) and SF 26.1003.2350 (1310119c…). - The hand-made build stayed byte-identical, and no temporary files were left.
- The sidebar read "RenoDX is older in 2 games" before the update.
- Update 2 games replaced the first two with 8.5.0-rc10 (
- The Add-ons page showed the built-in line above, and no switch for the built-in build.
Good to know
- The community server isn't run by this fork. When it's down, these tabs now say so and show what they have. They can't make it answer.
- This is the first release that 2.2.9-linux.3 can install by itself (About → Updates). An rpm or deb install asks for your password through
pkexec. - Feeder, DLSS5VKLayer and OptiScaler still move with app releases. The panel shows their status and links to them.
| File | SHA-256 |
|---|---|
DLSS5-Swapper-Linux-2.2.9-linux.4-x86_64.AppImage |
4f0d1218940422d2d8f37f317061630fa7a3920e92b4af7e031efbedf679b2d9 |
DLSS5-Swapper-Linux-2.2.9-linux.4-amd64.deb |
c73d26f9ac8bfe84e10e19b04924e1a5d0e1132ba31a7d927aec5098f1a16ff3 |
DLSS5-Swapper-Linux-2.2.9-linux.4-x86_64.rpm |
a40d6af44e1582dc82deaaef676ceae91f4f45f0e79096640b9df329dd49804a |
v2.2.9-linux.3 — Update from inside the app
v2.2.9-linux.3 — Update from inside the app
The app can now update itself and its RenoDX add-ons, from About → Updates. This release also ships the newer multipass build.
What's new
- Updates panel (About page). It lists this copy, the original DLSS 5 Swapper it follows, the RenoDX add-ons and the other components, each with what's newer. The sidebar's "update available" lines now open the panel. Nothing happens until you press a button and confirm.
- Updating the app. The app downloads the next release of this fork and checks it against GitHub's published SHA-256 and the release's
SHA256SUMS.txt. Both must agree, and at least one must exist. It then installs the update the way you installed the app, and restarts.- An AppImage replaces itself.
- An rpm goes through
pkexec dnf install, and a deb throughpkexec apt-get install, so your desktop asks for your password.
- Updating the RenoDX add-ons (DLSS5 consumer and multipass). The app finds the newest build on the project's own release feed. It downloads it, checks it against GitHub's SHA-256, and requires a 64-bit Windows DLL. Then it lays the build into the payload, each file replaced whole. Back to returns to the build this release ships.
- Updating the app. The app downloads the next release of this fork and checks it against GitHub's published SHA-256 and the release's
- Multipass add-on SF 26.0928.0205 → SF 26.1003.2350. Zip
34ef92d6…, add-on1310119c….
Fixed
- New fork releases were never announced. The version check read only the first three numbers, so
2.2.9-linux.3looked the same as2.2.9-linux.2. - The sidebar kept announcing an add-on update after an app update. The cached add-on check (kept for 6 hours) still held the old version's add-ons. What this build ships is now measured every time.
- The sidebar's add-on line stayed up after the add-on was updated.
Verified
- Tests:
npm testgives 370 tests, 368 pass, 0 fail, 2 skipped. 18 of them are new, for the updater. The suite no longer reaches the network. - On the RTX 5070 box, with a build labelled 2.2.9-linux.1, in an isolated config folder:
- Add-on update: multipass
SF 26.1003.2350downloaded and checked. The installed file matches the release byte for byte (checked separately withcurland7z). Back toSF 26.0928.0205restored the shipped file. - App update: the published 2.2.9-linux.2 AppImage downloaded and was checked against GitHub and
SHA256SUMS.txt. It replaced the running AppImage, and the app restarted into 2.2.9-linux.2. The old AppImage mount was released, and no file descriptors leaked into the new process.
- Add-on update: multipass
- This release's AppImage fetched SF 26.1003.2350 by itself on first start and reports everything up to date.
Good to know
- 2.2.9-linux.2 has no updater, so moving to this release is a one-time manual install. From here on, the app updates itself.
- The rpm/deb update path is tested with the system calls stubbed. The full flow (download, verify, replace, restart) ran for real with the AppImage, and the rpm and deb path is the same apart from the final step. The first real
dnfupgrade through the app will be 2.2.9-linux.3 → the next release. - Feeder, DLSS5VKLayer and OptiScaler are installed as several files each, so they still move with app releases. The panel shows their status and links to them.
- The checks are anonymous. GitHub allows 60 anonymous API requests an hour. Opening the panel uses two; launching the app uses one, plus the add-on check every 6 hours.
| File | SHA-256 |
|---|---|
DLSS5-Swapper-Linux-2.2.9-linux.3-x86_64.AppImage |
a16641f313027ca83b045e2c415e3ec30ff22e2fc9c79e3b379f877b86a1ef0c |
DLSS5-Swapper-Linux-2.2.9-linux.3-amd64.deb |
4e7ecb1cc946ab0e5b2d250f4853160fba3f91b8603b9bd7f60ec56a4e4b1d05 |
DLSS5-Swapper-Linux-2.2.9-linux.3-x86_64.rpm |
7f4da114c14b8a69db416aecaa341b2bfdbb7902866de268ed8ca2bf831e4200 |
v2.2.9-linux.2 — RenoDX 8.5.0-rc10, and the panel that can drive it
v2.2.9-linux.2 — RenoDX 8.5.0-rc10, and the panel that can drive it
The RenoDX add-on this fork installs moves from 6.5.3 to 8.5.0-rc10, and the multipass build from SF 26.0927.2125 to SF 26.0928.0205. Upstream 2.2.9 still ships 6.5.3, so the Linux build now fetches the newer add-ons itself.
What changed
- RenoDX 8.5.0-rc10 on Linux. Upstream's 2.2.9 package carries 6.5.3, so the app now lays its own pinned add-ons over the payload. It downloads each release zip from RankFTW's rhi-repo, checks the zip's SHA-256, takes the one file out, and checks that file's SHA-256 too. Only then is each target replaced, each one whole. If you already have the payload, the app fetches only the add-ons (about 2 MB) and never downloads the 250 MB upstream package again.
- The F8 panel's RenoDX bridge works with 8.5.0-rc10. The panel drives RenoDX through RenoDX's own UI, at addresses pinned for each build. Two things went wrong with rc10:
- The addresses. The rc10 pin is derived from the code itself: the
GetImGuiFunctionTable(19250)store and theregister_overlaycall. The same method reproduces every 6.5.3 pin exactly. A new test checks every pin against the instructions it fingerprints, for 4.7, 6.5.3 and rc10. - The redrawn page. rc10 puts its whole page in one child window. ImGui hides that window when the bridge's hidden pass is parked off-screen, so the bridge saw 0 of 15 controls. The pass now stays on screen at an alpha that rounds to nothing, and takes no input. rc10's controls are found by their INI key. Switches and style rows are pressed once, through RenoDX's own UI. The bridge reads RenoDX's saved settings but never writes them.
- The addresses. The rc10 pin is derived from the code itself: the
- The overlay builds on Linux.
scripts/prepare-overlay.shandscripts/build-overlay.shuse the same pinned zig and ReShade SDK as the Windows scripts.
| Add-on | Version | SHA-256 |
|---|---|---|
| RenoDX DLSS5 (native and Feeder routes) | 8.5.0-rc10 | dcd93881… |
| RenoDX DLSS Tool (multipass route) | SF 26.0928.0205 | 083c0020… |
Verified
- Tests:
npm testgives 350 pass, 0 fail, 2 skipped. - Bridge, hidden test host under Proton (RTX 5070):
- rc10 is active with 13 of 15 controls. The other two, Global Tone and Enable Upscaling, no longer exist in 8.x.
- All 9 test commands (sliders, switches, style rows, drop-down) read back correctly and land in
ReShade.ini. - 6.5.3 is unchanged at 14 of 15.
- Control (DX12), installed by this AppImage and launched from Steam:
NR-VERDICT state=ENGAGED build=v8.5.0-rc10, with 19,527 of 19,528 frames neurally rendered.- About 65 fps at 2560×1440 on an RTX 5070.
- The Steam overlay loaded.
Known limits
- The F8 panel doesn't connect on Linux yet. It reaches the app through a Windows named pipe, which exists only inside Proton. The Linux packages don't ship the panel. RenoDX's own page in the ReShade overlay (Home key) works normally.
- 8.x dropped Global Tone Intensity, so that panel control stays unavailable with this build.
Packages
| File | SHA-256 |
|---|---|
DLSS5-Swapper-Linux-2.2.9-linux.2-x86_64.AppImage |
c4860a87f3d5bd7dc765b52f266423902f5cdbe5861facd32c105994bdf2c93c |
DLSS5-Swapper-Linux-2.2.9-linux.2-amd64.deb |
8652cb1816be52a6b0a285ad713d80aec6a7dbfddf7ef6fc0c05c3f7dfa33740 |
DLSS5-Swapper-Linux-2.2.9-linux.2-x86_64.rpm |
a0ff5d1d6057fe7d12a33a42cf4eaab4b746e91a42e149081dfda0c654e074ab |
DLSS 5 Swapper Linux — v2.2.9-linux.1
DLSS 5 Swapper Linux — v2.2.9-linux.1
First Linux-native release of DLSS 5 Swapper, ported from rakanki911/DLSS5-Swapper.
Corrected on 2026-10-06. An earlier version of these notes claimed three things this release does not do:
- automatic GPU filtering on dual-GPU systems;
- a fix for ReShade tutorial lockups;
- its own hook arming (
EnableHooks=2is upstream's).They have been removed. The current release is v2.2.9-linux.3.
What this release does on Linux
- Proton prefixes: finds each game's prefix across every Steam library, and the Proton that ran it, including custom tools in
compatibilitytools.d(Proton-GE, CachyOS and others). - Windows-only setup inside the game's prefix: ReShade's setup runs under the game's own Proton.
- DLSS5VKLayer (
dlssnr): reaches native Linux and Proton Vulkan games. The app installs the external layer for your user and adds or removes its Steam launch-option wrapper. - Steam overlay: works when the game is started from Steam (verified in Control).
- Upstream tracking:
scripts/sync-upstream.sh, plus a version check of the app and its add-ons against upstream. - Community page and chat: upstream's opt-in features, working on Linux.
- No NVIDIA binaries: none are bundled. The DLSS 5 payload is downloaded on first run and checked against a pinned SHA-256.
Packages & Checksums
| Package | Architecture | SHA-256 |
|---|---|---|
DLSS5-Swapper-Linux-2.2.9-linux.1-x86_64.AppImage |
x86_64 | c0e4bd4414b9ffd4aa716a624c4d8626a73c8fd0ba218b78f03a8e8e2e6a11ba |
DLSS5-Swapper-Linux-2.2.9-linux.1-amd64.deb |
amd64 | bb0e00972e4cdbf950daf19d2bb37a491ee9c90b529aebad04d669e884fd9dec |
DLSS5-Swapper-Linux-2.2.9-linux.1-x86_64.rpm |
x86_64 | 1526142499c537a3270415b2a2bd99b020dc844c20168e91f29c1af8de2215c1 |