protonscr

dll_setup overrides not working as expected

dxvkclosed bug
doitsujin/dxvk#56 · opened 2018-02-03 by pingubot · updated 2018-02-05 · 4 comments · github
1 matching comments, n / p to jump
Ppingubot 2018-02-03 github

Hi,

afaik, the script is creating links from d3d11.dll and dxgi.dll in system32 and syswow64 to the correpsonding d3d11_vk.dll and dxgi_vk.dll files.

Sadly this is not enough,
d3d11_vk.dll wants to load dxgi_vk.dll . So if you only have dxgi.dll in system32or syswow64, dxvk will not work and the log will complain about : cannot load d3d11.dll cause dxgi_vk.dll is missing.

As long as d3d11_vk.dll wants to load dxgi_vk.dll a workaround would be to create an extra symlink for dxgi_vk.dll . If there are some cross dependencies, also linking d3d11_vk.dll directly would help.

Btw, i would like to improve your script to have the possibility to rollback the override changes as well but i have no idea how meson works, Would be a diff useful for you ?

Cu,
Christian

RRaffarti 2018-02-03 github

Another solution would be adding the d3d11_vk.dlls path to wine PATH, which currently can be achieved by using redirection part of the script. Adding a way to revert overrides shouldn't be a problem.

Ddoitsujin maintainer 2018-02-03 github

Creating yet another symlink is not an option because it would just manifest how broken the install process currently is. I suggest renaming the DLLs back to d3d11.dll and dxgi.dll respectively, and getting rid of the entire DLL redirection setup for good since we need to implement the symlink stuff anyway.

RRaffarti 2018-02-03 github

Should I get rid of the redirection stuff entirely or adapt it?

Ddoitsujin maintainer 2018-02-03 github

Honestly, I'd remove it entirely because no one is going to be using it when the symlink setup is the default option. And it should be the default option, since it's the only one that works on mainline/wine-vulkan.

DLLs