protonscr

[d3d9] Baba Is You crashes when using DXVK

dxvkclosed d3d9
doitsujin/dxvk#4137 · opened 2024-07-12 by Zapeth · updated 2024-09-28 · 4 comments · github
2 matching comments, n / p to jump
ZZapeth 2024-07-12 github

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

  • GPU: Intel(R) HD Graphics 520 (SKL GT2)
  • Driver: Intel open-source Mesa driver 24.0.7
  • Wine version: 9.10-staging
  • DXVK version: 2.4

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

BBlisto91 2024-07-12 github

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.

ZZapeth 2024-07-13 github

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.

ZZapeth 2024-07-13 github

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?

ZZapeth 2024-09-28 github

After reading about the recent rewrites to the memory allocator and buffer management I compiled dxvk from 78f5136fde3e6aa5ad15d5a94efbcdb5993e8a8b and I'm happy to report that the crash has been fixed and the game starts properly now (also with normal performance in wow64 mode).

Environmental Station Alpha now also starts but displays no graphics (sounds and input works though), based on the log messages it looks like the issue is the same as https://github.com/doitsujin/dxvk/issues/3383

So the exact reason for the crashes is still unknown (might also be something that got fixed with 2.4.1), but considering it works now I'll just close this.

Upstream links