protonscr

Installation question on DLL overrides

dxvkclosed question
doitsujin/dxvk#3998 · opened 2024-05-12 by casasfernando · updated 2024-05-12 · 2 comments · github
Ccasasfernando 2024-05-12 github

In the installation instructions (https://github.com/doitsujin/dxvk#how-to-use) it’s mentioned that after copying the DLLs to the Wine prefix system folders (effectively replacing Wine builtin DLLs), DLL overrides for the same libraries must be added with winecfg.

I’m trying to figure out why the overrides are needed since Wine builtin libraries are already replaced?
If the DLLs are copied next to the program executable, then absolutely, so Wine will load these instead of the builtin ones but since the builtin ones were overwritten, why this is needed?

Thanks

Ddoitsujin maintainer 2024-05-12 github

Wine's DLL loading mechanism works in such a way that DLLs in system32 are not automatically builtin, instead it grabs built-in DLLs from its actual install path (usually /usr/lib/wine).

This also means that even on a prefix with DXVK installed you can still use toggle between it and wined3d by just changing the override per-app or via an env var (WINEDLLOVERRIDES=d3d9,d3d10core,dxgi,d3d11=b or =n).

Ccasasfernando 2024-05-12 github

Thanks for sharing this. I didn’t know that. :)
Now it’s clear why the overrides are still needed.

My experience with Heroic launcher was a bit different (even without the overrides Wine will still use dxvk dlls if still present in system32).