HelixSR README

The project's README from github.com/lonewolf0622/HelixSR. As one markdown file: README.md.

HelixSR

NVIDIA's DLSS Model E neural upscaler for AMD GPUs.

HelixSR runs NVIDIA's DLSS Model E network as standard Direct3D 12 compute shaders, without NVIDIA Tensor Cores, an NVIDIA driver, CUDA, or ROCm. It behaves like DLSS: no sharpening, every quality mode from native (DLAA) to Ultra Performance, dynamic resolution.

The goal is to help gamers get better image quality from the hardware they already own, particularly older and lower-end GPUs.

HelixSR is an independent, unofficial project and is not affiliated with or endorsed by NVIDIA, AMD or the OptiScaler project.

Version 1.7.0. For AMD RDNA 1 and newer GPUs, on Linux (Proton) and Windows. Developed and tested on the AMD BC-250 (gfx1013, Linux, Mesa RADV); other GPUs and Windows are not tested by us.

If 1.7.0 does not work for you, use HelixSR 1.4.3 (and please open an issue with helixsr.log).

Install

  1. Download HelixSR-1.7.0.zip and extract it into a folder you keep (for example C:\HelixSR or your home folder).
  2. Run the setup in that folder:
    • Windows: double-click helixsr-setup.bat
    • Linux / Steam Deck: ./helixsr-setup.sh (in a terminal, or double-click and choose Run in terminal)
  3. The first time, it asks to download NVIDIA's DLSS DLL (press Enter) and builds HelixSR's network from it (about a minute).
  4. It then lists your Steam games and asks for each one: install HelixSR? [Y/n]. Close your games first.
  5. Start the game and select the upscaler the setup told you: DLSS for games that have DLSS, AMD FSR for games that only have FSR.

No launch options, no settings files.

Update: run the setup again. For games that have HelixSR it asks Update it? [Y/n, r = remove].

Uninstall: run helixsr-uninstall.bat (Windows) or ./helixsr-uninstall.sh (Linux). It removes HelixSR from the games you pick and puts back every file as it was; at the end it can also delete the built network files and the setup's downloads. A game you added by hand: drop its folder onto the uninstaller (Windows) or pass it (./helixsr-uninstall.sh /path/to/game).

How HelixSR gets into a game

The setup picks one of two ways per game:

The game has What the setup does Select in the game
DLSS (or XeSS / FSR 2) Installs the official OptiScaler 0.9.4 next to the game's .exe and points its FSR 3.1 backend at HelixSR (a HelixSR folder next to it). The game's DLSS inputs reach HelixSR. DLSS
only FSR 3.1 Replaces the game's FSR 3.1 DLL with HelixSR, as in 1.4.3; the game's file is kept as *.original.dll. No OptiScaler. AMD FSR

Everything the setup replaces is kept: in the game's HelixSR\backup folder (OptiScaler way) or as *.original.dll.

A game that is not listed (not from Steam, or not detected): see manual-install\README.txt, which the setup creates. It has the files and steps for both ways.

Updating HelixSR: extract the new version into a new folder, run its setup and answer yes to update your games.

Switching between HelixSR and AMD FSR / FSR 4

In games installed the OptiScaler way (games with DLSS):

  1. In the game, press Insert to open OptiScaler's menu.
  2. Upscaling tab → Upscalers → FFX Upscaler list.
  3. Pick FSR HelixSR (3.1.5) for HelixSR (the default), or AMD's FSR 3.1.5 / FSR 4.x. It switches right away.

FSR 4 is in that list only on GPUs AMD's DLL supports it on, or with your own FSR 4 DLL (below).

Games installed the direct way (FSR only) have no menu: HelixSR always runs there. To use the game's own FSR again, run the setup and remove HelixSR (r).

Your own FSR DLL (for example FSR 4):

Either way it is listed in the FFX Upscaler list by its version (for example FSR 4.1.1), next to HelixSR.

Troubleshooting

Setup details

How it works

This is NVIDIA's network running on different hardware, not a newly trained model. HelixSR answers the game exactly as DLSS would: DLSS's camera jitter (8 × scale² Halton positions), DLSS's render sizes per quality mode, no sharpening (a game's FSR sharpening request is not applied), reactive masks ignored. In Ultra Performance the network outputs twice the render size and a final pass scales that to the screen (less shimmer, about 30% faster). Packed FP16 arithmetic makes the output close to, but not bit-identical with, NVIDIA's DLSS.

Performance

GPU time per upscaled frame on the BC-250 at 2000 MHz:

