protonscr

Strip Fighter ZERO

protonopen appid 2249070Game compatibility - Unofficial
ValveSoftware/Proton#7946 · opened 2024-07-29 by furrykef · updated 2024-07-30 · 3 comments · github · game page · search this game
Ffurrykef 2024-07-29 github

Compatibility Report

  • Name of the game with compatibility issues: Strip Fighter ZERO
  • Steam AppID of the game: 2249070

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

On launch, the game will pop up a black window, which is only visible for a fraction for a second before the game exits. Occasionally the black window stays for much longer, up to maybe a minute, but it will still close without the game ever starting.

I've figured out a possible reason. I logged with PROTON_LOG="+relay" and I found this little gem:

282640.341:0028:002c:Call KERNEL32.GetModuleHandleW(6fffffa742ea L"mscoree") ret=6fffffa2ed4a
282640.341:0028:002c:Call ntdll.RtlInitUnicodeString(0021fd10,6fffffa742ea L"mscoree") ret=6fffffc3d632
282640.341:0028:002c:Ret  ntdll.RtlInitUnicodeString() retval=00000010 ret=6fffffc3d632
282640.341:0028:002c:Call ntdll.LdrGetDllHandleEx(00000001,00000000,00000000,0021fd10,0021fd08) ret=6fffffc3d64c
282640.341:0028:002c:Ret  ntdll.LdrGetDllHandleEx() retval=c0000135 ret=6fffffc3d64c
282640.341:0028:002c:Call ntdll.RtlNtStatusToDosError(c0000135) ret=6fffffc3d664
282640.341:0028:002c:Ret  ntdll.RtlNtStatusToDosError() retval=0000007e ret=6fffffc3d664
282640.341:0028:002c:Ret  KERNEL32.GetModuleHandleW() retval=00000000 ret=6fffffa2ed4a
282640.341:0028:002c:Call KERNEL32.ExitProcess(00000000) ret=6fffffa2ed72

This suggests that for some reason the game is trying to call GetModuleHandleW on mscoree.dll without ever having called any of the LoadLibrary family of functions for this DLL. Thus the call to GetModuleHandleW fails and it looks like this makes the game (or at least something) give up and quit. Indeed, I don't see any LoadLibrary calls for this DLL in the log. What I don't know is what to do about this.

Here is the log file. Be warned that it's 171 MB when decompressed.

Reproduction

Nothing special needed to reproduce; the game doesn't launch.

Ffurrykef 2024-07-29 github

I replaced the logfile because I think I mistakenly attached one that was generated with GloriousEggroll. The new one is with vanilla 9.0-2.

Ffurrykef 2024-07-29 github

gofman asked me on Discord for a log with just PROTON_LOG=1 (instead of +relay) after deleting the prefix. So I reinstalled the game (and verified that this deleted the prefix) and ran it with vanilla 9.0-2 and no protontricks. This is the log it produces for the very first run on a fresh install: steam-2249070-no-relay.log

Incidentally, gofman also reports that the game runs on his system with Proton 9.0-2 and Experimental. I've also heard at least one report of it running on Steam Deck, though I don't know whether that is with the current version of the game. One thing that gofman's machine and the Steam Deck have in common is they have AMD GPUs, whereas mine is Nvidia, but that may be a coincidence.

Ffurrykef 2024-07-30 github

Thanks to gofman's help, I've found that the following two solutions work (pick one):

  1. Run the game from a different drive
  2. Launch with PROTON_SET_GAME_DRIVE=1

I suspect the problem is the game doesn't like the path Z:\home\furrykef\.local\share\Steam\steamapps\common\Strip Fighter ZERO. Maybe it chokes on the dot in .local or something. Both of these solutions will give the game a different path, avoiding the problem.

Proton versions

Launch options

DLLs