DLSSTweaks icon indicating copy to clipboard operation
DLSSTweaks copied to clipboard

Use both DLSSTweaks and other DLL injection tools (DXVK, SpecialK, etc.)

Open Fooughhy opened this issue 2 years ago • 3 comments

Recently I have been messing about with things like Reshade, DXVK and SpecialK to tweak games which are not running correctly.

Some recent examples of this is that Assassins Creed Odyssey gains something like 10-20% performance by simply using DXVK on Windows 10 (it is technically meant to be used in Wine on Linux). This got me into some kind of optimization mode, and I wanted to attempt to use at least one or two of the known gaming tweak tools to see what it did in different games.

But as they are all different projects, with different purposes, I have been having a bit of trouble using them in the way I want.

Many of these tools alter the same file, also. The "dxgi.dll" file (I believe this is mostly for DirectX11-12 games). This makes it impossible (to my knowledge) to use even just two tweaks if they both alter that same file.

I stumbled upon the "GShade" project, which looked promising. It combined Reshade with an easy way to also install DXVK, as well as allowing you to keep track of which games have these tweaks locally (since DXVK is literally only a single file, it can get difficult to keep track of which games have the tweak "installed"). But if you haven't read it yet, GShade is essentially dead.

Now there is also this project which also uses the "dxgi.dll" file to allow the use DLAA in games which don't have it by default and it's just getting to be too much...

So what I am simply wondering is if you know of a way to combine DLSSTTweaks with these other projects, or perhaps if there is any tool to help either/both keep track of which games have which tweaks enabled and to combine multiple tweaks (e.g. both DXVK and DLSSTweaks) in the same .dll file (e.g. "dxgi.dll")?

Note: I believe there is a way to use both Reshade and SpecialK without specifically using the "dxgi.dll" file, but for DXVK I do not believe there is such a workaround.

Fooughhy avatar Feb 23 '23 15:02 Fooughhy

You can try renaming the DLSSTweaks dxgi.dll to a couple different filenames, the INI has a list of the supported ones - the XInput names usually work in the majority of games, might try adding support for more names to that soon too.

You might be able to load DLSSTweaks as a plugin to one of those other mods too, eg. with ReShade if you install the Addon-enabled version, you can set reshade as dxgi.dll, then rename DLSSTweaks to dlsstweaks.addon (no .dll extension), and that does seem to let it load us in (reshade does mention an error with addons on startup though, and log says that it's unloaded us, but it seemed to still work fine in my quick tests - tried looking into making it a proper reshade addon so the error would go away, but didn't have much luck with it yet)

There's some more options we could explore with loading extra DLLs after our own, could add a section to INI where you can specify a list of DLLs that we should load in after us, not sure how many other DLL mods that would actually work with though, will have to try testing things out with that soon.

emoose avatar Feb 24 '23 00:02 emoose

Oh, wow. Thanks for the input! Have asked this question in a couple of places (e.g. on reddit) but haven't had any answers. I did not know of this feature for Reshade (I have prompted to use SpecialK instead of Reshade since it can be a bit cumbersome to get them to work together). Though for Hogwarts Legacy it does seem like they work together, if SpecialK uses the d3d12.dll file instead (and SpecialK is hooked globally).

But that addon feature seems nice. I will try it out!

Fooughhy avatar Feb 25 '23 06:02 Fooughhy

Hey, I'm wondering if this can be use for Assassin's Creed Odyssey. There's a version for Skyrim but I'm not really sure on how to implement it on AC:O.

ubertrojan avatar Jul 05 '23 05:07 ubertrojan