Skip to content

Releases: wilsjo2/OptiScaler-DLSSNR-PreSR-Multipass

Vulkan and NR experiments — v0.7.0 preview

Choose a tag to compare

@wilsjo2 wilsjo2 released this 07 Sep 16:04

Vulkan and NR experiments — v0.7.0 preview

Complete rebuilt package with game-neutral defaults. This is a pre-release, not a claim that
native Vulkan gameplay or RTX 40 MFG has been validated. v0.6.2 remains available for rollback.

Changes

  • Native Vulkan pre-SR, multipass, per-pass controls, active padded resolutions and post-RR handling.
  • Selected y4my4my4m v4 fixes: Vulkan/Proton GPU identification, resource lifetimes, output restoration,
    MFG capability/struct-version handling and Vulkan-menu FG interlocks. Attribution and exclusions
    are in docs/VULKAN-PARITY-REVIEW.md.
  • Optional extended 30-pass range and experimental built-in Ada MFG unlock, both off by default.
  • D3D12 deferred DLSS residual composition, half-rate residual FG/sample-and-hold, and latest-completed
    async NR experiments. These are off by default and are not native Vulkan features.
  • README now records Aphelion issue #3 as unresolved. No speculative HDR fix is included.

Updating

  1. Close the game. Back up the existing mod DLLs and OptiScaler.ini.
  2. Download OptiScaler-DLSSNR-v0.7.0-vulkan-preview.zip, not GitHub's source-code ZIP.
  3. Extract the complete package into the existing mod location and rerun setup_windows.bat with
    your previous proxy choice. Updating OptiScaler.dll alone does not update an installed dxgi.dll.
  4. Restore your saved INI to retain settings, or use the new INI for a clean baseline. Saved experimental
    settings remain enabled if you restore them; new-package defaults do not override your old INI.
  5. Keep separately obtained NVIDIA runtimes. Do not combine built-in and external MFG unlockers.

For native Vulkan, disable DeferredDLSS/AsyncLatest/ResidualFG and select Apply before Super Resolution.
See docs/VULKAN-PARITY-REVIEW.md for full setup and INSTALL-DLSSNR.md for a new installation.

No NVIDIA NR, SR, RR, FG or Streamline DLLs are bundled. The official dependency downloader and
licence guidance remain included. No installed game is modified by downloading this package.

Checks and limitations

Release x64 build; production Vulkan shader on RTX 5090 at odd/padded dimensions; existing D3D shader,
active-region, NVIDIA SR and offscreen FG tests passed during development. Native Vulkan gameplay,
RR integration, RTX 40 MFG and Proton still need live validation. Tests do not establish regression-free
FPS or presentation pacing. Known compiler/linker warnings remain. Keep antivirus enabled.

SHA256SUMS.txt verifies files inside the package; ASSET-SHA256SUMS.txt verifies the download.

Swapchain fixes — v0.6.2

Choose a tag to compare

@wilsjo2 wilsjo2 released this 07 Sep 00:05

Swapchain fixes — v0.6.2

Rebuilt complete package from runtime commit 7492b0c4, including both parts of
janblade's PR #2.

  • Fixes window-sized (0x0) swapchains being mistaken for tiny overlay/helper windows. Includes the
    matching legacy DLSSG sizing path and better diagnostic logging.
  • Adds the reviewed DirectComposition hook, with corrected pass-through calls, preserved composition
    settings and a current-process-only fallback for selecting the menu/input window.
  • Retains v0.6.1's padded pre-SR fix and earlier per-pass, skin/environment and FG compatibility work.

Updating

  1. Close the game and back up your current mod files and OptiScaler.ini.
  2. Download OptiScaler-DLSSNR-v0.6.2-swapchain-fixes.zip, not GitHub's source-code ZIP.
  3. Extract the complete package into the same game folder and rerun setup_windows.bat with the same
    proxy choice as before. This updates the installed proxy DLL, not just OptiScaler.dll.
  4. Restore your backed-up INI if you want to retain your settings. Keep your separately obtained NVIDIA
    runtime files. Follow INSTALL-DLSSNR.md for a new installation.

No NVIDIA NR/FG runtime DLLs or RTX 40 unlocker binaries are bundled. The pinned official FG downloader
and instructions are included. Historical releases remain unchanged.

