ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.26k stars 175 forks source link

Rusted Warfare - RTS (647960) java game stopped launching in Steam beta #11388

Open TAforever opened 3 weeks ago

TAforever commented 3 weeks ago

Your system information

Please describe your issue in as much detail as possible:

The game Rusted Warfare in Steam beta has stopped running. If you roll back to the normal version of the client, the game starts, and also runs in the terminal. Here is part of the log:

chdir "/home/theodor/.local/share/Steam/steamapps/common/Rusted Warfare"
ERROR: ld.so: object '/home/theodor/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/theodor/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/theodor/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/theodor/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Game Recording - would start recording game 647960, but recording for this game is disabled
Adding process 3585273 for gameID 647960
ERROR: ld.so: object '/home/theodor/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 3585277 for gameID 647960
Adding process 3585278 for gameID 647960
pid 3585394 != 3585390, skipping destruction (fork without exec?)
pid 3585399 != 3585390, skipping destruction (fork without exec?)
Adding process 3585390 for gameID 647960
Using embedded jvm
args: -steam
Adding process 3585420 for gameID 647960
Adding process 3585421 for gameID 647960
Game 647960 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList
Game 647960 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps
Game 647960 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_003 / HTMLSurface
Game 647960 created interface STEAMHTTP_INTERFACE_VERSION002 / HTTP
Game 647960 created interface STEAMINVENTORY_INTERFACE_V001 / Inventory
Game 647960 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote
Game 647960 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music
Game 647960 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 / RemoteStorage
Game 647960 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots
Game 647960 created interface STEAMUGC_INTERFACE_VERSION009 / UGC
Game 647960 created interface STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001 / UnifiedMessages
Game 647960 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / UserStats
Game 647960 created interface STEAMVIDEO_INTERFACE_V001 / Video
Game 647960 created interface SteamController005 / Controller
Game 647960 created interface SteamFriends015 / Friends
Game 647960 created interface SteamMatchMaking009 / Matchmaking
Game 647960 created interface SteamMatchMakingServers002 / MatchmakingServers
Game 647960 created interface SteamNetworking005 / Networking
Game 647960 created interface SteamUser019 / User
Game 647960 created interface SteamUtils008 / Utils
Game 647960 method call count for IClientUtils::RecordSteamInterfaceCreation : 22
Game 647960 method call count for IClientUtils::GetAppID : 23
Game 647960 method call count for IClientUser::GetSteamID : 1
Uploaded AppInterfaceStats to Steam
Game Recording - game stopped [gameid=647960]
Removing process 3585421 for gameID 647960
Removing process 3585420 for gameID 647960
Removing process 3585390 for gameID 647960
Removing process 3585278 for gameID 647960
Removing process 3585277 for gameID 647960
Removing process 3585273 for gameID 647960
TTimo commented 3 weeks ago

The game launches successfully when switched over to Steam Play (Proton).

The shell launch script gimps out the LD_LIBRARY_PATH, which normally cause problems but is unrelated to the start failure in this case:

LD_LIBRARY_PATH=. $jvm [..]

Should be:

LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH $jvm [..]

Under SLR the game fails to initialize OpenGL, lastrun.log reports this:

Using embedded jvm
args: -steam
Setting breakpad minidump AppID = 647960
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198078021748 [API loaded no]
java.lang.ExceptionInInitializerError
        at com.corrodinggames.rts.java.Main.a(SourceFile:797)
        at com.corrodinggames.rts.java.Main.main(SourceFile:114)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(LinuxDisplay.java:951)
        at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:738)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
        ... 2 more

At least one problem is that liblwjgl64.so is not compatible with the steam runtime:

[timo@vanguard Rusted Warfare]$ ldd -r liblwjgl64.so 
[..]
        libjawt.so => not found
[..]

This should probably be reported to the developers, asking them to either fix their Linux build to be compatible with the Steam Linux runtime, or just remove it so folks use Steam Play.

TTimo commented 3 weeks ago

Oh nevermind about libjawt.so, it's in jvm-linux/lib/amd64 and the jvm is probably smart enough to find it there.

TAforever commented 2 weeks ago

@TTimo I informed the developer in Discord, but he has not responded yet. By the way, as a competent person, could you comment on why my previous issue, which I opened in July, has not been fixed yet. Maybe I'm wrong about something? https://github.com/ValveSoftware/steam-for-linux/issues/11085

TTimo commented 2 weeks ago

my previous issue, which I opened in July, has not been fixed yet

Unfortunately we do not have the developer bandwidth to look at all the issues that are reported to us. For various reasons, we are not able to provide much visibility into our process for reviewing and selecting issues that we address.