protonscr

Kreedz Climbing

protonopen appid 626680Game compatibility - Unofficial.NET
ValveSoftware/Proton#2555 · opened 2019-04-18 by Goordon · updated 2019-07-24 · 3 comments · github · game page · search this game
GGoordon 2019-04-18 github

Compatibility Report

  • Name of the game with compatibility issues: Kreedz Climbing
  • Steam AppID of the game: 626680

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

Game is shown as "Running" but nothing's happening. Game can then only be stopped running using SIGKILL.

Reproduction

Start the game.

Mmadewokherd 2019-04-22 github

40937.400:0033:0047:err:ntdll:RtlpWaitForCriticalSection section 0x7bcf7da0 "../../../../proton/wine/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0047, blocked by 0034, retrying (60 sec)

Seems to be some sort of deadlock in the loader.

KkzRaptor 2019-05-18 github

Hi, I've identified the cause of this problem:

Kreedz Climbing is compiled against two versions of the steam_api dll - the engine hl2.exe and server.dll use an older version, whereas the client.dll uses a newer version. It seems this mismatching of API versions is what's causing the issues loading, as the Source SDK Base 2013 application has the same problem if it is forced to use an steam_api dll of a higher version that it was compiled against.

This problem doesn't happen on Windows because the steam API is supposed to be backwards compatible, so code requests the version of the API it needs. I'm assuming perhaps Proton does some sort of custom handling of this API, as the game can successfully start under these conditions on some versions of standalone Wine.

Although it's uncommon for a game to request two different versions of the API, supporting this would be really great and allow this game to be played with Proton, as this mismatching is required to get around the fact the engine can't be recompiled with the later version.

To clarify: the game cannot successfully launch (we encounter these loader deadlocks) if the steam_api.dll is of a higher version than the application is compiled against. This is not a problem on regular Windows, and some versions of Wine, so it's definitely an issue with Proton.

I'm not sure how difficult this issue would be to solve, but if attention could be given to it, that would great, thank you!

BBesath 2019-07-24 github

Not sure if related, but if you try to run it with Proton from the terminal, you get an error stating "Unable to connect to Steam - please ensure Steam is running. If Steam is running, please try restarting it." The Steam process that Proton starts is, of course, running.

DLLs