ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.57k stars 1.07k forks source link

Slay the Spire crashes with `org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes` exception #8222

Closed ntBre closed 1 week ago

ntBre commented 2 weeks ago

Compatibility Report

System Information

I confirm:

I also tried submitting a support request through Steam since I'm not sure this is a Proton-specific issue, but the response I got redirected me here.

Symptoms

Slay the Spire suddenly fails to launch through Steam but runs fine by invoking the executable directly through the command line. stderr for Steam reports this exception:

Exception in thread "LWJGL Application" java.lang.ExceptionInInitializerError
    at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:558)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(LinuxDisplay.java:954)
    at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:738)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
... 2 more

I'm on Arch Linux and have been playing StS fine for months. I hadn't updated my Arch Linux computer in a couple of weeks and played StS two days ago, but I saw Steam update when I first opened it today and then the game wouldn't launch. Other games are working fine, but StS won't launch either as a native game (as I usually play) or through the couple of Proton versions I tested (experimental, and the most recent numbered version). After encountering an issue, I did update my Arch packages and restarted both my computer and Steam multiple times to no avail.

In searching this error message, I found that some people reported needing to install xrandr, but I definitely have xrandr installed and use it to set up my displays in my .xinitrc. I also tried removing info.displayconfig as suggested here, as well as modifying it with various values. I also tried changing the resolution after opening the game from the command line, both using the normal executable and SlayTheSpireTroubleshoot.sh. Finally, I tried setting XDG_SESSION_TYPE to x11 as suggested here, but that also didn't work. I didn't try setting it in my .xinitrc or anything, but I tried adding XDG_SESSION_TYPE=x11 as a launch option and setting it when invoking steam.

Reproduction

Try to open Slay the Spire on the most recent version of Steam on Linux.

I hope this is the right place to report this. I know much of my debugging sounds like this is a game-specific issue, but the fact that it happened immediately after the Steam update and that the game launches fine without Steam makes me think it's some kind of Steam issue. Let me know if you need any more information!

kisak-valve commented 1 week ago

Hello @ntBre, this issue is already being tracked at https://github.com/ValveSoftware/steam-runtime/issues/702 and Proton is not involved in this specific issue.

Closing as a duplicate.

ntBre commented 1 week ago

Ah makes sense, thank you! Sorry for the noise. I didn't realize Steam had so many packages on GitHub, this is great!