ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.27k stars 174 forks source link

Shouldn't allow creating a Steam library in locations that won't work #10096

Open smcv opened 1 year ago

smcv commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

There are several reserved filesystem paths that can't be used by the Steam Linux Runtime container runtime framework. Increasingly many games being run on Linux are either Windows games via Proton or native Linux games via Steam Linux Runtime 3.0 (sniper), which won't work if Proton, Steam Linux Runtime or the game itself are installed into a library in one of these reserved locations.

The container runtime doesn't have control over its own install location, and doesn't have any user interface other than logging, so it isn't a good place to handle this error. The Steam client should not allow these reserved locations to be used as locations for Steam libraries, with a user-facing error message (or at least a warning).

The affected paths are mainly /etc and /usr/local, but for completeness, none of these should be allowed:

Most of /run and /var/run also won't work, but there are exceptions to those: /run/flatpak/doc, /run/media and /run/user/*/doc should be OK.

In particular, I expect Steam libraries below /run/media/ to be common, especially on Steam Deck, so Steam definitely does need to allow those.

Steps for reproducing this issue:

For example see https://github.com/ValveSoftware/steam-runtime/issues/621, https://github.com/ValveSoftware/steam-runtime/issues/288.

lorddevereux commented 8 months ago

Confirmed this is still an issue, games simply fail silently. There should be some kind of GUI notification as to what went wrong or why.