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)

Searching Database…

Что это?HelixSR заставляет нейросеть NVIDIA DLSS (Model E) работать на GPU AMD, реализуя её как обычные compute-шейдеры Direct3D 12: владельцы GPU AMD получают апскейл качества DLSS (включая режимы Ultra Performance и DLAA) без необходимости в железе или драйверах NVIDIA.
Это мод для каждой игры отдельно или системный патч драйвера?Это для каждой игры: установщик либо напрямую заменяет DLL FSR 3.1 игры, либо ставит официальный OptiScaler рядом с exe игры, перенаправляя его вызовы DLSS в HelixSR. Ничего не ставится на всю систему и не трогает драйвер GPU.
Как установить это на игру?Скачайте zip, распакуйте куда угодно, затем запустите helixsr-setup.bat (Windows) или ./helixsr-setup.sh (Linux/Steam Deck). Скрипт один раз скачивает DLL DLSS от NVIDIA, собирает из неё сеть HelixSR, затем перечисляет ваши Steam-игры и спрашивает Y/n для каждой, патчить ли.
Что нужно перед запуском установщика — Python или что-то ещё?На Windows установщик сам скачивает Python, numpy и компилятор шейдеров, права администратора не нужны; на Linux нужны Python 3 с numpy, и он может установить их, взять системные или подгрузить портативную копию для систем «только чтение» вроде SteamOS.
Работает ли с любой игрой, и делает ли генерацию кадров?Только игры на Direct3D 12 и только super resolution — собственной генерации кадров нет, но он работает вместе с генерацией кадров FSR игры или OptiScaler. Steam-игры определяются автоматически; всё остальное ставится вручную.
Он работает на Windows или только на Linux/Steam Deck?И там, и там — отдельные скрипты установки .bat и .sh даны для Windows и Linux/Proton, но авторы сами реально тестировали его только на чипе AMD BC-250; другие GPU AMD и Windows ими не проверялись.
Нужно ли интернет-соединение для использования?Да, как минимум при первом запуске: установщику нужно скачать официальный DLL DLSS от NVIDIA, чтобы собрать сеть HelixSR, после чего он может работать офлайн для каждой игры.
HelixSR — открытый код?Нет — сам HelixSR закрыт и распространяется как freeware по собственной лицензии; открытые лицензии только у скриптов установки (Apache 2.0) и сторонних компонентов вроде OptiScaler (GPLv3) и fakenvapi (MIT).
Какие GPU AMD он поддерживает?Любой GPU AMD RDNA 1 или новее. Старые GPU на Vega (Vega 56/64, Radeon VII, графика Vega в Ryzen APU) не поддерживаются, потому что у них нет поддержки wave32.
Насколько качество картинки HelixSR близко к настоящему NVIDIA DLSS?Он запускает настоящую сеть DLSS Model E от NVIDIA, а не переобученный клон, воспроизводя дрожание камеры, разрешения рендера и отсутствие шарпа у DLSS. Единственное реальное отличие — арифметика packed FP16, поэтому вывод близок к подлинному DLSS, но не совпадает с ним бит в бит.
Можно ли вместо HelixSR использовать родной FSR 4 от AMD?Да — в играх с установленным OptiScaler можно нажать Insert в игре и выбрать FSR 3.1.5 или FSR 4.x от AMD в меню апскейлера, либо положить свой FSR DLL в папку my-fsr, чтобы добавить его в этот список.
Что делать, если HelixSR не работает в моей игре или на моём GPU?Посмотрите в helixsr.log игры, почему не запускается шейдерная сеть, и перезапустите установщик, чтобы заново скачать DLL NVIDIA; если версия 1.7.0 у вас не работает, README советует откатиться на более старый HelixSR 1.4.3.
Size
0.1 MB
Stars
678
Age
14d
Commits · 90 Days