Skip to main content

DLSS5 Enabler

Transactional command-line installer for the DLSS5-Feeder rendering stack on Windows, Linux, Wine, Proton, and SteamOS.

Python Tests Typing License

DLSS5 Enabler automates the setup that would otherwise require manually downloading several projects, placing the correct 32-bit or 64-bit binaries, configuring ReShade, editing Wine overrides, and keeping enough state to undo everything later.

It combines:

[!IMPORTANT] DLSS5 Enabler is an unofficial community tool. It is not affiliated with or endorsed by NVIDIA, ReShade, RenoDX, or the other upstream projects. “DLSS 5” is used because that is how users commonly search for this stack; the tool does not add native engine integration and compatibility varies by game.

Why this exists

The rendering stack spans multiple binaries, configuration files, graphics APIs, architectures, and operating systems. A failed manual installation can overwrite an existing hook DLL, leave a partial ReShade setup, or persist a Wine registry override after the files it points to are gone.

DLSS5 Enabler treats installation as a transaction. It validates the target first, records every managed mutation, and rolls changes back in reverse order if a later stage fails.

Reliability by design

The project is built to fail safely when downloads, permissions, extraction, or configuration do not behave as expected.

  • Transactional installation: all 12 stages participate in rollback, including the stage that reports the failure.
  • Recoverable refreshes: an existing managed installation is snapshotted before replacement and restored if the new installation fails.
  • Safe uninstallation: original DLLs, INI values, and Wine registry values are restored before metadata is removed.
  • Atomic writes: records, indexes, cache metadata, registry files, and INI files are written through a temporary file followed by replacement.
  • Concurrent-operation locks: per-game operations and shared state use filesystem locks to prevent overlapping writes.
  • Non-destructive backups: existing files receive unique backup names; an older backup is never silently overwritten.
  • Validated downloads: HTTPS certificate verification remains enabled, incomplete downloads use isolated temporary files, and an existing valid destination survives a failed refresh.
  • Safe extraction: archive members are checked for absolute paths, parent traversal, and flattened-name collisions before extraction.
  • Cache identity checks: cached components are tied to their source URL, version or revision, and SHA-256 digest.
  • Strict verification: Ruff, Mypy strict, Pyright strict, and the complete test suite run through one command.

These protections reduce the chance of a broken game directory, but they cannot guarantee compatibility with every game, mod loader, anti-cheat system, or upstream release.

Supported targets

Target Mode Main hook
DirectX 11 / 12 Default ReShade dxgi.dll
DirectX 9 --d3d9 dgVoodoo2 translation plus the 64-bit feeder host when required
OpenGL --opengl ReShade opengl32.dll
Vulkan --vulkan-layer Feeder Vulkan-layer fallback when available upstream
32-bit games Automatic detection 32-bit feeder addon with a 64-bit host bridge

The target must be a Windows PE executable, either running directly on Windows or through Wine/Proton. Native Linux ELF binaries are inspected for diagnostics but are not installation targets.

Requirements

  • Python 3.10 or newer
  • uv
  • An NVIDIA RTX GPU supported by the downloaded NGX runtime
  • A game installation you can write to
  • Internet access for the first component download

Install

Install the command in an isolated environment with uv:

uv tool install dlss5-enabler
dlss5-enabler --help

Run it once without installing:

uvx dlss5-enabler --help

Run from source

From a local checkout:

uv sync
uv run dlss5-enabler --help
uv run dlss5-enabler info "/path/to/game.exe"
uv run dlss5-enabler install "/path/to/game.exe"

On Windows, PowerShell and cmd.exe paths work normally:

uv run dlss5-enabler install "C:\Games\Example\game.exe"

On SteamOS or Linux, point to the Windows executable inside the Steam library:

uv run dlss5-enabler install "/home/deck/.local/share/Steam/steamapps/common/Example/game.exe"

When the matching Proton prefix can be identified, the tool updates the required Wine DLL override and prints the corresponding Steam launch options.

Commands

Inspect a game

uv run dlss5-enabler info "/path/to/game.exe"

Reports architecture, imported graphics APIs, write access, the current managed installation, and a detected Proton prefix.

Install

uv run dlss5-enabler install [OPTIONS] "/path/to/game.exe"

Options:

Option Purpose
--lumenite / --no-lumenite Enable or disable LumeniteFX; enabled by default
--d3d9 Install the dgVoodoo2 DirectX 9 translation path
--opengl Use the OpenGL ReShade hook
--vulkan-layer Request the Vulkan-layer fallback
-f, --force-download Ignore cached assets and fetch them again
-v, --verbose Enable detailed console and file logging

--d3d9 and --opengl cannot be combined.

Uninstall

uv run dlss5-enabler uninstall "/path/to/game.exe"

The target may be the game executable or its directory. Only files and settings recorded by DLSS5 Enabler are reverted.

List managed games

uv run dlss5-enabler list

Inspect or clear the download cache

