How to use DXVK Async?

In Lutris i can choose dxvk versions, heroic doesn't seem to have that option. Or is a environment variable enough? I use Wine-GE.
24 Replies
other-emerald
other-emeraldOP•3y ago
*specifically for dishonored right now
optimistic-gold
optimistic-gold•3y ago
Wine-GE does not come with the DXVK Async patch AFAIR, but on the steam deck you can use GE-Proton and this one has it baked in. Alternatively you can manually install async patch on the wine-GE prefix. Also remember to delete your prefix if you switch between wine and proton. In either case you need to use DXVK_ASYNC=1 to enable it
other-emerald
other-emeraldOP•3y ago
how do I manually install it in the prefix? Would be nice to choose in heroic itself. I'm not dumb, but I have no idea how to use the Konsole for that. Drag and drop would be nice :KEKW:
optimistic-gold
optimistic-gold•3y ago
Easiest way would be to simply switch to the Proton-GE
adverse-sapphire
adverse-sapphire•3y ago
The manual method when using Wine-GE would be to drop the DXVK Async dlls into the system32 folder of the game's prefix. Considering Heroic creates an individual prefix for each game you install, this could be a tedious process if you wanted to apply this to multiple games. Which is why I agree there should be an option to change your DXVK version within Heroic.
other-emerald
other-emeraldOP•3y ago
oh ok, sounds doable. In my async DXVK folder I have x32 and x64 dlls Which one should I use? Same names in both folders i guess x64 or x32 dlls in system32 and x64 dlls in syswow64? :Hmm:
adverse-sapphire
adverse-sapphire•3y ago
Weirdly enough, it's the opposite way around lol
other-emerald
other-emeraldOP•3y ago
:ddHuh:
optimistic-gold
optimistic-gold•3y ago
You can also substitute the dlls in the HGL config folder. Dlls in the prefixes are linked to the source ones. I don't know if it's enough though, or if it will survive the update of the DXVK, but I've seen solution like this in the wild
adverse-sapphire
adverse-sapphire•3y ago
Can confirm I do have some old prefixes set up like this. However any new prefix I've tried to create hasn't done this, so I wonder if anything's changed. Also yeah, I know it seems backwards. But SysWOW64 is actually a folder for 32-bit dlls to be used on 64-bit systems.
correct-apricot
correct-apricot•3y ago
WOW64 means: windows on windows 64bit Hence why its for 32 bit windows system dlls Ms is just terrible at naming things haha And for legacy reasons im pretty sure they didnt rename the 64bit system folder.. Hence system32 haha
adverse-sapphire
adverse-sapphire•3y ago
Yup. There are many naming conventions in Windows have stood around for decades and never changed lol.
correct-apricot
correct-apricot•3y ago
Yep
other-emerald
other-emeraldOP•3y ago
Ok, very weird haha, but thanks :YEP: Ok, thank you very much. That worked flawlessly. Now pls devs, make it an option. 🙂
flat-fuchsia
flat-fuchsia•3y ago
So just to be clear: if I have multiple games installed on heroic, the easiest option currently is to use GE proton which has DXVK Async already enabled (otherwise I'd need to manually place the DLL files into every prefix)? I'm on the Steam Deck for context And on that note, where do I use 'DXVK_ASYNC=1'? Within Heroic or on the Steam launch options?
other-emerald
other-emeraldOP•3y ago
1 post Just switching to proton with already installed games is tricky, proton has a different folder structure for it's prefix. (also wine is recommended, not proton) Maybe your save games will not work anymore. idk. DLLs, yes. But make sure to place the DLLs in the right place 2 post in heroic as environment variable.
flat-fuchsia
flat-fuchsia•3y ago
Thank you 🙂 I've deleted the prefixes and reinstalled the games with proton selected.
flat-fuchsia
flat-fuchsia•3y ago
No description
flat-fuchsia
flat-fuchsia•3y ago
And I think I've got this set up correctly for proton GE! As I understand it, generally you should be using Wine GE for non steam games but Heroic uses proton in same way steam would So until Wine GE comes with DXVK_ASYNC by default it seems like the easiest option (and not all that problematic) is to use Proton GE with the above variable?
CommandMC
CommandMC•3y ago
DXVK 2.0 has vastly improved shader compilation, meaning DXVK-Async should not be necessary anymore Wine-GE will never come with DXVK(-Async). They're always going to be separate things
optimistic-gold
optimistic-gold•3y ago
It's game dependent. Some load shaders only at the draw time, so they won't benefit from the changes in the DXVK 2.0 and ASYNC is still useful for these.
other-emerald
other-emeraldOP•3y ago
Isn't 2.0 only useful for dx11 games? I can be wrong of course. But that's what I remember.
correct-apricot
correct-apricot•3y ago
dxvk provides dx9-11 support vkd3d is for dx12
other-emerald
other-emeraldOP•3y ago
I know. But because of shader cache stutters. I'm pretty sure I read somewhere dxvk 2.0 is only helpful for dx11 games But maybe/hopefully that's wrong 🙂

Did you find this page helpful?