doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.73k stars 816 forks source link

[d3d9] Baba Is You crashes when using DXVK #4137

Open Zapeth opened 1 month ago

Zapeth commented 1 month ago

When executing wine Baba Is You.exe with dxvk libraries the game doesn't start and crashes instead.

With the builtin wine libraries the game starts normally, however it runs very slow in wow64 mode, thats why I wanted to try dxvk (with standard multilib builtin wine it runs normal).

Software information

Baba Is You, default game settings, experimental wine wow64 mode

System information

Log files

Here are the last lines from stdout

warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries supported
0024:err:dbghelp:pe_load_msc_debug_info -Debug info stripped, but no .DBG file in module L"d3d9"
0024:err:dbghelp:pe_load_msc_debug_info -Debug info stripped, but no .DBG file in module L"d3d9"
wine: Unhandled page fault on read access to FFFFFFFF at address 777B92BF (thread 0024), starting debugger...
0150:err:environ:init_peb starting L"C:\\windows\\syswow64\\winedbg.exe" in experimental wow64 mode
0024:err:virtual:virtual_setup_exception stack overflow 768 bytes addr (nil) stack 0x30d00 (0x30000-0x31000-0x130000)

Here's the backtrace file from wine: backtrace.txt The game apparently also created a minidump, not sure if there is any more useful information in it: crash.txt crash.dmp

Blisto91 commented 1 month ago

I am not having any issues starting the game here with Steam Proton on Nvidia at least. It might be interesting to try without the experimental wow64 mode. Or maybe with the newest stable graphics driver if able.

Zapeth commented 1 month ago

In order for me to test without wow64 mode I'll have to upgrade my wine installation to the one provided by my distro (9.12-vanilla), which will also require a mesa update (to 24.1.3).

But before I'm doing that I tried two other 32-bit games with dxvk in wow64 mode to see if 32-bit dxvk works at all with my setup.

The first game was Environmental Station Alpha, which crashed with a similar message (and works without dxvk):

info:  D3D9DeviceEx: Using extended constant set for software vertex processing.
wine: Unhandled page fault on read access to FFFFFFFF at address 762292BF (thread 0118), starting debugger...
0140:err:environ:init_peb starting L"C:\\windows\\syswow64\\winedbg.exe" in experimental wow64 mode
0140:err:dbghelp:pe_load_msc_debug_info -Debug info stripped, but no .DBG file in module L"d3d9"

Wine backtrace: backtrace.txt

The other 32-bit game I tested was "1... 2... 3... KICK IT! (Drop That Beat Like an Ugly Baby)" which started without issues and was playable with dxvk (also a d3d9 title according to dxvk hud api, based on the log I'm guessing Environment Station Alpha is a d3d9 title as well).

So it might very well be an issue with some 32-bit games running in wow64 mode, I'll update my wine packages and report back when I've tested dxvk with the games in a multilib setup.

Zapeth commented 1 month ago

Done with the update, wine is now on v9.12-vanilla (32bit multilib), mesa is on v24.1.3.

Unfortunately the behavior is unchanged, both Baba Is You and Environmental Station Alpha crash on launch when using dxvk (looks like the same error), 123 Kick It still works.

Should I post the backtrace files again, or is some other info required to further troubleshoot this?