DLSSTweaks
DLSSTweaks copied to clipboard
Beta versions (0.200.9.0-beta1)
Was brought up how betas are pretty scattered on here right now, mainly because I'm usually posting test/beta builds to try helping with a specific issue someone is having, or to get feedback on a specific feature.
Some might want to keep up to date with the latest builds though so will try and keep this post updated when I post up a new build somewhere too.
Latest: DLSSTweaks 0.200.9.0-beta1: https://github.com/emoose/DLSSTweaks/issues/132#issuecomment-2061623971
Previous:
DLSSTweaks 0.200.8.2: https://www.nexusmods.com/site/mods/550?tab=files
DLSSTweaks 0.200.8.2-beta1: https://github.com/emoose/DLSSTweaks/issues/102#issuecomment-1736519316
DLSSTweaks 0.200.8.1: https://www.nexusmods.com/site/mods/550?tab=files
DLSSTweaks 0.200.8-beta1: https://github.com/emoose/DLSSTweaks/issues/101#issuecomment-1732223359
ConfigTool 0.200.7.6: https://github.com/emoose/DLSSTweaks/issues/85#issuecomment-1724544141
DLSSTweaks 0.200.7-beta4: https://github.com/emoose/DLSSTweaks/issues/85#issuecomment-1720404754
ConfigTool 0.200.7.5: https://github.com/emoose/DLSSTweaks/issues/85#issuecomment-1720870346
0.200.7-beta3: https://github.com/emoose/DLSSTweaks/issues/88#issuecomment-1684184758
0.200.7-beta2a: https://github.com/emoose/DLSSTweaks/issues/88#issuecomment-1683017648
0.200.7-beta2: https://github.com/emoose/DLSSTweaks/issues/88#issuecomment-1682538014
0.200.7-beta1: https://github.com/emoose/DLSSTweaks/issues/88#issuecomment-1677098811
0.200.6: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.6
0.200.5-beta4: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta4
0.200.5-beta3: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta3
0.200.5-beta2: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta2
0.200.5-beta1: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.5-beta1
0.200.4 release: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.4
0.200.3 release: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.3
0.200.3beta1: https://github.com/emoose/DLSSTweaks/issues/44#issuecomment-1470894999
0.200.2 release: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.2
0.200.2alpha3: https://github.com/emoose/DLSSTweaks/issues/44#issuecomment-1465046540
0.200.2alpha2: https://github.com/emoose/DLSSTweaks/issues/44#issuecomment-1465035520
0.200.2alpha: https://github.com/emoose/DLSSTweaks/issues/33#issuecomment-1464589702
0.200.0alpha: https://github.com/emoose/DLSSTweaks/issues/33#issuecomment-1464209942
12beta5: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1446463915
12beta4b: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1446463915
12beta4a: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1445688469
12beta4: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1445334600
12beta3a: https://github.com/emoose/DLSSTweaks/issues/28#issuecomment-1445029607
12beta3: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1443624026
12beta2: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1443624026
12beta1: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1442839063
In Hitman 3, I can't override the DLSS preset with DLSSTweaks loaded as nvngx.dll, even though the DLSS HUD override works (3.1.1 Feb 12th from TPU). When I rename it to winmm.dll, the preset override once again works.
Ah might have an idea why, game could be calling the DLSS init function before we've actually finished initing the tweaks & read in the INI settings (init is handled in a separate thread) I noticed the DLSS funcs were sometimes called before init was finished while debugging it, but didn't occur to me that would mean the overrides wouldn't be read in yet.
Could you give this build a try, just makes it so any calls to the DLSS funcs will wait until that thread has finished: dlsstweaks-0.200.2alpha2.zip
This build has fixed it. That was quick, thanks a lot!
One more offender: Half-Life Ray Traced crashes with nvngx.dll, but works with winmm.dll:

