> [!TIP]
> Quick start (Windows): winget install "DLSS Updater" — then launch and hit scan.
> Prefer Linux? Grab the Flatpak. Full options are in Installation.
Contents
Overview
DLSS Updater scans the games installed on your system, detects the upscaling and
frame-generation DLLs they ship with, and replaces them with newer versions — with automatic backups so you can always roll back. It runs on Windows and Linux and
understands games from every major launcher.
⭐ Star History
Features
<h3>🖥️ Cross-Platform</h3>
Runs on <strong>Windows & Linux</strong> and detects games from every major launcher — Steam, Epic, GOG, Ubisoft, EA, Battle.net & Xbox.
<h3>🔄 Updates Everything</h3>
DLSS, Neural Rendering, Ray Reconstruction, Frame Generation, Streamline, XeSS, FSR & DirectStorage — all at once, only the technologies you pick, or one binary at a time.
<h3>🎛️ DLSS Presets</h3>
Apply global or per-game SR / RR / FG preset overrides on Windows (NVIDIA), or per-title Proton launch options on Linux — DLSS SR/RR/FG overrides plus FSR 4 & XeSS DLL upgrades.
<h3>🖼️ Smart Game Images</h3>
Optional Steam Web API matching for near-perfect banners, plus custom banner & name overrides that survive rescans.
<h3>💾 Safe by Default</h3>
Every binary is backed up before it's touched — restore any DLL in one click from the <strong>Backups</strong> view.
<h3>🚫 Custom Blacklist</h3>
Skip (or force) any title with your own per-game blacklist, layered on top of the community list.
<h3>⬆️ Updates Itself</h3>
When a new release lands, the version badge beside the title becomes an update button. On <strong>Windows</strong> it downloads, verifies and installs the new version, then restarts itself. On <strong>Linux</strong> it downloads the Flatpak bundle — a sandboxed app can't install packages itself — though Flatpak users can simply take updates through flatpak update or their software centre instead.
🖥️ Platform & Launcher Support
Cross-platform on Windows and Linux, with detection for the launchers below:
| Launcher | Windows | Linux | Notes |
|---|
| Steam | ✅ | ✅ | Includes Proton games on Linux |
| Epic Games Launcher | ✅ | ✅ | |
| GOG Galaxy | ✅ | ✅ | |
| Ubisoft Connect | ✅ | ✅ | |
| EA Play | ✅ | ✅ | |
| Battle.net | ✅ | ✅ | Keep the launcher open before updating (not required for custom folders) |
| Xbox Game Pass (PC) | ✅ | — | Windows only |
| Custom folders | ✅ | ✅ | Point at any game location manually |
Linux specifics
- Scans Steam Proton prefixes (
~/.steam/steam/steamapps/compatdata/)
- Supports Wine prefixes (Lutris, standalone Wine)
- Automatic Steam path detection
- Enable the DLSS Debug Overlay
🔄 DLL Updating
- DLSS Super Resolution, plus Ray Reconstruction, Frame Generation and Streamline (Reflex Low Latency, DirectSR, NIS, etc.)
- DLSS 5 Neural Rendering — runs alongside Super Resolution rather than replacing it (RTX 50 series only; the DLL is ~158 MB, so expect a longer first download)
- XeSS / XeSS Frame Generation / XeLL
- FSR — Upscaling, Frame Generation, Ray Regeneration, plus an FSR 4 upgrade for games that ship only FSR 3.1 (RDNA 3 / RDNA 4 only; skipped on other GPUs, where FSR 4 cannot run)
- DirectStorage (Windows only)
- Update everything at once, or update individual binaries for a specific game
- Choose what "update everything" means — the caret beside Start Update (and beside the Hub's Update all) opens a menu of technologies. Untick the ones you want left alone and the run skips them; the caret shows a count whenever the run is narrower than everything. The choice applies to that run only and then reverts to your saved preferences, so a one-off "only DLSS this time" never quietly becomes permanent — use Make this my default to write it to Update Preferences instead. Both menus share one scope, so narrowing on the Hub shows up on the Launchers bar and vice versa
- Update a hand-picked set — hover any game card in the Games view to reveal its checkbox, tick the games you want, then hit Update selected. Select all takes every game visible in the current launcher tab, so "update just this launcher" is one click away. The selection carries across launcher tabs and filters, and the run reports one summary rather than a dialog per game
🎛️ DLSS Presets & Proton Upscalers
- Global presets (Windows, experimental) — the DLSS Settings card on the home page applies preset overrides to every game via the NVIDIA driver base profile (the same mechanism as the NVIDIA App's global override). Shows the currently applied preset; takes effect at the next game launch.
- Super Resolution (SR): Default / Latest / Preset J / K / L / M
- Ray Reconstruction (RR): Default / Latest / Preset D (DLSS 4) / Preset F (DLSS 4.5 Gen 2)
- Frame Generation (FG): Default / Latest / Preset A / B
- ⚠️ Per-game overrides set in the NVIDIA App take priority — set its DLSS override to Default/Off to let this global setting apply.
- Per-game presets (Windows, NVIDIA only) — the DLSS Settings action on any game (right-click a card, or its ⋮ menu) opens a per-game panel that overrides SR / RR / FG for just that title via its NVIDIA per-application driver profile — the same mechanism the NVIDIA App uses for per-game overrides. It takes priority over the global setting for that game and applies at the next launch. The action is hidden automatically on non-NVIDIA systems.
- The game's executable is detected automatically (NVIDIA driver lookup → folder heuristic → Steam manifest); when it can't be determined, a Change executable file picker lets you point at the correct
.exe. Your executable and preset choices are remembered between sessions.
- The panel reads back the value the driver is actually applying and distinguishes NVIDIA's predefined value from your own override. Reset to default clears the override (reverting to the game's predefined value) in one click.
- Proton Upscalers (Linux only) — the Proton Upscalers panel generates per-title Steam launch options (copy-to-clipboard; the same variables work in Heroic/Lutris environment settings):
- DLSS (NVIDIA) — SR presets (Latest / J / K / L / M) and RR presets (Latest / D / F) plus a Frame Generation override via DXVK-NVAPI, matching the Windows per-game dialog. Works on any Proton, including Valve's.
- DLL upgrades (GE-Proton / Proton-CachyOS / Proton-EM) — one-toggle
PROTON_DLSS_UPGRADE, PROTON_FSR4_UPGRADE (RDNA3/RDNA4 aware) and PROTON_XESS_UPGRADE launch options with optional on-screen indicators. The panel reads each game's Proton build from Steam's compat-tool mapping and disables toggles that build doesn't support.
- GPU vendor is auto-detected (NVIDIA / AMD / Intel) to show the relevant sections, with RDNA3 mode recommended automatically on RX 7000 GPUs.
🖼️ Game Images & Custom Display
- Steam Web API integration (optional) — connect your free Steam API key for near-perfect game image matching.
- Auto-detects your Steam ID from the local installation
- Four-tier app ID resolution: Manifest → Steam API → Store Search → FTS5 fuzzy match
- One-click re-resolution to fix images from previous scans
- Custom display — override any game's banner image and display name via the pencil icon on its card.
- Search the local Steam app list to find any game (no API key required; credentials improve results)
- Overrides are stored separately from scanner data, so a rescan can't revert them
- Reset to default at any time
- Card size — the ⋮ menu in the Games header switches the grid between Compact, Comfortable and Large. Compact fits noticeably more of a large library on screen; the choice is remembered between sessions.
💾 Backups & Safety
- Built-in backup system that snapshots game binaries before modifying them
- Restore any modified DLL from the Backups view
- Build your own per-game blacklist to skip titles for any reason
Bundled DLL Versions
| Technology | Included version |
|---|
| DLSS Super Resolution | 4.5 (310.7.128.0) |
| DLSS FG / RR | 4.5 (310.7.128.0) |
| Streamline (Reflex, DLSS SR/FG/RR, DirectSR, NIS) | 2.12.128.0 (NIS & DirectSR 2.12.0.0) |
| FSR Upscaling | 4.1.1 (4.1.1.2740) |
| FSR Frame Generation | 4.0.1 (4.0.1.2740) |
| FSR Ray Regeneration | 1.2.0 (1.2.0.2740) |
| FSR Loader | 2.3.0.2740 |
| FSR Radiance Caching (preview, opt-in) | 0.9.0 (0.9.0.2740) |
| FSR (DX12 / Vulkan, SDK 1.1.4) | 1.0.1.41314 |
| XeSS | 2.0.2 |
| XeSS Frame Generation | 1.3.1 |
| XeLL | 1.3.2.10 |
> See the Intel XeSS releases for per-game XeSS support details.
Installation
Windows
The MSI installer is the recommended way to install on Windows — it installs to
Program Files with a proper Add/Remove Programs entry.
Winget (recommended)
winget install "DLSS Updater"
Chocolatey — install from the Chocolatey package page.
Scoop — via the scoop-games bucket (manifest update pending merge). Scoop extracts the MSI into a portable install, so nothing touches Program Files:
scoop bucket add games
scoop install dlss-updater
Direct download — grab DLSS.Updater.X.Y.Z.msi from the Releases page and run it.
Updating
From 4.6.0 onwards the app updates itself. When a release is available the version badge
beside the title becomes an update button; clicking it downloads the installer, verifies it
against the SHA-256 digest GitHub publishes, installs it and restarts. Both the launch check
and automatic downloading are configurable under UI Preferences → Application Updates.
If you installed through a package manager you can keep using it instead — winget upgrade
or choco upgrade dlss-updater. One exception: Scoop installs are portable, so let Scoop
update them (scoop update dlss-updater). The in-app updater runs the MSI, which installs to
Program Files and would leave you with two copies.
Linux
The Flatpak is the recommended way to install on Linux.
Install Flatpak (if you don't have it)
# Ubuntu/Debian
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Fedora — pre-installed
# Arch
sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Install DLSS Updater
# Download DLSS_Updater-X.Y.Z.flatpak from the Releases page, then:
flatpak install --user DLSS_Updater-X.Y.Z.flatpak
flatpak run io.github.recol.dlss-updater
Updating
Bundles from 4.6.0 onwards register an update remote when you install them, so
later releases arrive through your software centre or:
flatpak update --user io.github.recol.dlss-updater
If you installed an earlier bundle, add the remote once to get updates from then on:
flatpak remote-add --user --if-not-exists \
dlss-updater https://recol.github.io/dlss-updater-flatpak/dlss-updater.flatpakrepo
The repository is GPG signed, and both routes above set up verification for you — updates
that aren't signed with the key below are refused. Nothing to configure; the key travels
inside the bundle and in the .flatpakrepo. To check it yourself:
4AD3 8790 6BC2 7C4B 8BFC B2D4 A613 C3A8 B1F1 B430
Uninstall
flatpak uninstall io.github.recol.dlss-updater
Custom game directories
The Flatpak has read-only access to common game locations by default: ~/, /mnt/,
/media/, and /run/media/.
To grant access to additional directories:
flatpak override --user --filesystem=/path/to/games io.github.recol.dlss-updater
Or use Flatseal for a graphical
permissions manager.
Linux notes
- Steam Proton games: auto-detected at
~/.steam/steam/steamapps/compatdata/.
- Wine games: scans
~/.wine/ and Lutris games at ~/Games/.
- Custom paths: use
flatpak override or the in-app dialog to grant access outside the sandbox.
- Windows-only features: DLSS Debug Overlay and DirectStorage updates are disabled on Linux (grayed out with tooltips).
- Logs: stored at
~/.local/share/dlss-updater/dlss_updater.log.
- libmpv issue: if you hit a libmpv error, your distro likely doesn't bundle the library — see issue #125 for guidance.
Building from Source
Prerequisites & build steps
Prerequisites
- Python 3.14 or higher (free-threaded build recommended)
- Git
- uv (Python package installer)
Windows
git clone https://github.com/Recol/DLSS-Updater.git
cd DLSS-Updater
uv sync --frozen
# Build the executable
uv run pyinstaller DLSS_Updater.spec
# …or build the MSI installer
pwsh build_msi.ps1
# Run it
.\dist\DLSS_Updater.exe
Linux
git clone https://github.com/Recol/DLSS-Updater.git
cd DLSS-Updater
uv sync --frozen
# Build the executable…
uv run pyinstaller DLSS_Updater_Linux.spec
# …or build the Flatpak
./build_flatpak.sh
# Run it
./dist/DLSS_Updater
Blacklisted Games
The list of unsupported (blacklisted) games is maintained as a CSV in a separate
repository, so it can be updated independently of the application:
➡️ DLSS-Updater-Blacklist
Games are blacklisted when they:
- Use their own version of DLSS for testing (e.g., 3DMark)
- Replace the DLL on launch (e.g., Warframe)
- Ship a DLSS version below 2.0 (non-updatable)
- Have known compatibility issues with updated DLSS versions
You can override the blacklist via the Manage Blacklist button in the GUI to skip
(or force) games for any reason.
Anti-Cheat
The tool does not globally block anti-cheat games, since some allow DLL replacement.
Individual titles will be blacklisted as they're reported not to function.
Troubleshooting
Check the Issues section to see if your
problem has already been reported. If not, open a new issue with as much detail as
possible. Each release also ships detailed notes in release_notes.txt and on the
Releases page.
Roadmap
- Publishing on Flathub so Linux users can install straight from their software center (#234) — groundwork shipped in 4.3.1
- Automation support with external software
- Community-requested features — open an issue to suggest one
License & Credits
Licensed under the GNU Affero General Public License. See the LICENSE file
for details.
This project uses NVIDIA's DLSS (Deep Learning Super Sampling) — see NVIDIA's
DLSS page for more — and
Intel's XeSS (Xe Super Sampling) — see Intel's
XeSS page.
Special thanks to all contributors of the open-source libraries used here, including but
not limited to pefile, psutil, PyInstaller and packaging. If any are uncredited and
should be, please let the author know and credit will be applied.