Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta versions (0.200.9.0-beta1) #44

Open
emoose opened this issue Mar 10, 2023 · 18 comments
Open

Beta versions (0.200.9.0-beta1) #44

emoose opened this issue Mar 10, 2023 · 18 comments

Comments

@emoose
Copy link
Owner

emoose commented Mar 10, 2023

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: #132 (comment)

Previous:
DLSSTweaks 0.200.8.2: https://www.nexusmods.com/site/mods/550?tab=files
DLSSTweaks 0.200.8.2-beta1: #102 (comment)
DLSSTweaks 0.200.8.1: https://www.nexusmods.com/site/mods/550?tab=files
DLSSTweaks 0.200.8-beta1: #101 (comment)
ConfigTool 0.200.7.6: #85 (comment)
DLSSTweaks 0.200.7-beta4: #85 (comment)
ConfigTool 0.200.7.5: #85 (comment)
0.200.7-beta3: #88 (comment)
0.200.7-beta2a: #88 (comment)
0.200.7-beta2: #88 (comment)
0.200.7-beta1: #88 (comment)
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: #44 (comment)
0.200.2 release: https://github.com/emoose/DLSSTweaks/releases/tag/0.200.2
0.200.2alpha3: #44 (comment)
0.200.2alpha2: #44 (comment)
0.200.2alpha: #33 (comment)
0.200.0alpha: #33 (comment)
12beta5: #22 (comment)
12beta4b: #22 (comment)
12beta4a: #22 (comment)
12beta4: #22 (comment)
12beta3a: #28 (comment)
12beta3: #22 (comment)
12beta2: #22 (comment)
12beta1: #22 (comment)

@emoose emoose pinned this issue Mar 10, 2023
@aufkrawall
Copy link

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.

@emoose
Copy link
Owner Author

emoose commented Mar 11, 2023

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

@aufkrawall
Copy link

This build has fixed it. That was quick, thanks a lot!

@aufkrawall
Copy link

One more offender: Half-Life Ray Traced crashes with nvngx.dll, but works with winmm.dll:
hlrt

@emoose
Copy link
Owner Author

emoose commented Mar 11, 2023

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

@aufkrawall
Copy link

Yep, fixed with 200.2alpha3. :)

@aufkrawall
Copy link

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

@emoose
Copy link
Owner Author

emoose commented Mar 12, 2023

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.

@aufkrawall
Copy link

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.

@emoose
Copy link
Owner Author

emoose commented Mar 14, 2023

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.

@aufkrawall
Copy link

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.

@emoose
Copy link
Owner Author

emoose commented Mar 15, 2023

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.

@emoose
Copy link
Owner Author

emoose commented Mar 15, 2023

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

@emoose emoose changed the title Beta/test versions Beta versions (0.200.3beta1) Mar 15, 2023
@Lurtzae
Copy link

Lurtzae commented Mar 16, 2023

Uncharted: Legacy of Thieves Collection was crashing right at the start with 0.200.2, it's working again with 0.200.3beta1.

@emoose emoose changed the title Beta versions (0.200.3beta1) Beta versions (0.200.3 release) Mar 17, 2023
@aufkrawall
Copy link

@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.

@emoose emoose changed the title Beta versions (0.200.3 release) Beta versions (0.200.4 release) Mar 27, 2023
@emoose emoose changed the title Beta versions (0.200.4 release) Beta versions (0.200.5-beta2) Mar 29, 2023
@emoose emoose changed the title Beta versions (0.200.5-beta2) Beta versions (0.200.5-beta4) Apr 5, 2023
@emoose emoose changed the title Beta versions (0.200.5-beta4) Beta versions (0.200.6) Apr 12, 2023
@emoose emoose changed the title Beta versions (0.200.6) Beta versions (0.200.7-beta2) Aug 17, 2023
@emoose emoose changed the title Beta versions (0.200.7-beta2) Beta versions (0.200.7-beta2a) Aug 17, 2023
@emoose emoose changed the title Beta versions (0.200.7-beta2a) Beta versions (0.200.7-beta3) Aug 18, 2023
@hoonlight
Copy link

Thank you, and how about using the 'pre release' feature?

@emoose emoose changed the title Beta versions (0.200.7-beta3) Beta versions (0.200.7-beta4) Sep 15, 2023
@emoose emoose changed the title Beta versions (0.200.7-beta4) Beta versions (0.200.8-beta1) Sep 23, 2023
@emoose emoose changed the title Beta versions (0.200.8-beta1) Beta versions (0.200.8.2) Oct 1, 2023
@Klemci
Copy link

Klemci commented Nov 7, 2023

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

Oh yeah..

... why not build an upscaler plugin alternative working for Skyrim SE ?.. for DLSS Tweaks !

Thanks ??

:p

@emoose emoose changed the title Beta versions (0.200.8.2) Beta versions (0.200.9.0-beta1) Apr 17, 2024
@emoose
Copy link
Owner Author

emoose commented Apr 17, 2024

0.200.9.0-beta1 posted at #132 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants