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 & 53x - earlier driver versions may have issues, recommend updating if DLSSTweaks doesn't seem to apply to any games for you.
Binaries / DLL downloads can be found on NexusMods: https://www.nexusmods.com/site/mods/550?tab=files
If the tweaks helped improve your experience consider buying a coffee to support future development & help to obtain more games to test with. Thank you!
Ray Reconstruction note: DLSSTweaks versions 0.200.8 onward appear to work fine with RR without issues, the scaling ratios can still be adjusted & OverrideDlssHud
setting can show you the Ray Reconstruction HUD overlay, though if you do have any problems with it please feel free to let me know.
DLSSTweaks allows 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 DLSSTweaksConfig.exe tool can also be used to install/remove this registry tweak.
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.6
- (0.200.8.2) DLSS: fixed incomplete Vulkan-related function hooks, VK games such as hl1rt should now run fine again
- (0.200.8.2) INI: added
BaseINI
setting to INI, this tells DLSSTweaks to read from the specified INI before reading the rest of the settings in the current INI, allowing it to act as a sort of "global config" (eg. you could setup a single DLSSTweaks INI in a central location, then edit your individual game INIs to point at it viaBaseINI
, and then any changes to the central INI will automatically take effect - settings from the game INI can then override the ones fromBaseINI
too) - DLSS: hooked DLSS code which would pick the preset based on the current resolution ratio, so it can check against our tweaked ratios instead
- DLSS: added support for 3.1.30 & 3.5
- DLSS: added hook to allow DLSSD (Ray Reconstruction) HUD overlay to be toggled,
OverrideDlssHud
should now apply to it fine - DLSS: will now update the dynamic resolution params used by DLSS, fixes certain games that would use those params instead of the normal width/height we returned
- DLSSPresets: added support for preset G (currently unused)
- Wrapper: added missing _nvngx.dll exports, should now allow nvngx.dll wrapper to work with RR/DLSSD
- ConfigTool: added NvGlobalProfileSettings section to adjust the new DLSS NvProfile settings added in DLSS 3.1.11+
- ConfigTool: added VideoSuperResolution setting under NvGlobalProfileSettings
- ConfigTool: allow tool to be ran separately from DLSSTweaks.ini itself, can now be used standalone for configuring the NvProfile settings above
- ConfigTool: allow NvGlobalProfileSettings to be changed via command-line switches, the name displayed in ConfigTool matches the cmd-line parameter to use, eg.
DLSSTweaksConfig.exe -GlobalForcedScale 0.77
will set the GlobalForcedScale NvProfile setting to 0.77, multiple options can be used at once - ConfigTool: for ratio-related settings, added a tooltip which will show estimate of the resolution for that ratio based on desktop res (likewise, entering a resolution instead of ratio will display estimated ratio too)
- ConfigTool: added button to copy install to another folder (copies current DLSSTweaks DLL & INI over)
- ConfigTool: included default INI inside ConfigTool itself, to fetch setting descriptions from
- ConfigTool: added context-menu settings for DLLPathOverrides section, can now rename/delete overrides from there
- ConfigTool: added option for setting the NV signature override from the tool itself (will prompt for admin permissions when changing)
- ConfigTool: if we detect that our DLL filename is "nvngx.dll", check if the NV override is set & offer to set it up if not
- ConfigTool: if we detect multiple DLSSTweaks DLL files are being used, show a warning about it and allow removing any extras
- ConfigTool: if INI file can't be written, try relaunching as admin (will prompt if necessary)
- ConfigTool: allow "Copy install" to scan game EXE/DLLs for possible DLL wrapper filenames to use & ask user which they'd like
- ConfigTool: improved mouseover / hover detection when displaying setting descriptions
- ConfigTool: fixed NV signature override code to set both registry keys that NVNGX might check
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: BFD664DAA13129CB34159D725A8734D2
- SHA-1: 4BEFD03D2BEFF8CA4D73BEEBC6F6DAC1713922CC
- SHA-256: EF75F00383C4F170A53E1D54EFD7CB63565941E60CD3DE32DE3DA61A6ED3266B
DLSSTweaksConfig.exe
- MD5: B3E28E05ABC7EE25CF39111A6706AC28
- SHA-1: FBE8C6022132CD32B9DEDCB3D3B18AF7F4154DF5
- SHA-256: 931E5E38ECDB41BDD47291013640EEB3D6E2A4F8E7DF136327F0126CF049A825
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.