Checks and limits

x64 Release build and hidden-window/D3D11 WARP sizing and native DirectComposition create/attach/resize
tests passed. Existing compiler/linker warnings remain. The composition test exercises the native API
contract, not injection of this DLL. NBA 2K26, wrapped composition attachment and FG integration have
not been independently game-tested. Composition HWND selection remains best-effort for multi-window
applications; the hook does not add composition-specific FG replacement.

The package remains experimental. See the review
for scope and limitations. SHA256SUMS.txt checks package contents; the accompanying
ASSET-SHA256SUMS.txt checks the ZIP download. Keep antivirus enabled.

Padded DLSS input fix — v0.6.1

Choose a tag to compare

@wilsjo2 wilsjo2 released this 06 Sep 23:49

Padded DLSS input fix — v0.6.1

Complete OptiScaler package built from runtime commit bab959eb. Packaging documentation is updated
for this release. Promoted from preview without changing the binaries. The NR integration remains
experimental; this is not a verified Dawnwalker-specific fix.

What changed

  • NR can stay before DLSS Super Resolution when an origin-zero active image is smaller than its
    colour texture allocation. For example, 2558x1439 inside 2560x1440 no longer automatically sends
    NR to the post-upscale 4K path. This is not a whitelist of specific resolutions.
  • Only the active image is copied in/out; padding is preserved. This also handles game colour
    textures without UAV support. Model resolution still follows the active size and WorkingScale.
  • Includes the earlier per-pass controls, optional skin/environment controls, external FG-owner
    mode and candidate Onimusha state-restoration fix. See the included compatibility documents.
  • Includes the pinned Streamline/FG downloader, official sources and installation instructions.
    No NVIDIA NR or FG runtime DLLs, or RTX 40 unlocker binaries, are bundled.

Update an existing installation

  1. Close the game and launcher. Back up the current OptiScaler files and INI.
  2. Extract the entire ZIP into a temporary folder first. Follow INSTALL-DLSSNR.md to update the
    installed files while preserving your configuration, separately supplied NR runtime and other mods.
  3. Replace the DLL the game actually loads. If OptiScaler was installed as dxgi.dll, for example,
    use this package's OptiScaler.dll to replace that OptiScaler-owned proxy. Merely adding an unused
    OptiScaler.dll beside an old proxy will not update the running mod. Do not overwrite a proxy
    owned by ReShade, another mod or the game.
  4. Keep the package's backend directories and forwarder together. New features remain off by default;
    preserve/merge existing INI settings rather than blindly replacing a working configuration.
  5. Enable Apply before Super Resolution, start with one NR pass and 100% model resolution, with
    FG/RR off. Switch DLSS modes and inspect OptiScaler.log for the active/target/model dimensions.

Non-zero colour offsets and invalid layouts still fall back after SR. RR still uses the separate
post-RR path. Frequent dynamic-resolution changes can cause model rebuilding overhead.

Checks and limits

Release x64 DLL and forwarder built successfully. Headless D3D12 WARP tests verified every copied
pixel and preserved padding for 2558x1439, 2227x1253 and exact 1920x1080 inputs, including no-UAV and
simulated failure cases. Existing skin shader tests passed. The system D3D12 debug layer was unavailable.
Existing compiler/linker warnings remain. Dawnwalker, 1507x847 model evaluation and NVIDIA's acceptance
of these exact odd-sized model inputs still require in-game confirmation.

The release includes SHA256SUMS.txt for its contents. ASSET-SHA256SUMS.txt beside the download
contains the ZIP checksum. Verify your download and keep antivirus enabled.

Download the named OptiScaler-DLSSNR-v0.6.1-padded-presr.zip asset, not GitHub's source-code ZIP.

Independent per-pass model controls preview

Choose a tag to compare

Reorganizes Neural Rendering into collapsible Pass 1, Pass 2 and Pass 3 sections, each with Style, Intensity, Local structure, Local tone, Skin structure and Auto skin mask.

Later-pass strengths are now used at both model creation and evaluation, and participate in feature rebuild detection. Previously these passes reused pass 1's strengths and hardcoded local tone to zero. Editing inactive passes does not rebuild active features. Sliders commit on release and use separate ImGui IDs for each pass.