uv run dlss5-enabler cache
uv run dlss5-enabler cache --clean

Run project verification

uv run dlss5-enabler check

Installation pipeline

An installation runs these stages in order:

  1. Validate the executable, architecture, graphics API hints, permissions, and requested mode.
  2. Snapshot and remove a previous managed installation when refreshing.
  3. Discover and fetch upstream components.
  4. Install or extract the correct ReShade Addon DLL.
  5. Configure dgVoodoo2 when DirectX 9 translation is requested.
  6. Place the Feeder addon, shader, and ReShade headers.
  7. Place RenoDX and the architecture-appropriate NGX binaries.
  8. Place LumeniteFX and configure its motion-vector provider.
  9. Install the Vulkan fallback when requested and available.
  10. Mirror managed files into bin/ for layouts that require it.
  11. Apply Wine or Proton DLL overrides while recording their prior values.
  12. Atomically save dlss5-enabler.install.json and update the global index.

If a stage fails, recorded mutations are reversed and any previous managed installation snapshot is restored.

Local state

Platform Data and cache location
Windows %LOCALAPPDATA%\DLSS5 Enabler
Linux / SteamOS XDG data, cache, config, and state directories under dlss5-enabler
Per game dlss5-enabler.install.json beside the game executable

The log file is named dlss5-enabler.log.

Architecture

dlss5_enabler/
├── core/          Binary inspection, exact-case INI handling, records, atomic I/O
├── network/       HTTPS downloads, release discovery, cache validation
├── operations/    Transactional install and uninstall pipelines
├── platform/      Windows, Linux, Wine, Proton, and Steam discovery adapters
├── check.py       Unified quality runner
└── cli.py         Typer command-line interface

The Python import namespace uses an underscore (dlss5_enabler); the package and executable use a hyphen (dlss5-enabler).

Development

Install all dependencies and run the complete verification suite:

uv sync
uv run dlss5-enabler check

The unified check requires all of the following to pass with no warnings:

  • Ruff formatting
  • Ruff linting
  • Mypy strict type checking
  • Pyright strict type checking
  • Pytest

Upstream projects

DLSS5 Enabler is inspired by and builds on the work of:

Each downloaded component remains subject to its upstream license and terms.

License

DLSS5 Enabler itself is distributed under the MIT License.

Disclaimer

DLSS5 Enabler is an independent, unofficial community project. It is not an NVIDIA product, is not affiliated with NVIDIA Corporation, and is not sponsored, reviewed, approved, or endorsed by NVIDIA or any of the upstream projects named in this document. NVIDIA, DLSS, GeForce, and related names and marks belong to NVIDIA Corporation in the United States and other countries. Other names and marks belong to their respective owners.

The maintainer develops only the installer and orchestration code in this repository. The maintainer does not create, own, host, bundle, redistribute, audit, warrant, support, or maintain NVIDIA DLSS/NGX binaries or the third-party components installed by this tool. DLSS5 Enabler only discovers release information and directs downloads to the original upstream websites, repositories, manifests, or content servers at runtime. Availability, licensing, integrity, compatibility, behavior, and support for those downloads remain the responsibility of their respective providers.

Report problems with DLSS5 Enabler's installation, rollback, detection, or command-line behavior in this project's issue tracker. Report problems inside DLSS, DLSS5-Feeder, RenoDX, ReShade, LumeniteFX, dgVoodoo2, or another downloaded component to that component's own maintainer.

Use this tool at your own risk. Back up important game files and respect each game's modding, multiplayer, and anti-cheat policies. No guarantee is made that any particular game, driver, GPU, mod stack, or future upstream release will work.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlss5_enabler-1.0.0.tar.gz (155.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dlss5_enabler-1.0.0-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file dlss5_enabler-1.0.0.tar.gz.

File metadata

  • Download URL: dlss5_enabler-1.0.0.tar.gz
  • Upload date:
  • Size: 155.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dlss5_enabler-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a83e8feb8cefbbe3d5b06542d5c5b9e6a07045dcf8f8fc5e896e1ce751ffaf6a
MD5 f76c1ce6de58c02f896535a08cab9b47
BLAKE2b-256 937db3ea0a6ce59fae4cff56266b6dd6d4a9c3f16476212719da03c42e3c55b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlss5_enabler-1.0.0.tar.gz:

Publisher: publish.yml on al4xdev/dlss5-enabler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dlss5_enabler-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: dlss5_enabler-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 46.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dlss5_enabler-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1505e1c03d61ef2cbd8f61147c83709ddb58001e3bb692eda9c2c78ca74ddcf
MD5 84114ccce4d7d783e4528f6c6a242a74
BLAKE2b-256 fe23ec1e7b7f4fae44e850d8f5f51ceadd0d2af2ea292167148104bb9398b0ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlss5_enabler-1.0.0-py3-none-any.whl:

Publisher: publish.yml on al4xdev/dlss5-enabler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.2.1

2 files

1.2.0

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page