Output Mode GPU time
1920x1080 Quality (1280x720) 1.13 ms
1920x1080 Ultra Performance (640x360) 0.75 ms
2560x1440 Quality (1707x960) 1.73 ms
2560x1440 Ultra Performance (853x480) 1.15 ms
3840x2160 Performance (1920x1080) 3.50 ms
3840x2160 Ultra Performance (1280x720) 2.16 ms

Upscaling-pass timings, not total game frame times.

Limitations

HelixSR is free to use under the HelixSR Freeware License (LICENSE); its source code is not published. The setup scripts (helixsr-setup.*, helixsr-uninstall.* and the setup folder) are licensed under the Apache License 2.0 (LICENSE-APACHE-2.0). The optiscaler folder holds the official, unmodified OptiScaler 0.9.4 (GNU GPL 3.0) and fakenvapi (MIT); the amd-fsr folder holds AMD's FidelityFX upscaler and frame generation DLLs 4.1.1 under AMD's license (amd-fsr/FidelityFX_v2_LICENSE.md); see SOURCE.md. HelixSR contains a small amount of AMD FidelityFX material under the MIT license; see THIRD_PARTY_NOTICES.md.

DLSS and associated NVIDIA technologies are trademarks and intellectual property of NVIDIA Corporation. The HelixSR download contains none of NVIDIA's weights or code: the setup downloads NVIDIA's DLSS DLL from NVIDIA's own GitHub (under NVIDIA's license, after asking you) or uses a copy you already have, and builds the network from it on your PC. That network remains NVIDIA's property and is not covered by any license in this download; do not redistribute the network files.

HelixSR (lonewolf0622/HelixSR)

directx12
Searching Database…

What is this?HelixSR makes NVIDIA's DLSS neural network (Model E) run on AMD GPUs by implementing it as plain Direct3D 12 compute shaders, giving AMD GPU owners DLSS-quality upscaling (including Ultra Performance and DLAA modes) without needing NVIDIA hardware or drivers.
Is this a game mod I install per title, or a system-wide driver patch?It is per-game: the setup either replaces a game's FSR 3.1 DLL directly, or installs the official OptiScaler next to the game's exe to redirect its DLSS calls to HelixSR. Nothing is installed system-wide or touches your GPU driver.
How do I install it on a game?Download the zip, extract it anywhere, then run helixsr-setup.bat (Windows) or ./helixsr-setup.sh (Linux/Steam Deck). It downloads NVIDIA's DLSS DLL once, builds HelixSR's network from it, then lists your Steam games and asks Y/n for each one to patch.
What do I need before running the setup — Python or anything else?On Windows the setup downloads Python, numpy and the shader compiler itself with no admin rights needed; on Linux it needs Python 3 with numpy and can install them, use the system's, or fetch a portable copy for read-only systems like SteamOS.
Does it work with any game, and does it also do frame generation?Only Direct3D 12 games, and only super resolution — it has no frame generation of its own, though it works alongside the game's or OptiScaler's FSR frame generation. Steam games are detected automatically; everything else needs manual install.
Does it run on Windows, or only Linux/Steam Deck?Both — separate .bat and .sh setup scripts are provided for Windows and Linux/Proton, but the authors have only actually tested it themselves on the AMD BC-250 chip; other AMD GPUs and Windows are untested by them.
Do I need an internet connection to use it?Yes, at least on first run: the setup needs to download NVIDIA's official DLSS DLL to build HelixSR's network before it can work offline per-game afterward.
Is HelixSR open source?No — HelixSR itself is closed-source freeware under a custom license; only the setup scripts (Apache 2.0) and bundled third-party pieces like OptiScaler (GPLv3) and fakenvapi (MIT) have open licenses.
Which AMD GPUs does it support?Any AMD RDNA 1 or newer GPU. Older Vega-based GPUs (Vega 56/64, Radeon VII, Vega graphics in Ryzen APUs) are not supported because they lack wave32 support.
How close is HelixSR's image quality to real NVIDIA DLSS?It runs NVIDIA's actual DLSS Model E network rather than a retrained clone, replicating DLSS's camera jitter, render resolutions and lack of sharpening. The only real difference is packed FP16 arithmetic, so output is close to but not bit-identical with genuine DLSS.
Can I still use AMD's own FSR 4 instead of HelixSR?Yes — in OptiScaler-installed games you can press Insert in-game and pick AMD's FSR 3.1.5 or FSR 4.x from the upscaler menu, or drop a custom FSR DLL into the my-fsr folder to add it to that list.
What if HelixSR doesn't work on my game or GPU?Check the game's helixsr.log for why the shader network isn't running and re-run the setup to redownload NVIDIA's DLL; if version 1.7.0 fails for you, the README suggests falling back to the older HelixSR 1.4.3.
Size
0.1 MB
Stars
653
Age
13d
Commits · 90 Days