-
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
Proton 5.13 can not handle /usr/local/games steam library folder #288
Comments
Uhm, OK, if I |
Hello @rcpoison, let's treat this as a pressure vessel issue until there's a stronger indication that the issue is elsewhere. |
Almost! As a result, Your real
I'd recommend putting Steam libraries on a FHS system below It would probably be possible to make a special-case exception for Making |
@smcv thanks for the detailed explanation. /usr/local/games is just an artifact since my system wasn't reinstalled for 13 years with old games that installed themselves there and I wanted all games on a dedicated disk - this was the lazy solution :) Bind mount works fine. Thanks again. |
@smcv I also have my SteamApps directory moved elsewhere. In my case, it's under
|
@LubosD: Please open a separate issue with the full details. This issue is specifically about /usr/local. |
@smcv I'd like to revisit this as I think if steam is expecting to write into the games install directories as part of its compatibility layer (which are typically read-only on windows as well, and games write to Finally, since pressure-vessel seems to be based on flatpak, I'd like to use the fact that flatpak does not make this same assumption and only mounts it read-only if explicitly set by the user, https://github.com/flatpak/flatpak/blob/master/common/flatpak-exports.c#L380 And since I'm here, thanks for all the work on making linux gaming possible and for 5.13! I long thought using containers to provide portable runtime environments for games was the solution to the growing and seemingly unmaintainable list of game-specific hacks in upstream application. We have dozens of different production runtime environments at work and the only way to sanely maintain all the dependencies for building is to setup app specific container build environments. It works really well. |
I'm going to flag this as a known issue in documentation at some point. I don't know whether it will eventually change, or whether it will always be something that is documented as not expected to work, but either way it is not likely to be something that will change soon, because we have other things that need to be worked on as a higher priority.
I think you're mixing up two separate things here. The main thing stopping us from using a Steam Library below We do mount the host system's Yes, we also do hard-code the host's Flatpak is the same in this respect: if you run a Flatpak app with Now, as I said before, obviously we could pile on more special cases to make paths below A secondary issue is that the container's We also want to minimize the number of paths that always have to end up read/write, because a future goal for the container runtime system is to prevent games from writing to locations other than their intended data paths, so that Steam can know every location that might be needed for cloud sync - analogous to what you said about only writing to
Steam developers would know better, but my understanding is that Steam expects to be able to write to all of the Steam libraries that are configured for it. If you run programs from a directory that is owned or writeable by another user, then that other user can edit the contents of the directory to execute arbitrary code with your privileges (privilege escalation), so this is only something you can do if every user sharing the Steam library trusts every other user who has write access to it
Individual games might either write to a per-user location, or to their own directory in the library. Both models are common, and Steam does not control what they do. I personally think they should normally only write to Steam compat layers (which are installed alongside games) also write to their installation directory. Proton has a separate directory for mutable state (mainly the |
@smcv You could at least bind map the whole |
That's orthogonal to this issue, which is specifically about |
If this is going to remain the case, Steam should throw a very clear UI error when you attempt to install a Windows game on Linux into a library under /usr. As it stands right now, here's how it goes:
Adding documentation only changes the very last step. If it's well-known to Steam's dev team that it is not possible to launch games in a library in /usr, it shouldn't allow users to install there; it should fail with a very clear indication that the library needs to be elsewhere. Personally, I'd probably go as far as to not allow people to put libraries there at all, but if Linux-native games work fine there (do they?) I can see an argument one way or the other. Either way, "document it on a webpage somewhere" is not a solution. |
/usr is not mounted by pressure-vessel-wrap and will print a warning instead. Follow Steam Runtime behavior by not attempting to mount /usr. The warning will still appear if either the Steam library or Proton installation is located under /usr. This is preferable, since it informs the user that they should move the directory elsewhere. Also see: ValveSoftware/steam-runtime#288
The Steam Runtime doesn't have any user interface other than logging, and doesn't have any control over where you install Steam games/apps/tools, so this would need to happen in the Steam client, not the Steam Runtime. I've opened ValveSoftware/steam-for-linux#10096 for that. |
Can not get anything working with proton 5.13 while having a separate "Steam Library Folder"
Steps taken to reproduce:
The text was updated successfully, but these errors were encountered: