Steam for Linux

Steam for Linux

TTimo Nov 10, 2019 @ 1:11pm
2
2
2
6
Steam for Linux client adds support for Linux namespaces
The Steam client for Linux now supports using namespaces (a.k.a containers) to run game titles.

    This feature is available in the latest Steam client beta, and can be used for all native Linux titles in your Steam library.
    In order to run a title in a container, open the game's properties dialog, go to the general tab and select 'Steam Linux Runtime' under the 'Force the use of a specific Steam Play compatibility tool' drop down.

This new feature offers several advantages:

  • Titles are better isolated from the host system, improving a host of potential problems and enabling new features such as home isolation.
  • This feature improves Valve's ability to support older titles on newer distributions moving forward.
  • For developers, making sure your title runs in the container environment ensures better compatibility across multiple distributions, reducing your QA load.
  • For developers, Steam will be able to support newer runtimes via containers, which will include newer compilers and libraries.

How to use home isolation:

    Set PRESSURE_VESSEL_SHARE_HOME environment variable to 0 before running steam.

This is experimental! There are a few caveats:

  • Some titles will not run as-is in the container:

    Titles that do not run in the container can be reported to Valve at https://github.com/ValveSoftware/steam-runtime/

    Please provide a copy of your Help > System Information output when filing issues.

  • Proton over the container runtime is not supported yet.

  • The unofficial flatpak distribution of the Steam client is not compatible at this time.

    The flatpak solution wraps the entire Steam client, whereas Valve's approach is to wrap individual games first. Both approaches rely on the same technologies and we are looking into improving compatibility in the future.

  • Some of the more exotic graphics drivers setups like Bumblebee and Primus_VK will likely not work at this time.

    The container is setup to use the graphics drivers from the host system. We expect this release will bring us more testing coverage and identify various use cases that need to be improved.
Last edited by TTimo; Nov 11, 2019 @ 2:41pm
< >
Showing 1-15 of 138 comments
edmondo Nov 10, 2019 @ 2:26pm 
Nice! Thanks for working on this.
dbqp Nov 10, 2019 @ 3:05pm 
nice, I like the idea of containerized games in Steam
Last edited by dbqp; Nov 10, 2019 @ 3:06pm
Bloo Alien Nov 10, 2019 @ 3:08pm 
Right on. Nice to see Valve getting more familiar with and using Linux technologies more deeply. This should help with those games where developers pollute our home folders with "My Games" folders and other junk files.
Last edited by Bloo Alien; Nov 10, 2019 @ 3:10pm
maxtorete Nov 10, 2019 @ 3:10pm 
It's great to know a way to avoid Linux "fragmentation" problem is being worked on.

Thanks for your work.
Thanks for the hard work
At long last, Steam beginning to use Plan 9-st^Winspired features
The CRAIGGERS! Nov 10, 2019 @ 4:00pm 
I love you guys. This sounds awesome.
Cool, any performance hit ?
Bloo Alien Nov 10, 2019 @ 4:20pm 
Originally posted by GNU/LINUX facePlanted:
Cool, any performance hit ?
Highly doubtful. Containers are about as lightweight as it gets. Should be the same as running outside a container. Just more safe and controllable.
pb Nov 10, 2019 @ 4:28pm 
Per-app containers are cool but what I'd like to see is per-app-per-steam-user containers. I have a SteamOS installation with three users and many games make a mess with saves and achievements, for example one user is playing a game, unlocks some achievements, then logs off, another user logs in and runs the same game, and the achievements unlocked by user#1 get unlocked for user#2 instantly. Same with (some) game saves etc. I tried various tweaks and they sometimes worked but not always.
pb Nov 10, 2019 @ 4:32pm 
Originally posted by Bloo Alien:
This should help with those games where developers pollute our home folders with "My Games" folders and other junk files.

What I did was:
mkdir ~/saves ln -sf ../.steam ~/saves/ HOME=~/saves steam
and now all the 'homedir pollution' happens in ~/saves ;-)
Last edited by pb; Nov 10, 2019 @ 4:32pm
Bloo Alien Nov 10, 2019 @ 5:11pm 
Originally posted by pb:
Originally posted by Bloo Alien:
This should help with those games where developers pollute our home folders with "My Games" folders and other junk files.

What I did was:
mkdir ~/saves ln -sf ../.steam ~/saves/ HOME=~/saves steam
and now all the 'homedir pollution' happens in ~/saves ;-)
Oooooo! Tricky, tricky! That's a GOOD one! MUCH thanks for that there!

(Slick tricks like this to work around troublesome software is just one of the many reasons I love Linux.)
Last edited by Bloo Alien; Nov 10, 2019 @ 5:13pm
TheRealDannyBoy Nov 10, 2019 @ 5:17pm 
Will this also serve to sandbox games for security reasons à la Firejail, or would other steps be necessary to obtain that? Also, is this compatible with Firejail? I would suspect not, for the same reasons the Flatpak version is unsupported.
Nevertheless Nov 10, 2019 @ 6:27pm 
I'm using the Flatpak install. It works without problems on different installations of different distros. I would try this new solution if problems with a game arise, and when a Flatpak compatible version is availlable.
I like your efforts, but right now the Flatpak version provides me with a unified stable basis, a container for savegames and sandboxing, which is a great mix.
gee Nov 10, 2019 @ 6:35pm 
This is awesome!

I've been waiting for Valve to do something like that for years and it's finally here.
The next step would be to have only one build of the app-in-container for all platforms Steam support, that way the host OS, not just the Linux distro, would be irrelevant too, but that's probably a bit further away.
< >
Showing 1-15 of 138 comments
Per page: 1530 50