Skip to content

DLSSTweaks 0.200.6

Compare
Choose a tag to compare
@emoose emoose released this 12 Apr 08:12
· 62 commits to master since this release

Wrapper DLL that can force DLAA onto DLSS-supported titles, along with tweaking scaling ratios & DLSS 3.1 presets.

Most titles that support DLSS2+ should hopefully work fine with this, but if you find any that don't, or have any other issues, feel free to post in the issue tracker.

DLSS 3.1+ is required for DLSSPresets overrides to be applied, but DLAA forcing / scaling ratio tweaks should work fine across 2.x versions too - DLSS framegen is unaffected by this DLL.

This has been tested with Nvidia driver series 528 & 531 - earlier driver versions may have issues, recommend updating if DLSSTweaks doesn't seem to apply to any games for you.

Many hours have gone into developing/testing/researching, along with debugging issues with different games.
If the tweaks have helped improve your experience, please consider buying a coffee to support future development & help to obtain more games to test with.

Buy Me a Coffee at ko-fi.com


DLSSTweaks now offers two different ways to setup the wrapper, which should help let it work across different system configs:

nvngx.dll

The easiest way to install is via nvngx.dll wrapping, this should work fine for the majority of games without needing to rename any files first.

However this method requires a small registry tweak to be applied first to stop DLSS from checking the nvngx.dll signature.

The included EnableNvidiaSigOverride.reg can install this tweak for you (the tweak can also be removed via the DisableNvidiaSigOverride.reg)

After setting up the registry tweak you should be able to just copy the nvngx.dll & dlsstweaks.ini files next to your game EXE, and it should hopefully load into the game fine.

(this is the same registry tweak used by CyberFSR2 to load in their custom nvngx.dll, haven't seen any reports of issues caused by it, but if you play games that use anti-cheat software you may want to use the method below, instead of installing this global registry tweak)

dxgi.dll/etc

Alternatively if you don't wish to use the registry tweak, the older methods of loading in via dxgi.dll etc wrapping are also still supported.
(this older method requires more code hooks to be applied though, which may have issues on certain systems, the nvngx.dll method is believed to be more compatible)

You can switch to these wrappers by renaming the included nvngx.dll file to one of the supported filenames, the dlsstweaks.ini includes a list of filenames you can try.


If the DLL loaded in fine there should be a dlsstweaks.log file created next to the EXE, if that shows up then hopefully the tweaks should be active.
(you can use the DLSS dev DLL to verify that they're actually active, the INI file has more info about that)

Note that the default dlsstweaks.ini won't apply any tweaks, it must be edited first - the included INI explains each of the available tweaks, along with alternate filenames you can rename the DLSSTweaks DLL to.

NOT RECOMMENDED FOR ONLINE GAMES
The way the hook works is similar to how some game cheats modify games, it's very likely to be picked up by most anti-cheats.

Please don't reupload this DLL elsewhere, linking to the releases page would be appreciated.


Changes since 0.200.4:

  • ConfigTool: added DLSSTweaksConfig.exe tool for editing DLSSTweaks.ini, can change all settings inside the INI along with showing descriptions of each, and also allows selecting DLSS DLL to override with
  • DLSSQualityLevels: can now set DLSS quality level to a custom resolution directly, instead of needing to work out what ratio is needed for the given res
  • OverrideSharpening: lets the DLSS sharpening amount be customized, changed to softening instead, or disabled entirely (only for pre-2.5.1 DLSS, 2.5.1 and newer removed DLSS sharpening)
  • Log: now prints a recommendation about OverrideAutoExposure into log, if game doesn't provide its own exposure value to DLSS then enabling is recommended, otherwise if game is providing one, and user has OverrideAutoExposure enabled, they're now recommended to disable it
  • DLSSPresets: add hook to override presets forced by DLSS with users ones - now OverrideAppId shouldn't be required to override the presets determined by Nvidia, instead just change Default to any preset and it should be made active.
    (this might help DLSS to make any game-specific changes now too, since it'll now always be told the correct AppId for the game)
  • INI: monitor INI file by default, remove WatchIniUpdates setting, add DisableIniMonitoring in case some games have issues with it (the way it watches the INI is very efficient using Win32 directory-changes functions, so shouldn't have any perf issues)
  • DisableDevWatermark: add watermark removal patch for DLSSG / FrameGen 3.1.10 (aka 1.10.0)
  • DLLPathOverrides: now allows overriding almost any DLL to load from a custom path instead, useful for nvngx_dlss & nvngx_dlssg
  • Log: now tries to warn user via dlsstweaks_error.log file if multiple instances of DLSSTweaks are loaded in to the game
  • Log: fix DLSSTweaks log entries being printed to command-prompt window in certain games
  • Log: now logs the DLSS flags specified by the game when VerboseLogging is enabled, to help give more info about how games use it
  • Hooks: updated safetyhook to new version, improving compatibility with certain games (eg Minecraft)
  • DLSSQualityLevels: allow both comma and period to be used when specifying ratio
  • DLSSPresets: improved hook to only force presets that are customized (leaving non-customized ones to use NV-provided defaults), and added support for 3.1.1 to new override hook method
  • Hooks: applies hooks to modules slightly earlier, before DllMain of the module is ran, possibly improving stability/compatibility
  • Misc: fixed crash when std::filesystem::exists would throw exception (only seemed to happen under UWP games, which mess with filesystem permissions)
  • Misc: DLL is now self-signed, and hashes of DLL provided on github, more info at https://github.com/emoose/DLSSTweaks/wiki/DLL-Signature

Game Compatibility

A list of games tested against DLSSTweaks can be found here: https://github.com/emoose/DLSSTweaks/wiki/Games

If you try out any game that isn't mentioned there please let us know how it went on the issue tracker!

Many thanks to DoktorSleepless & OrganizationOk4516 for helping test the DLL with most of these games before release!


Verification

Hashes for verification:

nvngx.dll
  • MD5: 063E4FAE1BF759DAE1EAE289896F4383
  • SHA-1: 2DD274315E5DC53730394B5796B972F96F74F6A9
  • SHA-256: 31C26172306DA5C4F08BC7DBB493E327CD48BBF507331967C74A7298122E3F67
DLSSTweaksConfig.exe
  • MD5: 169047C109383F658C2751E4FCC6114F
  • SHA-1: C53508304CDFE46EDFD44DD2F8AB3F0A0AF6C310
  • SHA-256: DCEB138FC651C8B67A3448CDF95F8E17D32494E065F9C31903F910D07200DA11

The files are signed too, but unfortunately only with a self-signed certificate, which would be easy for others to impersonate... more info about that at https://github.com/emoose/DLSSTweaks/wiki/DLL-Signature

(if someone with a proper code-signing cert is able to help sign DLLs for me it'd be extremely appreciated, please email me at abc (at) cock (dot) li)


Binaries / DLL file can be found on NexusMods: https://www.nexusmods.com/site/mods/550?tab=files

The files listed below are just source code for the DLL, the DLL itself for use with games can be found in the link above.