protonscr

REQ: New App with Steam-Managed Storage

steamopen Feature Request
ValveSoftware/steam-for-linux#9013 · opened 2022-12-17 by cybik · updated 2022-12-18 · 2 comments · github
Ccybik 2022-12-17 github

Scenario

Let's say I have a non-Steam software payload of any kind (a game in a portable, self-contained format; a custom launcher for a game of some kind; a touch-screen app for "multiplayer painting"; whatever, really). Let's presume I want to use Steam on Linux, or possibly on Deck, to launch it, for any number of reasons (using Proton by default? Having the Steam overlay? Getting controller support for free? Anything, really).

There is one specific issue: right now, adding such an app is limited to being completely external. One cannot add an app to Steam and expect Steam to manage a specific directory for storage.

Caveat: I will admit that not all applications have a storage discipline that would use a directory, or directories, under a specific path.

YET, for those that do:

Request: Steam-managed Directory

When adding a non-steam game/app, allow the user the following options:

  • Add Non-Steam executable - Works as-is currently
  • Create Non-Steam Storage - Creates a new type of application entry in Steam:
    • Creating the path under whichever storage and giving it to the user front and centre
    • On creation, use xdg-open to open the location
    • Let the user set the executable to launch whenever they can, but have it always relative to the storage directory

With this, a user could add properly-made, portable/portable-ized non-steam apps/games, into Steam, and use Steam itself to move the app(s)/game(s) to different Steam-managed storage locations.

This becomes useful with the Deck, where non-Steam tools and games could be added in Desktop mode, in the internal storage, but then the user could use Steam to move everything to a microSD card without the actual non-steam game/app having to implement anything for it, because the storage itself would already be managed through SteamOS.


System information

  • Steam client version (build number or date): Latest
  • Distribution (e.g. Ubuntu): Ubuntu+Holo
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Immaterial
Kkisak-valve maintainer 2022-12-17 github

Hello @cybik, it's my opinion that this is a bit too far of a stretch for a feature request. There's no preexisting infrastructure to tie into and Steam has never claimed to isolate individual games run from it, which means there's no established file storage rules which could be used to properly scope what does and doesn't belong to any random arbitrary system application. Applications simply do not work relative to their install location. This would quickly digress into managing an ever growing pile of hacks to make it work in the best case scenarios.

The closest thing to this would be to extend Pressure Vessel's PRESSURE_VESSEL_SHARE_HOME=0 (enabled is default) mode, but understanding is that it's not ready for mass adoption and will come with a pile of issues trying to run applications that were not intended to be run in a Steam runtime environment.

That all said, the above comment is an opinion, not a hard NACK from a Steam developer. I don't expect for there to be any progress in this direction, but the future is full of possibilities.

Ccybik 2022-12-18 github

I completely understand, and honestly this was a longshot at best.

This idea/concept/illustration would work only in absolute best-case scenarios where the implied non-Steam apps have far more diligence than is common, and so your line about an ever growing pile of hacks, sadly, quickly goes from opinion to statement of fact.

Anyway, thanks for even taking the time to look at it.

Nothing extracted yet.