Existing settings are preserved: unset later-pass strengths inherit pass 1 except Local tone, which defaults to zero. Reset on a later-pass control clears its override. Matching Pass2/Pass3 INI keys are documented in INSTALL-DLSSNR.md. The new controls also apply to NR after native RR; native Vulkan and the driver-proxy backend remain single-pass.

Preset hints are retained in a collapsed Advanced preset hints (effect unverified) section. Source inspection confirms the hint is passed to NVIDIA at feature creation, but does not establish that the runtime uses it to change the image. Style remains the main profile selector.

Includes the native RR controls from 0.4.0. Build-tested on Release x64; all 22 packaged-file checksums passed; new settings verified present in the compiled DLL; Microsoft Defender found no threats. In-game visual/runtime validation is pending. Existing compiler/linker warnings remain.

ZIP SHA-256: E2B03C820E5F998D715A141B02C026F246178C9A50A2BC94EC81C8D7BCE3983B

NVIDIA's proprietary runtime is not included. Use the GPU-appropriate runtime described in INSTALL-DLSSNR.md.

Native Ray Reconstruction controls preview

Choose a tag to compare

@wilsjo2 wilsjo2 released this 06 Sep 04:35

Adds independent Neural Rendering controls for games with native Ray Reconstruction on D3D12 and its bridges.

  • NR after RR is now opt-in using ApplyAfterRR in [DlssNr] or the overlay checkbox.
  • RRPasses=1..3 and RRWorkingScale=0.25..2.0 are independent of ordinary SR settings. Defaults are one pass and 0.5 scale (1920x1080 model work for 3840x2160 RR output).
  • RR denoises and upscales first; NR processes its output before frame generation. The game's noisy RR inputs remain untouched.
  • Switching between SR and RR rebuilds NR features/history even when the dimensions match. Existing game-reset handling is retained.
  • Logs explicitly identify NR after Ray Reconstruction. Installer/docs warn about Cyberpunk's reported d3d12.dll/Streamline conflict.

Enable native RR in the game, then use:

[DlssNr]
Enabled=true
ApplyAfterRR=true
RRPasses=1
RRWorkingScale=0.5

This does not add RR to games without an RR integration. Native Vulkan retains its upstream behavior; these new controls apply to the D3D12 path. Per-pass preset/style controls remain shared with SR.

Validation: Release x64 build succeeded (existing compiler/linker warnings remain); all 22 packaged-file checksums verified; compiled binary contains the new controls; Microsoft Defender found no threats. In-game visual quality, RR toggling and frame-generation timing remain unvalidated. This preview does not claim to fix every RR initialization failure or the reported GPU-fence timeouts.

ZIP SHA-256: 8A940F313CED816052329688E6F3A2DA981058654884EBEFA36615233E4AF27E

The proprietary NVIDIA/ShortFuse runtime is not included. Follow INSTALL-DLSSNR.md for the correct GPU runtime and installation steps. Existing 0.3.0 remains the latest non-preview release.

Portable cross-generation DLSS-NR v0.3.0

Choose a tag to compare

@wilsjo2 wilsjo2 released this 06 Sep 00:55

Portable cross-generation DLSS-NR package

This release supersedes the earlier BG3 and general test archives, which did not contain everything needed for a clean installation.

Fixed

  • Ships the complete OptiScaler dependency layout, installer, INI, licenses, forwarder, and documentation.
  • Uses the game-neutral TargetProcessName=auto; an INI copied from the original BG3 test can no longer silently put another game into pass-through mode.
  • Documents and detects the pinned ShortFuse compatibility runtime used by RTX 20, 30, and 40-series GPUs.
  • Distinguishes that runtime from the original RTX 50-series NVIDIA 310.8 runtime by SHA-256.
  • Enables diagnostic logging in the portable INI so failed injection is visible.
  • Includes SHA256SUMS.txt for every shipped file.
  • Corrects the BG3 validation notes: that test ran through bg3_dx11.exe and OptiScaler's D3D11-to-D3D12 bridge.

Important

NVIDIA's proprietary nvngx_dlssnr.dll is not included. Supply the GPU-appropriate runtime separately and follow the README or INSTALL-DLSSNR.md exactly. RTX 20/30/40 users need the cross-generation runtime whose SHA-256 is:

E67DEE209320CDAFE0E93E45675D7AA34323A53ACC57A72B2E40A181581C989A

