protonscr

Lumote

protonclosed appid 990040Game compatibility - Unofficial
ValveSoftware/Proton#3754 · opened 2020-04-11 by Sojiro84 · updated 2020-04-21 · 5 comments · github · game page · search this game
SSojiro84 2020-04-11 github

Compatibility Report

  • Name of the game with compatibility issues: Lumote
  • Steam AppID of the game: 990040

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.

steam-990040.log

Symptoms

Game crashes at startup.

Reproduction

Start the game.

SSojiro84 2020-04-11 github

I got in contact with the developer and we managed to make the game run with Proton. So I shall close this issue since it now runs like a charm without any issues.

Mmozo78 2020-04-12 github

And it will be great to share with us how do you achieve that.

SSojiro84 2020-04-12 github

And it will be great to share with us how do you achieve that.

What do you mean? I found out that the developers had a Discord. So I joined there and told them I was a Linux user and that the demo of the game was crashing. One of the developers was willing to look into it to see if it was easy to fix.

I send a few logs to him and a crash dump and he found out the issues and when I could run the demo and finish it, that build was pushed to the live game.

And now we can all enjoy another Proton win! :D

Mmozo78 2020-04-12 github

I see, thanks :)

Kkylawl 2020-04-21 github

If anyone wants a bit more context. This these were the 2 bugs we needed to fix in Lumote.

  1. We ship all of the shaders pre built but we still generate a few stubs at runtime in order to work around a dumb requirement with vertex decl generation in Dx11. Proton doesn't provide an alternative to d3dcompiler_47.dll so we needed to include a copy in our deployment

  2. Our engine's mutex wrapper had an issue which caused an crash due to a subtle difference in the post destruction state of a critical section stuct under Windows vs Linux. In order to fix this, we needed to correct our mutex bugs. In Windows, calling DestroyCriticalSection zeros the struct, but under proton it appears that it is either left as is or reset to it's a state similar to InitializedeCriticalSection. We were incorrecly asserting about the internal state of the critical section after calling DestroyCriticalSection which caused the crash.

Hope that's helpful

DLLs