protonscr

Gothic2 with D3D11 renderer is broken since Gothic2-GD3D11-17.7-dev12 - do you support dxgi-1.2?

dxvkclosed
doitsujin/dxvk#1844 · opened 2020-12-06 by stefson · updated 2020-12-07 · 11 comments · github
3 matching comments, n / p to jump
Sstefson 2020-12-06 github

hey there,

I've been trying to debug a problem with the D3D11 renderers for Gothic2 I came across lately. I got the precompiled libs and shaders in zip files from here: https://github.com/Kirides/GD3D11/tags

Now, if I update from the latest working tag of https://github.com/Kirides/GD3D11/releases/tag/v17.7-dev11 to https://github.com/Kirides/GD3D11/releases/tag/v17.7-dev12 or anything newer, wine doesn't start the game anymore with this error:

$ env RADV_PERFTEST=aco DXVK_HUD=devinfo,fps,gpuload WINEPREFIX=~/.gothic2-goldedition-reboot-mingw32 WINEARCH=win32 wine GothicStarter.exe

002c:err:winediag:WS_getaddrinfo Failed to resolve your host name IP
WARNING: Experimental compiler backend enabled. Here be dragons! Incorrect rendering, GPU hangs and/or resets are likely
0108:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0108:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10CreateStateBlock' used by L"C:\\windows\\system32\\d3d10_1.dll"
0108:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0108:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10StateBlockMaskEnableAll' used by L"C:\\windows\\system32\\d3d10_1.dll"
0108:err:module:import_dll Loading library D3DCOMPILER_47.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\DDRAW.dll") failed (error c000035a).
0108:err:module:import_dll Library DDRAW.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe") not found
0108:err:module:LdrInitializeThunk Importing dlls for L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe" failed, status c0000135

I've been trying to figure out half the weekend what is wrong, and via grepping through the source code I found this commit: https://github.com/Kirides/GD3D11/commit/8cd96bdea164b6c27f213e61db59099a53f309d7 that claims dxgi-1.2 support for the non working snapshots.

By going through some google research I found that dxvk should have dxgi-1.2 support since v0.52, so can you maybe comment on my confusion? :D

KK0bin maintainer 2020-12-06 github

Loading library d3dcompiler_47.dll (which is needed by L"C:\windows\system32\d3d10.dll") failed

Try running winetricks d3dcompiler_47 on your prefix

Sstefson 2020-12-06 github

installing d3dcompiler_47 via winetricks into the profile doesn't help, I've been there before. neither does winetricks vcrun2019 , which I suspected since the GD3D11 libs are compiled with vc2019 since this very update.

Ddoitsujin maintainer 2020-12-06 github

And what does the log look like with d3dcompiler_47.dll set up?

To answer the original question, yes, we do support DXGI 1.2.

Sstefson 2020-12-06 github

with the d3dcompiler_47.dll setup via winetricks, the log is the same I believe:

002c:err:winediag:WS_getaddrinfo Failed to resolve your host name IP
WARNING: Experimental compiler backend enabled. Here be dragons! Incorrect rendering, GPU hangs and/or resets are likely
0108:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0108:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10CreateStateBlock' used by L"C:\\windows\\system32\\d3d10_1.dll"
0108:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0108:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10StateBlockMaskEnableAll' used by L"C:\\windows\\system32\\d3d10_1.dll"
0108:err:module:import_dll Loading library D3DCOMPILER_47.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\DDRAW.dll") failed (error c000035a).
0108:err:module:import_dll Library DDRAW.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe") not found
0108:err:module:LdrInitializeThunk Importing dlls for L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe" failed, status c0000135
Ddoitsujin maintainer 2020-12-06 github

Yeah you'll have to fix that first. Make sure you install the DLL into the correct wine prefix as well.

Sstefson 2020-12-06 github

so you're leaning towards a bug in wine then?

Ddoitsujin maintainer 2020-12-06 github

no, I'm leaning towards a broken setup on your end.

Sstefson 2020-12-06 github

some more data, when not piping through GothicStarter.exe but Gothic2.exe:

env DXVK_HUD=devinfo,fps,gpuload WINEPREFIX=~/.gothic2-goldedition-reboot-mingw32 WINEARCH=win32 wine Gothic2.exe

0024:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0024:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10CreateStateBlock' used by L"C:\\windows\\system32\\d3d10_1.dll"
0024:err:module:import_dll Loading library d3dcompiler_47.dll (which is needed by L"C:\\windows\\system32\\d3d10.dll") failed (error c000035a).
0024:err:module:find_forwarded_export module not found for forward 'd3d10.D3D10StateBlockMaskEnableAll' used by L"C:\\windows\\system32\\d3d10_1.dll"
0024:err:module:import_dll Loading library D3DCOMPILER_47.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\DDRAW.dll") failed (error c000035a).
0024:err:module:import_dll Library DDRAW.dll (which is needed by L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe") not found
0024:err:module:LdrInitializeThunk Importing dlls for L"C:\\Program Files\\JoWood\\Gothic II Gold\\System\\Gothic2.exe" failed, status c0000135

If you're still certain that it's not dxvk, I'm going to open a wine bug and maybe link back here.

KKron4ek 2020-12-07 github

GD3D11 has its own d3dcompiler_47.dll, which doesn't work on Wine for some reason, remove (or rename) it from the game directory and install it using winetricks, the game works after that (at least for me). Tested with GD3D11 v17.7-dev15 and DXVK 1.7.3.

Sstefson 2020-12-07 github

you're right, this is really odd: rename d3dcompiler_47.dll to d3dcompiler_47.dll.old or something, and add d3dcompiler_47 via winetricks.

Kkirides 2020-12-07 github

Just to mention it here:
I wrongly deployed a amd64 binary instead of a x86 binary.

It is now fixed. https://github.com/Kirides/GD3D11/issues/25