RTX 50 users can use the original NVIDIA-signed 310.8 runtime whose SHA-256 is:

E16BCF15E16E13F527491CDF7845B2FE6521A738D8F7C9C721866A8496E1FC8E

Driver 616.56 or newer is required. This remains experimental and game compatibility depends on a usable OptiScaler D3D12 path and valid upscaler resources.

Verification

  • Release archive SHA-256: 9F2E6CCA0607B664F0856D621839E7884F3BC5845DBDE7642C1E220BE45EA48B
  • Clean extraction: 22/22 shipped-file checksums passed.
  • Installer smoke test: the cross-generation runtime was recognized and a valid dxgi.dll layout was created.
  • Microsoft Defender scan at packaging time: no threats found.

No malware scanner can prove an arbitrary binary is safe. Keep protection enabled, verify hashes, and obtain the modified runtime only from ShortFuse's pinned RenoDX thread linked in the documentation.

Nightly Builds

Nightly Builds Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Sep 08:36

Changes in the Last 24 Hours

6cdb5f7 Document rebuilt v0.6.2 swapchain fixes release (wilsjo2)
3e83edf Track v0.6.1 preview release notes (wilsjo2)
14beae5 Publish padded-input preview download and upgrade instructions (wilsjo2)
bab959e Keep padded origin-zero DLSS inputs on the pre-SR NR path (wilsjo2)
d41b5d8 Document official FG downloads and publish without NVIDIA runtime binaries (wilsjo2)
76ebf3e Package optional signed NVIDIA Streamline and DLSS FG dependencies (wilsjo2)
a60f3c9 NR skin controls, external MFG compatibility and Onimusha state fixes (wilsjo2)

[SUPERSEDED] General pre-SR multipass — facc24f6

Choose a tag to compare

Caution

Superseded: this test archive omitted the installer and full backend dependency layout, so it is not suitable for a clean installation. Use the portable cross-generation release instead. It also contains the RTX 20/30/40 runtime instructions and hash checks.

OptiScaler DLSS-NR pre-SR multipass — general experimental package

Source: https://github.com/wilsjo2/OptiScaler-DLSSNR-PreSR-Multipass

Build commit: facc24f61899d68f9271e4f36f375d1186bbbb00

This package is not specific to Baldur's Gate 3. It contains no game executable names, offsets, or game-specific shaders. It is intended for 64-bit games whose DLSS Super Resolution call reaches OptiScaler's Direct3D 12 path, including the project's Direct3D 11/Vulkan-to-DX12 bridges.

What this fork adds

  • Optional Neural Rendering at the DLSS input resolution before Super Resolution.
  • One to three sequential Neural Rendering passes with separate persistent histories.
  • Per-pass built-in model preset and style selection for passes 2 and 3.
  • Automatic post-SR fallback for Ray Reconstruction and unsafe padded/offset input subrects.
  • Overlay controls and matching [DlssNr] INI settings.

The upstream fork already supplied experimental access to NVIDIA's Neural Rendering feature. This fork changes its placement, scheduling, multipass data flow, and configuration.

Installation outline

  1. Close the game and back up any existing proxy DLL and OptiScaler.ini.
  2. Copy OptiScaler.dll, nvngx.dll_dlssnr.dll, and OptiScaler.ini beside the game's executable.
  3. Rename OptiScaler.dll to a proxy name supported by that game and OptiScaler. Follow the upstream OptiScaler installation guidance; loader choice is game-specific. For example, the validated installations used dxgi.dll in BG3/Hogwarts and dbghelp.dll in Cyberpunk because of its existing mod loaders.
  4. Place a legitimate NVIDIA-driver nvngx_dlssnr.dll beside the game or OptiScaler. It is proprietary and is not included here.
  5. Enable the feature in OptiScaler.ini or the in-game OptiScaler overlay (Insert).

Start conservatively:

[DlssNr]
Enabled=true
RunBeforeSR=true
Passes=1
WorkingScale=1.0

Then enable mixed pass profiles if wanted:

Passes=3

; Pass 1
Preset=0
Style=0

; Pass 2: preset 1, Natural style
Pass2Preset=1
Pass2Style=1

; Pass 3: preset 2, Cinematic style
Pass3Preset=2
Pass3Style=2

