Skip to content
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

Does not allow pressure-vessel to mount container runtimes from a non-default Steam Library #289

Closed
3 tasks done
smcv opened this issue Jul 31, 2023 · 5 comments
Closed
3 tasks done
Labels
type/bug Something isn't working

Comments

@smcv
Copy link

smcv commented Jul 31, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Have you checked the wiki for solutions?

  • I have searched the wiki

Is this a Steam Snap-specific issue?

  • This is a Steam Snap-specific issue

Current Behavior

ValveSoftware/steam-runtime#602

The user reported that they have "Steam Linux Runtime - sniper" installed in /media/myrmidon/Linux Games/Steam Library/steamapps/common/SteamLinuxRuntime_sniper.

Launching a Proton 8.0 game fails with:

bwrap: Can't bind mount
/oldroot/media/myrmidon/Linux Games/Steam Library/
steamapps/common/SteamLinuxRuntime_sniper/var/tmp-9T0171/usr
 on /newroot/usr: Unable to mount source on destination: Permission denied

(newlines added for readability, in the real log file this is a single long line)

Expected Behavior

If Canonical is going to package Steam as a snap, then it should allow pressure-vessel to bind-mount the container runtime /usr from at least the most common locations for a Steam library.

Locations below /home/ are already allowed by mount options=(rw, rbind) /oldroot/home/**/usr/ -> /newroot/usr/, plus some related lines for usr/etc.

There should be similar expressions replacing /home/ with /media/, /mnt/, /run/media/. It would be OK to limit these to something like /oldroot/media/**/steamapps/common/**/usr if desired, but please don't go any more specific than that, to avoid relying on implementation details that would make this Snap even more fragile than it already is.

For completeness, maybe /opt/, /srv/ should also be allowed.

Steps To Reproduce

Untested because I'm forwarding someone else's issue report, but these steps should reproduce the issue:

  • Set up a Steam Library on a non-default disk (in /media, /mnt/, /run/media/ or a similar location)
  • Install "Steam Linux Runtime - soldier" and/or "Steam Linux Runtime - sniper"
  • Use Steam's UI to move them into that Steam Library if they are not already there
  • For soldier, launch a Windows game that uses Proton 5.13, 6.3 or 7.0, or a native Linux game that has been forced to use the "Steam Linux Runtime" compatibility tool
  • For sniper, launch a Windows game that uses Proton 8.0 or Experimental, or one of a few native Linux games that use sniper: Dota 2, Endless Sky, Retroarch

Environment

(not available, I'm forwarding someone else's issue report)

gaming-graphics-core22 version

No response

Anything else?

No response

@smcv smcv added the type/bug Something isn't working label Jul 31, 2023
@smcv
Copy link
Author

smcv commented Jul 31, 2023

This is probably the root cause of #126, and possibly some of the launch failures in #27 (although not necessarily all of them).

I've reported it as a separate issue to avoid user reports of similar symptoms happening for different reasons getting mixed together.

@ashuntu
Copy link
Collaborator

ashuntu commented Sep 5, 2023

This should be resolved by canonical/snapd#13053.

@ashuntu ashuntu closed this as completed Sep 5, 2023
@ssrhunter
Copy link

ssrhunter commented Dec 24, 2023

I upgraded to the latest beta version of snapd 2.61.1 but I still get the following error:

pressure-vessel-wrap[7803]: W: "snap/steam/154/graphics/usr/share/libdrm" is unlikely to appear in "/run/host"
pressure-vessel-wrap[7803]: W: "snap/steam/154/graphics/usr/share/libdrm" is unlikely to appear in "/run/host"
pressure-vessel-wrap[7803]: W: "var/lib/snapd/hostfs/usr/share/drirc.d" is unlikely to appear in "/run/host"
pressure-vessel-wrap[7803]: W: "snap/steam/154/graphics/usr/share/drirc.d" is unlikely to appear in "/run/host"
pressure-vessel-wrap[7803]: W: "var/lib/snapd/hostfs/usr/share/nvidia" is unlikely to appear in "/run/host"
pressure-vessel-wrap[7803]: W: "var/lib/snapd/hostfs/usr/share/nvidia" is unlikely to appear in "/run/host"
bwrap: Can't bind mount /oldroot/etc/drirc on /newroot/etc/drirc: Unable to mount source on destination: Permission denied
Uploaded AppInterfaceStats to Steam

@smcv
Copy link
Author

smcv commented Jan 2, 2024

This is a closed issue, so please open a separate issue for at least this new problem:

bwrap: Can't bind mount /oldroot/etc/drirc on /newroot/etc/drirc: Unable to mount source on destination: Permission denied

@ssrhunter
Copy link

Ok, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants