protonscr

Crysis - d3dcompiler errors flooding the logs when using DX10

dxvkclosed wine bug
doitsujin/dxvk#4348 · opened 2024-10-11 by casasfernando · updated 2024-10-11 · 7 comments · github
3 matching comments, n / p to jump
Ccasasfernando 2024-10-11 github

Installed Crysis (retail DVD) with official patches 1.2 and 1.2.1 on a new, clean, Wine-GE 8-26 prefix.
When running the game using DX10, Wine logs are flooded with the following errors although I didn't observed any rendering issues while playing the game:

0024:fixme:d3dcompiler:skip_u32_unknown Skipping 4 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x7d13c22d
0024:fixme:d3dcompiler:skip_u32_unknown 	0x0a519586
0024:fixme:d3dcompiler:skip_u32_unknown 	0x61b5fc24
0024:fixme:d3dcompiler:skip_u32_unknown 	0x7071233c
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 1 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000001
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 1 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000008
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 1 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000008
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 1 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000000
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 1 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000000
0024:fixme:d3dcompiler:skip_u32_unknown Skipping 2 unknown u32s:
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000000
0024:fixme:d3dcompiler:skip_u32_unknown 	0x00000000
0024:fixme:d3dcompiler:d3dcompiler_shader_reflection_GetDesc iface 00B80088, desc 0041D6B0 partial stub!

I tried installing native d3dcompiler_43 and also d3dx10_43 libraries with winetricks but the errors remain the same.
I searched the Internet and the project's issues (open and closed) but couldn't find anything else besides installing the libraries above.
Are these errors still expected even when using the native libraries? Am I missing any other native libraries? Should they cause any trouble?
Things I tried without success to get rid of the errors above (always with d3dcompiler_43 and also d3dx10_43 libraries in place) :

  • Use a 32-bit prefix
  • Use a 64-bit prefix
  • Run the game in 32-bit mode
  • Run the game in 64-bit mode
  • Use C1 launchers for both 32-bit and 64-bit mode

Let me know if an API trace is required.

Software information

Game: Crysis
Patch version: 1.2.1
Settings: Very High
DirectX: 10

System information

  • GPU: AMD Radeon RX 6700 XT
  • Driver: mesa 23.2.1
  • Wine version: Wine-GE 8.26
  • DXVK version: 2.4.1

Apitrace file(s)

  • N/A

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

Please attach Proton or Wine logs as a text file:
game.log

BBlisto91 2024-10-11 github

Hi there. d3dcompiler is not something dxvk provides, it is a dll included in Wine.

I tried installing native d3dcompiler_43 and also d3dx10_43 libraries with winetricks but the errors remain the same.

It is likely another version of the dll then. Maybe d3dcompiler_47, d3dcompiler_46 or d3dcompiler_42

Ccasasfernando 2024-10-11 github

I tried adding all of them to no avail.
d3dcompiler_47 is needed to run the game using DX9 so I have that installed as well, but also tried adding d3dcompiler_46 or d3dcompiler_42 without success.

I acknowledge the issue is not with DXVK but I thought about asking here in case anyone may have a suggestion on how to tackle this.

BBlisto91 2024-10-11 github

Would need a log ran with WINEDEBUG=+loaddll to see what is used.

Ccasasfernando 2024-10-11 github

I tried that as well but only d3dcompiler_43 and d3dcompiler_47 are loaded:

0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dcompiler_47.dll" at 062F0000: native
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dcompiler_43.dll" at 06680000: native
BBlisto91 2024-10-11 github

I recall now that the builtin d3d10.dll and d3d10_1.dll can spam d3dcompiler stuff. I think

Ccasasfernando 2024-10-11 github

Thanks for trying to help. This is the full list of d3d* dlls that are being loaded:

0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dx10_34.dll" at 6FB40000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\dxgi.dll" at 06010000: native
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3d11.dll" at 6A540000: native
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3d10core.dll" at 6C7C0000: native
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3d10_1.dll" at 6D600000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dcompiler_47.dll" at 062F0000: native
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3d10.dll" at 64CC0000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dx10_43.dll" at 639C0000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dxof.dll" at 69F40000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dx9_36.dll" at 6A000000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\d3dcompiler_43.dll" at 06680000: native

I already tried installing d3dx10_43 but I see the game is also loading d3dx10_34 which unfortunately doesn't seem to be available in winetricks.

Ccasasfernando 2024-10-11 github

I recall now that the builtin d3d10.dll and d3d10_1.dll can spam d3dcompiler stuff. I think

Maybe this is it. I think I will just silence the log and move on playing using DX10.

Thanks

Launch options

DLLs