Pass2* and Pass3* use auto to inherit pass 1. Presets are 0–3. Styles are 0 standard, 1 natural, and 2 cinematic. These are profiles within the same NVIDIA model DLL; this build does not load different model files between passes.

Compatibility limits

  • Validated on an RTX 5090 with driver 616.64 in BG3, Hogwarts Legacy, and Cyberpunk 2077. Other games and hardware remain unverified.
  • Pre-SR and multipass currently apply to the DX12 implementation and its DX11/Vulkan bridges. Native Vulkan retains the upstream post-SR implementation.
  • Ray Reconstruction deliberately stays post-SR.
  • Games must provide valid colour, depth, motion vectors, render dimensions, and command-submission ordering through their upscaler integration.
  • Multiple swapchains, unusual loaders, anti-cheat, or another proxy DLL can require per-game workarounds. Do not use injection mods in protected multiplayer games unless the game's policy explicitly permits them.
  • Pass cost is approximately linear. Begin with one pass; increase only after confirming stability.

This is experimental, unsupported software. The custom binaries are unsigned. Verify SHA256SUMS.txt, retain security protection, and scan the extracted files before use.

[SUPERSEDED] BG3 pre-SR multipass — e16d5866

Choose a tag to compare

Caution

Superseded: this exact BG3 test artifact is not portable. Its process filter names bg3_dx11.exe, its dependency layout is incomplete for a clean install, and the old DX12 launch instruction is incorrect. Use the portable cross-generation release instead.

OptiScaler DLSS-NR pre-SR multipass — Baldur's Gate 3 package

This is the exact OptiScaler binary and configuration validated in Baldur's Gate 3 on 5 September 2026. It ran two NVIDIA DLSS Neural Rendering evaluations at the game's 1920x1080 DLSS Performance input, then passed that result into DLSS Super Resolution for a 3840x2160 output.

Source: https://github.com/wilsjo2/OptiScaler-DLSSNR-PreSR-Multipass

Public source commit 926cee08936ede0a194b0534559a309279bf64d9 has the same Git tree (0ea1545c6a2078e710b83ce2ee8291c7c8ceeb7a) as the locally built/deployed commit e16d586605577342452a58b3f383a70c7fb69866. Only the public commit author metadata was rewritten to a GitHub noreply address.

Included

  • dxgi.dll — the exact custom OptiScaler proxy deployed in BG3.
  • nvngx.dll_dlssnr.dll — the small open-source forwarding shim built from this repository.
  • OptiScaler.ini — the exact validated BG3 configuration.
  • SHA256SUMS.txt and the GPLv3 LICENSE.

NVIDIA's proprietary nvngx_dlssnr.dll model/runtime is deliberately not redistributed. Obtain it from a legitimate NVIDIA driver installation and place it beside these files. The game's own nvngx_dlss.dll is also not included.

Installation

  1. Close Baldur's Gate 3 and its launcher.
  2. Back up any existing dxgi.dll, OptiScaler.ini, and nvngx.dll_dlssnr.dll in the game's bin directory.
  3. Extract this archive into Baldurs Gate 3\bin.
  4. Place a legitimate NVIDIA-driver nvngx_dlssnr.dll beside the extracted files.
  5. Launch the DX12 version of the game.
  6. At a 3840x2160 output, choose DLSS Performance for a 1920x1080 input. Disable Ray Reconstruction if you specifically want Neural Rendering before Super Resolution.

The included configuration enables:

[DlssNr]
Enabled=true
RunBeforeSR=true
Passes=2
WorkingScale=1.0

Passes is live-configurable from 1 through 3 in the OptiScaler overlay or INI. The guarded maximum is intentional: each pass owns persistent model history and adds roughly another model evaluation's GPU cost.

Important limitations

  • Experimental and unsupported by NVIDIA, Larian, or the main OptiScaler project.
  • Validated only on an RTX 5090 with NVIDIA driver 616.64 and BG3 at 3840x2160 output.
  • Ray Reconstruction automatically keeps Neural Rendering after SR because it owns the reconstruction path.
  • The custom proxy and forwarding shim are unsigned community builds. Verify SHA256SUMS.txt and scan the extracted files with your security software.
  • Do not overwrite an unrelated dxgi.dll without first identifying and backing up the mod that installed it.