Closed ipkpjersi closed 3 years ago
Download Old School RuneScape from Steam and change the launch options to
"/home/user/Desktop/games/runelite.sh" %command%
or wherever your RuneLite install is
Modifying a Steam game so it runs some entirely different game instead is not really something that we can support: the number of possible things that could go wrong with that is endless. I realise Old School Runescape and RuneLite are probably clients for the same network service, but from the Steam Runtime's perspective that's irrelevant: what matters for the Steam Runtime is how the game starts up.
Old School Runescape is a Windows game being run under Proton, but from your mention of AppImage and a .sh
shell script, presumably RuneLite is a native Linux game? Windows games under Proton and native Linux games that do not need Proton are launched rather differently.
If you look at pstree
while pressure-vessel-launcher
is still running, what other processes are still running? I suspect you might find that Proton's Wine helper processes like winedevice.exe
are also still there.
Close out of Old School RuneScape (really, RuneLite)
After you do this, does Steam show the game as still running (the "Play" button changes into "Stop"), or does Steam show it as having exited (the button changes back to "Play")?
Yeah I understand this use case isn't really supported, I thought it might be worth looking into in case it is a bug with Pressure Vessel itself. RuneLite is basically a third-party (official/unofficial) client for Old School RuneScape, which was a game traditionally written in Java, then ported to C++ for Steam. I wrote a script that launches the RuneLite AppImage with a flag (prevents a bug from happening in RuneLite), and I noticed that even after exiting Steam, Pressure Vessel still runs.
After you do this, does Steam show the game as still running (the "Play" button changes into "Stop"), or does Steam show it as having exited (the button changes back to "Play")? Steam doesn't show it as running when I close it, the Play button does actually say Play, and even when I exit out of Steam, Pressure Vessel is still running.
Here is the output of pstree
:
ps aux shows no mention of wine or Steam other than Pressure Vessel itself:
I'm fine with closing this issue off if we think it's out of scope or not actually a bug especially since my workaround basically makes this a non-issue for me.
Closing per the last couple comments.
Interesting. I think this maybe is a bug - probably not in pressure-vessel itself, but more likely a bug in the scripts in the SteamLinuxRuntime_soldier
directory. I can't be sure, because I don't know how much of this is your modifications and how much is the startup scripts themselves.
Please could you get the debug log requested in https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information and provide it as a gist or attachment?
I've tried capturing the logging with STEAM_LINUX_RUNTIME_LOG=1 steam
however there doesn't appear to be any slr log files in /var/log:
I then ran PRESSURE_VESSEL_VERBOSE=1 PROTON_LOG=1 steam 2>&1 | tee ~/pressure-vessel.log
but that doesn't seem to have super helpful logging either (it's mostly just logging from the game and then Steam itself, you can see I closed Steam completely, yet Pressure Vessel is still running in the background as I type this, when I have my workaround commented out, of course), I've now attached that log file.
pressure-vessel.log
edit: I just noticed it's supposed to be in the var directory of the game, not in /var/log. With that said, I don't have anything like ~/.local/share/Steam/steamapps
and it's not anywhere in ~/.steam/steamapps/common/Old School RuneScape
either so I suppose it doesn't matter.
The slr-*.log
file would appear in the var
subdirectory of SteamLinuxRuntime_soldier
, not the game. If you have not reconfigured installation locations, ~/.steam/steamapps/common/SteamLinuxRuntime_soldier/var
is a likely place to find it.
Apparently I had installed SteamLinuxRuntime_soldier to a different steam library which is why I couldn't seem to find it at first.
I've now attached the log file, hopefully it is helpful. slr-app1343370-s6688095af120fec9.log
slr-app1343370-s6688095af120fec9.log
Thanks, that helps.
Because you replaced a Proton game with a native Linux game, Steam is still running the Proton game's "setup commands" (installing MSVCRT, DirectX, etc. into Proton's WINEPREFIX
). It looks as though Steam never moves on to the stage of running the game where it would actually run the game - which is intended to be the point at which we tear down the container that was used for the setup commands, and start a new one for the actual game.
This might be related to https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/issues/54 (the container never getting terminated if game launch is cancelled).
I think we should leave this issue closed as "won't fix" (because replacing a game's launch commands with a mechanically unrelated game is not really something that is intended to work), and you can continue to use your workaround.
The official way to launch games from Steam that cannot be bought/downloaded from Steam is to add them as a non-Steam game.
If you can reproduce an issue similar to this one with a game that you have not reconfigured - for example the actual Old School Runescape client - then please create a new issue, with the full info from https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information.
I have the same issue. After game and steam client are closed, pressure-vessel-launcher
process still running. And I'm not altering any launch commands or so, just launching games via Steam/Proton 5.13-6.
This happens with every game. Games running fine, but every game launch spawns new pressure-vessel-launcher
instance and this bug became annoying.
Well, technically you should be able to use my workaround for any game, just add a script to the launch options that executes killall pressure-vessel-launcher
and that should automatically kill pressure-vessel-launcher
when the game is exited.
@ipkpjersi yeah I know. But I still think this behavior should be fixed.
After game and steam client are closed, pressure-vessel-launcher process still running. And I'm not altering any launch commands or so, just launching games via Steam/Proton 5.13-6.
Please open a separate issue with the full info requested in https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information.
Not played games for a while. Now updated to 6th version and glad to say that it don't have this issue anymore, at least for me. 🙂
Your system information
Please describe your issue in as much detail as possible:
When launching Old School RuneScape with launch options
"/home/user/Desktop/games/runelite.sh" %command%
, when closing out of the game and even closing out of steam, pressure-vessel-launcher keeps running.When launching the game via Steam, it looks like this: https://gist.github.com/ipkpjersi/215e67abe7bccc8435607aa0b57a894b
After closing out of the game and Steam, it looks like this: https://gist.github.com/ipkpjersi/8d8d27707568aa575894c0fbf10d5b7c
Here is my runelite.sh, it's really nothing special:
Steps for reproducing this issue:
"/home/user/Desktop/games/runelite.sh" %command%
or wherever your RuneLite install isps aux | grep pressure
, even though Steam is not running.In order to workaround this issue, I have to
killall pressure-vessel-launcher
after running the game.edit: I have found a better workaround, I have added
killall pressure-vessel-launcher
to the bottom of my runelite.sh script so that pressure vessel is automatically closed. However, this issue still might be worth looking into as it looks like there may be a potential resource/memory leak here with Pressure Vessel not automatically being closed.