protonscr

[d3d9] DarkStar One crashes before rendering main menu

dxvkclosed
doitsujin/dxvk#1416 · opened 2020-02-07 by WinterSnowfall · updated 2020-03-18 · 8 comments · github
WWinterSnowfall 2020-02-07 github

The game ceremoniously crashes to desktop with DXVK. You can hear the usual menu background music for a few seconds before the crash.

Ascaron has a "catch all exceptions" debugging tool for the game, which is then displayed in case you want to file a bug report with the developers (how thoughtful of them). It has also generated a dump and a report for the crash - let me know if you think it might be of any use and I'll share that as well.

I've recorded things, as usual, in the same prefix, with DXVK installed, then uninstalled:

Starting the game with DXVK
Starting the game with WineD3D

The relatively large portion of the second video at the start, where the screen blanks out to white, is not due to any recording mismatches. It actually does not occur at all with DXVK.

Software information

DarkStar One (GOG version).

System information

  • GPU: GeForce GTX 1070
  • Driver: 440.48.2
  • Wine version: 5.1 Staging
  • DXVK version: v1.5.4

Apitrace file(s)

DarkStarOne.trace.tar.xz

Log files

NNerosTie 2020-02-08 github

I can confirm. But this issue didn't exist with previous versions of dxvk.

Ddoitsujin maintainer 2020-02-08 github

I can confirm. But this issue didn't exist with previous versions of dxvk.

Which version is the last working one?

NNerosTie 2020-02-08 github

I can't find it, even with very old versions of D9VK, maybe it was a mistake...

LLilrock 2020-03-16 github

I was also wanting to play Darkstar One... Unfortunately, running Xubuntu (or Ubuntu) with Steam Proton 5.0 doesn't run for very long until crashing.
I try to play with "PROTON_USE_WINED3D=1 %command%". I also posted that I'm unable to play on Proton DB but, I think this comment section may help. If DXVK works, then I can play again. Otherwise, I can be directed to an alternate solution.
The problem I have may also have the same root problem as DXVK, seeing that after anywhere from 2-10 minutes of gameplay (including cut scenes) causes the game to crash.

Please let me know if I should open a new Issue and how I might go about gathering log data.
Thanks

WWinterSnowfall 2020-03-16 github

@Lilrock For what it's worth, I've had no problem with the game on Wine Staging without DXVK. I've played it for hours at a time in the past.

LLilrock 2020-03-17 github

I guess that's why I'm having troubles now? I'm trying to say if DXVK works, I'll be able to play without issue. Otherwise, playing without DXVK, I have a limited amount of play time before crashing to desktop.

WWinterSnowfall 2020-03-18 github

Otherwise, playing without DXVK, I have a limited amount of play time before crashing to desktop.

Got it. And I'm saying that the game works fine for me without DXVK, except for very rare crashes (it's never been an 100% stable game), ever after playing for several hours.

That being said, I've tried it now on Wine Staging 5.4 and got frequent crashes with ESYNC enabled, so perhaps try PROTON_NO_ESYNC=1 in conjunction with PROTON_USE_WINED3D=1 and see if that's any better, at least until it gets fixed in DXVK.

Edit: Ignore what I just said. It seems loading back some older saves makes the game crash instantly for me regardless of ESYNC and that definitely wasn't happening in Wine Staging 4.x, when I got to play most of it. I guess newer versions of Wine broke something. It's definitely not stable any more. Perhaps it would work with an older version of Proton.

WWinterSnowfall 2020-03-18 github

Well, after some debugging, I have some good news and some bad news.

Good news: Turns out it's not a DXVK issue after all!

Bad news: The game is unstable and crashes at random points if it doesn't use the msvcp/msvcr dlls shipped in its base directory. Using whatever Wine ships causes an immediate crash with DXVK and wierd random crashes with WineD3D.

It works perfectly if you start the game as follows (in Wine Staging):

WINEDLLOVERRIDES="msvcp70,msvcp71,msvcr70,msvcr71=n" wine DarkStarOne.exe

Hope this will help some poor struggling souls in the future.

Happy gaming!

P.S.: The game also needs LAA to run properly, especially with DXVK, so either patch the executable or use WINE_LARGE_ADDRESS_AWARE=1.