Hm, are you on older drivers? AFAIK some older releases are missing that _Init_ProjectID_Ext func, and looks like it failed to get the address for it there.
It's possible game might be checking nvngx.dll first to see if func exists, and would normally call a different func if it doesn't - our DLSSTweaks nvngx would always expose that func so we can support it on the newer drivers though, so to the game it would think it exists fine...
Maybe can find a way to add a fallback that would call one of the other funcs for it instead, will try looking into it soon.
E: actually might be something different, seems nvngx.dll doesn't export _Init_ProjectID_Ext at all, it's _nvngx.dll that does that...
Not really sure why this would happen since nvngx.dll wrapping shouldn't really interact with _nvngx.dll at all, hm...
E2: ah looks like DLSSTweaks was exporting that func by mistake, guess that made DLSS code think that it was usable.
This build has them removed, hopefully can help it: dlsstweaks-0.200.2alpha3.zip
Yep, fixed with 200.2alpha3. :)
Skyrim SE has regressed starting with 0.2 versions with either file name, it crashes shortly after launching. Nothing interesting in the log, unfortunately: dlsstweaks.log
Ah darn, any chance you could try the older betas mentioned in top post and see whether it starts working on an older one? Maybe can give us an idea what change might have caused it.
I'll start downloading SSE now too and see if I can find anything - guessing https://www.nexusmods.com/skyrimspecialedition/mods/80343 is what you used to enable DLSS? Looks like that has some code on github but doesn't seem to be complete thing, couldn't see code that interacts with DLSS in their repo at least, too bad.
Ok, with 0.200.0alpha as nvgx.dll, it actually gets loaded, as it writes a log and doesn't crash. Though it seems it doesn't work regardless, as DLSS HUD isn't overridden. With 0.200.2alpha and 0.200.2alpha2, it crashes. 12beta5 was the last version that still worked. Yes, the mod you linked is the corresponding one.
Haven't had much luck with Skyrim unfortunately, tried a bunch of changes but haven't really got anywhere with it :/
0.200alpha working fine almost looks like it's a fluke, if I build that in debug mode it also starts to crash, the only change seems to be debug uses a call instruction to run the orig DLSS func, while the 0.200alpha DLL uses a jmp instead.
The changes in alpha2+ also make it use call now too, seems like call will always make it crash though... AFAIK only difference between call and jmp would be that call pushes the return addr to stack, could be wrong though.
Only guess is maybe it's something stack related, the upscaler DLL code might be using too much stack space so there isn't enough to hold that return addr + saved registers. Not really sure about that, maybe there's something I'm missing, tried a ton of different things and haven't had much luck though. (also found that if you copy nvngx.dll from the NV driver folder next to it that also makes it crash too, which is really strange - their DLSS code seems pretty brittle :/)
I did find one hacky way to make it always use the jmp method instead, but would need to modify safetyhook to make that work, maybe if any other games are found with similar issue I could add that in though.
One more obscure and unfortunate case: 0.2 versions crash Tiny Tina Wonderlands too with either file name. DLSS is implemented via this mod: https://www.nexusmods.com/tinytinaswonderlands/mods/43?tab=description
Unreal Engine creates a mini crash dump (.7z file renamed to .zip): minidump.zip dlsstweaks.log
12beta5 works with that game/mod.
Seems the PDPerfPlugin that Skyrim upscaler uses is also used by REFrameworks pd-upscaler / TemporalUpscaler branch too - tried testing that with the RE4 demo and seems like it's able to load in DLSSTweaks fine there, and looks to be working fine other than an issue with ForceDLAA (seems REFramework fixes DLAA by using resolution - 1).
So guessing PDPerfPlugin isn't the issue with Skyrim, but either the Skyrim Upscaler plugin, or maybe something inherent to Skyrim itself (maybe the Skyrim exe has some weird stack size limit set on it - still not 100% sure if the issue is stack related though)
(kinda strange that two different projects by different authors are using this plugin that doesn't seem to have source code published anywhere though, maybe my google skills aren't as good as they used to be...)
One more obscure and unfortunate case: 0.2 versions crash Tiny Tina Wonderlands too with either file name.
Thanks for the dump, I had another report about this from another user too, will try looking into it more soon.
Found a way to make it use jmp without needing to edit safetyhook, seems to let Skyrim upscaler work now at least (but only in Release build, Debug makes it use call and breaks again...), maybe not the greatest fix but at least it works...
@aufkrawall could you check if this helps on your side too? Also could be worth checking Tiny Tina with it too. dlsstweaks-0.200.3beta1a.zip
Uncharted: Legacy of Thieves Collection was crashing right at the start with 0.200.2, it's working again with 0.200.3beta1.
@emoose
@aufkrawall could you check if this helps on your side too? Also could be worth checking Tiny Tina with it too. dlsstweaks-0.200.3beta1a.zip
A bit of unfortunate timing, I've just switched to Radeon. :( But I'll have access to a GeForce at some point and will report back if there are still issues.
Thank you, and how about using the 'pre release' feature?
Found a way to make it use
jmpwithout needing to editsafetyhook, seems to let Skyrim upscaler work now at least (but only in Release build, Debug makes it usecalland breaks again...), maybe not the greatest fix but at least it works...@aufkrawall could you check if this helps on your side too? Also could be worth checking Tiny Tina with it too. dlsstweaks-0.200.3beta1a.zip
Oh yeah..
... why not build an upscaler plugin alternative working for Skyrim SE ?.. for DLSS Tweaks !
Thanks ??
:p
0.200.9.0-beta1 posted at https://github.com/emoose/DLSSTweaks/issues/132#issuecomment-2061623971