protonscr

Steam Overlay crashes games with threaded presentation in new client beta

steamclosed overlay
ValveSoftware/steam-for-linux#9464 · opened 2023-05-05 by PJB3005 · updated 2023-05-15 · 7 comments · github
PPJB3005 2023-05-05 github

Your system information

  • Steam client version (build number or date): 1683253302
  • Distribution: NixOS
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Our game does game logic, rendering and present on another thread from the one handling WSI (accepting input events etc). We use GLFW, and according to their docs, glfwSwapBuffers() is perfectly safe to call from another thread. This has worked fine for us. (this is all with OpenGL and X11, for however much that matters)

On the new Steam Client Beta (with all the fancy UI changes) this has however caused the game to start reliably crashing on startup. If I disable the Steam Overlay, it's fixed. If I disable threaded windowing API (we have a config option for this), it's fixed.

Steps for reproducing this issue:

  1. Install Space Station 14 (Playtest)
  2. Make an account, connect to a server from the launcher
  3. Game crashes after presenting like two frames

Continuing that, you can add the following to $XDG_DATA_HOME/Space Station 14/data/client_config.toml to confirm it goes away when windowing and presentation is on the same thread:

[display]
thread_window_api = false

Apologies if this should go into the Steamworks developer forum or the Steam Client beta forum instead, wasn't really sure what the best place to post this was.

Let me know if I should provide a core dump (also if so, how? I don't wanna upload public core dumps to GitHub)

TTTimo 2023-05-05 github

Hello @PJB3005,

Maybe it's easier if we can reproduce locally. I see your game is in early access, if I send a 'Request Access' could you approve it?

PPJB3005 2023-05-05 github

@TTimo it's in open signup, so you get access immediately after pressing the button. (it's also 100% free)

TTTimo 2023-05-05 github

It looks like I need to register to get past the launcher, and so far it's failing to open a web page. Maybe there's a URL I can directly to?

PPJB3005 2023-05-05 github

That's broken? Bloody hell. Backup link but I guess I have even more bugs to fix on my side.

TTTimo 2023-05-05 github

Thanks, I can reproduce. This is the same issue as (https://github.com/ValveSoftware/csgo-osx-linux/issues/3172), which is useful since I can't reproduce that other one.

TTTimo 2023-05-15 github

This is fixed in latest public beta here (1683944175), can you confirm?

PPJB3005 2023-05-15 github

Yep, seems fixed!

Nothing extracted yet.