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)实现为纯 Direct3D 12 计算着色器,使其能在 AMD GPU 上运行,让 AMD GPU 用户无需 NVIDIA 硬件或驱动即可获得 DLSS 级别的超分辨率(包括 Ultra Performance 和 DLAA 模式)。
这是要按游戏逐个安装的游戏模组,还是系统级的驱动补丁?它是按游戏安装的:安装程序要么直接替换游戏的 FSR 3.1 DLL,要么在游戏 exe 旁边安装官方 OptiScaler,把游戏的 DLSS 调用重定向到 HelixSR。不会在系统层面安装任何东西,也不会碰你的 GPU 驱动。
怎么把它装到某个游戏上?下载 zip,解压到任意位置,然后运行 helixsr-setup.bat(Windows)或 ./helixsr-setup.sh(Linux/Steam Deck)。它会一次性下载 NVIDIA 的 DLSS DLL 并据此构建 HelixSR 的网络,然后列出你的 Steam 游戏,逐个询问 Y/n 是否打补丁。
运行安装程序之前需要什么——Python 还是别的?在 Windows 上,安装程序会自行下载 Python、numpy 和着色器编译器,无需管理员权限;在 Linux 上需要带 numpy 的 Python 3,可以自行安装、使用系统版本,或为 SteamOS 这类只读系统获取便携副本。
它适用于任何游戏吗?也支持帧生成吗?仅支持 Direct3D 12 游戏,且只有超分辨率——它自身没有帧生成功能,但可以配合游戏或 OptiScaler 的 FSR 帧生成一起使用。Steam 游戏会自动检测;其他游戏需要手动安装。
它在 Windows 上能运行吗,还是只有 Linux/Steam Deck?都能——为 Windows 和 Linux/Proton 分别提供了 .bat 和 .sh 安装脚本,但作者本人实际只在 AMD BC-250 芯片上测试过;其他 AMD GPU 和 Windows 未经他们测试。
使用它需要联网吗?需要,至少首次运行时需要:安装程序必须先下载 NVIDIA 官方 DLSS DLL 来构建 HelixSR 的网络,之后才能逐游戏离线工作。
HelixSR 是开源的吗?不是——HelixSR 本身是采用自定义许可证的闭源免费软件;只有安装脚本(Apache 2.0)以及捆绑的 OptiScaler(GPLv3)、fakenvapi(MIT)等第三方组件采用开放许可。
它支持哪些 AMD GPU?任何 AMD RDNA 1 或更新的 GPU。较旧的基于 Vega 的 GPU(Vega 56/64、Radeon VII、Ryzen APU 中的 Vega 显卡)不受支持,因为它们缺少 wave32 支持。
HelixSR 的画质与真正的 NVIDIA DLSS 有多接近?它运行的是 NVIDIA 真正的 DLSS Model E 网络,而不是重新训练的仿制品,并复现了 DLSS 的相机抖动、渲染分辨率以及不做锐化的特点。唯一真正的区别是使用了打包 FP16 运算,因此输出接近但不完全等同于真正的 DLSS。
我还能改用 AMD 自己的 FSR 4 来代替 HelixSR 吗?可以——在安装了 OptiScaler 的游戏中,你可以在游戏内按 Insert,从超分辨率菜单中选择 AMD 的 FSR 3.1.5 或 FSR 4.x,也可以把自定义 FSR DLL 放进 my-fsr 文件夹,把它加入该列表。
如果 HelixSR 在我的游戏或 GPU 上不管用怎么办?查看游戏的 helixsr.log,弄清着色器网络没有运行的原因,并重新运行安装程序以再次下载 NVIDIA 的 DLL;如果 1.7.0 版本对你无效,README 建议回退到较旧的 HelixSR 1.4.3。
Size
0.1 MB
Stars
704
Age
15d
Commits · 90 Days