-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moving Steam Linux Runtime causes Proton games to instantly fail and not log any errors #495
Comments
Was this via I was unable to reproduce this problem by using If you move the files manually, then it seems reasonable that Steam will not know where to find the new location of the compatibility tool (how would it know?) and therefore launching will fail.
If you run Steam from a terminal (gnome-terminal, xterm, konsole or equivalent), every time you launch a game it will log what command you are trying to launch. For a Proton game, the command includes the soldier container runtime wrapper, the Proton wrapper, and the game itself.
If Steam can't find the compatibility tool, then Proton will never start, so it can't possibly produce logs. |
sorry if this was not clear, i definitely meant via steam (
are you sure? because every time i have launched steam via terminal it either forked itself or just printed ~3 lines at startup and then never again, do i need a special argument like (for reference i had tried that on manjaro, debian, ubuntu, linux mint), though some of them were at different (older) times |
If Steam is already running, then the second instance will just send a message to the first instance, then exit. You'll need to completely exit from Steam, so that the instance you launch from a terminal is the first one you ran. |
What you should see when you launch a game is something like this:
except it'll all be one line. If Steam has lost track of where the compatibility tool is installed, then you'll probably get a "No such file or directory" error message shortly afterwards. I tried moving |
i know, i meant it when no other instance was started so as clarification: that was the experience i had last time i tried, and i now tried again - and my console was full of logs (i think the last time i tried debugging steam with logs was mid 2021) I have now run steam with logging, moved the tool, tried a (few) games, and then moved it back and exited, here are the lines i think may be errors / warnings: ERROR: ld.so: object '/home/hasezoey/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
pressure-vessel-wrap[218815]: E: Could not create copy "./bin/[" from "/mnt/projects/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/soldier_platform_0.20220131.0/files/./bin/[" into "/tmp/tmp-L3VOI1/usr": Setting xattrs: fsetxattr(btrfs.compression): Operation not supported |
You can safely ignore this, it's an oddity of how Steam gets the overlay loaded. |
This is a bug in the container runtime, but I don't quite understand what's happening there: there are at least two things wrong. The first problem is that the container setup tool (pressure-vessel) is copying the container runtime into The second problem is that when copying from |
Have you modified the If you have made any modifications like those, please undo those modifications before continuing. If undoing any local modifications doesn't fix this, with
Then try launching a Proton game. This will produce a lot more output in the terminal and in (Normally I'd be asking you to use |
no i have not messed with this tool's install at all (like i said in the original i would actually like to completely reset it, which is not possible, because i cannot uninstall because of
there are none set that i manually set
while the tool is moved to where it currently fails or where it is working? also, i dont know if it means something but also, when it works, the tool is creating a directory |
Whichever is easier, the information I'm looking for is mostly going to be before it fails. The output of
That sounds like pressure-vessel has somehow decided to use The "basic Linux system" you mention is a copy of the soldier container runtime, altered to use your host system's graphics drivers. It's intentional that this is created, but it's meant to be in
The container runtime doesn't control how Steam installs and uninstalls it, so that would be a separate issue (in |
total 48
drwxr-xr-x 1 hasezoey hasezoey 240 Mar 9 20:12 .
drwxrwxr-x 1 hasezoey hasezoey 436 Mar 9 20:10 ..
drwxr-xr-x 1 hasezoey hasezoey 42 Mar 9 20:10 pressure-vessel
-rwxr-xr-x 1 hasezoey hasezoey 2480 Aug 25 2021 README.md
-rw-r--r-- 1 hasezoey hasezoey 0 Aug 26 2021 .ref
-rwxr-xr-x 1 hasezoey hasezoey 590 Feb 9 20:41 run
-rwxr-xr-x 1 hasezoey hasezoey 590 Feb 9 20:41 run-in-soldier
drwxr-xr-x 1 hasezoey hasezoey 58 Mar 9 20:12 soldier_platform_0.20220131.0
-rwxr-xr-x 1 hasezoey hasezoey 162 Aug 25 2021 toolmanifest.vdf
-rwxr-xr-x 1 hasezoey hasezoey 7394 Jan 4 18:30 _v2-entry-point
lrwxrwxrwx 1 hasezoey hasezoey 5 Mar 9 20:12 var -> /tmp/
-rwxr-xr-x 1 hasezoey hasezoey 264 Feb 9 20:41 VERSIONS.txt
total 32
drwxr-xr-x 1 hasezoey hasezoey 240 Mar 10 11:50 .
drwxr-xr-x 1 hasezoey hasezoey 352 Mar 10 11:49 ..
drwxr-xr-x 1 hasezoey hasezoey 42 Mar 10 11:49 pressure-vessel
-rwxr-xr-x 1 hasezoey hasezoey 2480 Aug 25 2021 README.md
-rw-r--r-- 1 hasezoey hasezoey 0 Aug 26 2021 .ref
-rwxr-xr-x 1 hasezoey hasezoey 590 Feb 9 20:41 run
-rwxr-xr-x 1 hasezoey hasezoey 590 Feb 9 20:41 run-in-soldier
drwxr-xr-x 1 hasezoey hasezoey 58 Mar 10 11:49 soldier_platform_0.20220131.0
-rwxr-xr-x 1 hasezoey hasezoey 162 Aug 25 2021 toolmanifest.vdf
-rwxr-xr-x 1 hasezoey hasezoey 7394 Jan 4 18:30 _v2-entry-point
lrwxrwxrwx 1 hasezoey hasezoey 5 Mar 10 11:49 var -> /tmp/
-rwxr-xr-x 1 hasezoey hasezoey 264 Feb 9 20:41 VERSIONS.txt i recall having at some point in time to have done a the following logs were ran with Steam Log for original location i had also many times already tried to validate all files with steam (built in after having removed the |
pressure-vessel doesn't create this symlink itself, so you must have created it at some point. Deleting Replacing anything that is normally owned by you with a symlink to a world-writeable directory ( I'm tempted to make pressure-vessel detect
They are not meant to accumulate, unless your games do not exit. Every time a new pressure-vessel instance starts up, it cleans up any When hard-links are working correctly, each
We have to do this setup every time because you might have installed, uninstalled or upgraded system packages, which would invalidate the decisions we made last time about which libraries to take from the host system; and we have to use a different directory every time because we can't guarantee that two containers aren't being launched simultaneously.
Steam and Steam games are I/O-intensive, so I would strongly recommend keeping your Steam library on a fully-featured local filesystem (such as ext4, btrfs or xfs). Removing the However, if the target directory supports hard links, then hard links within a mount point seem to work fine on sshfs. The inode number and link count don't correctly show up as hard-linked together in
|
From your log, it looks like the
and also
So there should only be one |
i know, i always quit uplay after a session (and even if not, it will be closed the next reboot happens)
can confirm that it actually cleans things up, the last time i actually had checked this was mid 2021 i think, where it didnt clean it up (even after reboots with no games / tools running) so i would say this is is "user error", but maybe some errors (without extra logging) would be helpful |
I agree. What I'm intending to do about this:
|
... is in the queue to be reviewed for a future SLR update. @kisak-valve, I think we can close this issue, since the reporter concluded that it was user error. |
@hasezoey, I don't need any more information from you for this (I was able to reproduce the same failure modes on a test system); so if you want to report the failure to uninstall/reinstall as a separate issue in Inability to uninstall/reinstall a Steam depot would be a problem with the Steam content downloader, rather than a problem with the specific content that you are uninstalling/reinstalling, so it would be a You shouldn't be able to uninstall soldier while you have Proton games installed (because that would make Proton unable to launch), but I would have expected that the error message should be more like «Cannot uninstall "Steam Linux Runtime - Soldier" because it is required by "Proton 7.0"». |
thanks for the help, i have also opened up the issue for being unable to uninstall it as ValveSoftware/steam-for-linux#8473 |
The SteamLinuxRuntime_soldier and SteamLinuxRuntime_sniper betas now have these changes. |
Your system information
Please describe your issue in as much detail as possible:
Currently
Steam Linux Runtime - Soldier
when moved to a different steam library fails to start any Proton game (that has worked before moving)also, it is not uninstallable to be able to re-install it (see error at the end)
Steps for reproducing this issue:
Tool =
Steam Linux Runtime - Soldier
Also i cannot uninstall the Tool and try to re-install it because of
Error: missing shared Content
PS: i dont have any logs for this, because Proton does not even go so far as to start logging and if there are steam launcher logs, i have not found them, also i have not found any dumps
The text was updated successfully, but these errors were encountered: