DLSS shim: one-command build + install script for users (option B, user-supplied NVIDIA SDK) #967

Closed
opened 2026-10-23 08:02:06 +00:00 by sky_line · 1 comment
Owner

Follow-up to #870 / #962. The shim (contrib/ngxshim, MIT) statically links NVIDIA's NGX loader from the SDK, so we cannot ship built shims; users build it from their own clone of the NVIDIA DLSS SDK (option B). Make that nearly effortless.

Wanted

  • contrib/ngxshim/build.sh /path/to/DLSS [OUTPUT_DIR] (Linux) and a Windows equivalent (build.ps1 / build.bat, MSVC or clang-cl, whatever the README already documents):
    • checks prerequisites (cmake, a compiler, Vulkan headers; the SDK path has include/nvsdk_ngx_vk.h and the platform's NGX lib) with clear messages;
    • configures + builds the shim in a temp build dir (release);
    • copies libslipstream_ngx.so / slipstream_ngx.dll and the user's own runtime libraries from their SDK clone (libnvidia-ngx-dlss.so.* + libnvidia-ngx-dlssd.so.* / nvngx_dlss.dll + nvngx_dlssd.dll, from the SDK's rel folder) into the output folder (default: a dlss folder in the viewer's data dir, e.g. ~/.slipstreamviewer/dlss, %APPDATA%\SlipstreamViewer\dlss);
    • installs with temp file + rename (never overwrites a library a running viewer has loaded in place);
    • prints the exact RenderVKDlssShimPath value to set (or sets a default the viewer also looks in, see below).
  • Viewer: if RenderVKDlssShimPath is empty, also look in that default dlss folder, so after running the script DLSS just shows up in the upscaler list.
  • Never in CI, never shipped: the scripts only run on the user's machine against their own SDK clone (option B rules: no NVIDIA SDK files, headers or binaries in the repo or our builds).
  • Flatpak: document the path the sandboxed viewer can see (or skip Flatpak with a clear message).
  • Wiki page dlss-rr updated to: clone the SDK, run one command, restart.

Test

  • Fresh Linux box with the SDK cloned: build.sh ~/DLSS builds, installs, prints the setting; the viewer finds DLSS without setting the path.
  • Running the script while the viewer is open does not crash it (temp + rename).
  • Missing SDK / wrong path / no compiler: clear error, nothing half-installed.
Follow-up to #870 / #962. The shim (`contrib/ngxshim`, MIT) statically links NVIDIA's NGX loader from the SDK, so we cannot ship built shims; users build it from their own clone of the NVIDIA DLSS SDK (option B). Make that nearly effortless. ## Wanted - `contrib/ngxshim/build.sh /path/to/DLSS [OUTPUT_DIR]` (Linux) and a Windows equivalent (`build.ps1` / `build.bat`, MSVC or clang-cl, whatever the README already documents): - checks prerequisites (cmake, a compiler, Vulkan headers; the SDK path has `include/nvsdk_ngx_vk.h` and the platform's NGX lib) with clear messages; - configures + builds the shim in a temp build dir (release); - copies `libslipstream_ngx.so` / `slipstream_ngx.dll` and the user's own runtime libraries from their SDK clone (`libnvidia-ngx-dlss.so.*` + `libnvidia-ngx-dlssd.so.*` / `nvngx_dlss.dll` + `nvngx_dlssd.dll`, from the SDK's `rel` folder) into the output folder (default: a `dlss` folder in the viewer's data dir, e.g. `~/.slipstreamviewer/dlss`, `%APPDATA%\SlipstreamViewer\dlss`); - installs with temp file + rename (never overwrites a library a running viewer has loaded in place); - prints the exact `RenderVKDlssShimPath` value to set (or sets a default the viewer also looks in, see below). - Viewer: if `RenderVKDlssShimPath` is empty, also look in that default `dlss` folder, so after running the script DLSS just shows up in the upscaler list. - Never in CI, never shipped: the scripts only run on the user's machine against their own SDK clone (option B rules: no NVIDIA SDK files, headers or binaries in the repo or our builds). - Flatpak: document the path the sandboxed viewer can see (or skip Flatpak with a clear message). - Wiki page `dlss-rr` updated to: clone the SDK, run one command, restart. ## Test - Fresh Linux box with the SDK cloned: `build.sh ~/DLSS` builds, installs, prints the setting; the viewer finds DLSS without setting the path. - Running the script while the viewer is open does not crash it (temp + rename). - Missing SDK / wrong path / no compiler: clear error, nothing half-installed.
sky_line added this to the Slipstream project 2026-10-23 08:02:06 +00:00
Author
Owner

Fixed in 1.5.0 Beta 1 (7681534027). Reopen if you still see it.

Fixed in 1.5.0 Beta 1 (7681534027). Reopen if you still see it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#967
No description provided.