Containers and Steam: Putting games under pressure | FOSDEM 2020

Collabora0 HN recommenders · 2020–2022
13K views · talk · dated · Uploaded 2020-02-05

FOSDEM 2020 talk from Collabora on pressure-vessel, an experimental mechanism that puts Steam games in containers on Linux. It covers using namespaces to give games their own runtime library stack independent of the host.

HN references it as the explanation of how Valve uses containers for Linux game compatibility.

Watch on YouTube

3 comments from Hacker News

@Zhyl2020 · in “Valve put their 'Pressure Vessel' container source for Linux games up on Gitlab”

Here's someone from Collabra doing a talk on it [0]. The idea is pretty straightforward, but actually will fill an important niche in the compatibility and eventual archival space. On a higher level note, this shows that Valve is pretty committed to Linux as a concept. I feel that while a second wave of Steam Machines or Steam OS may be a while away, they're certainly making it much easier for gamers to Switch to Linux if they were so inclined. [0] [VIDEO]

@teddyfrozevelt2021 · in “I Built My New Linux Gaming Desktop in 2021 with AMD (CPU+GPU) and GNU Guix”

Valve are basically doing Flatpak on their own. They're using Bubblewrap (made for Flatpak) with their Linux runtimes. See here: [VIDEO]

@account422022 · in “Thank You, Valve”

> I'm sure many would happily drop 32bit games support for that. Really? There are still many x86-only games on Steam, tons of which probably won't ever be updated. And if Valve does not make that clear on the Store pages then they will receive part of the blame and support burden. I think what is more likely to happen is for Steam to come with it's own 32-bit dependencies that marshal to the 64-bit system GL/Vulkan/etc. The client itself might be ported to 64-bit too but that would not even be needed at that point. This is already partially the case today - the Steam runtime contains most required 32-bit (and 64-bit) libraries and Steam is already (optionally) using containers for games: [LINK] Presentation on this from 2 years ago: [VIDEO]