We do often include affiliate links to earn us some pennies. See more here.

In a recent update to the Linux Steam Client, the ability to run Linux games inside a special container was added in. At the FOSDEM event, Collabora consultant Simon McVittie who works on helping Valve with the Linux steam-runtime gave a talk on it.

The talk goes over a brief bit of history on the different versions of the steam-runtime, which is definitely interesting for any developers looking at Linux support and for gamers who perhaps don't entirely understand much about it. This includes the problems with it and from there they go into info about "pressure-vessel", the new and experimental Container system.

Hilariously, Steam pops-up during the presentation asking McVittie to update. See the full video below:

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

We've heard so many times on how the fragmentation of Linux distributions causes issues for game developers, and while I'm no game developer and not knowledgeable enough on the internals of Linux and game dependencies to properly comment on that I do think it's fantastic that Valve funds attempts to make Linux gaming better in so many ways like this. Obviously a big hat tip to all the people at Collabora too, some really smart people working there.

A more up to date runtime code-named "Soldier" seems to be in testing, with the pressure-vessel container opening up options on this with it being a lot more flexible, so older games can keep an older runtime in the container with newer games using the newer runtime again in a container. Certainly sounds like the future of Linux gaming will be interesting.

There's more Linux videos up from Collabora which you can see listed on their website here.

Article taken from GamingOnLinux.com.
Tags: Steam, Video
31 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
22 comments
Page: 1/3»
  Go to:

rustybroomhandle Feb 5, 2020
I'm going to throw out a guess here that a lot of developers that do release on Steam for Linux do not have the slightest clue what the Steam runtime even is.
tgurr Feb 5, 2020
Meanwhile every game I try running with the "Steam Linux Runtime" fails with

`g_io_module_load': /usr/lib/gio/modules/libgiognutls.so: undefined symbol: g_io_module_load
Failed to load module: /usr/lib/gio/modules/libgiognutls.so
bwrap: execvp readlink: No such file or directory
bwrap: execvp readlink: No such file or directory
pressure-vessel-wrap: None of the supported CPU architectures are common to the host system and the container (tried: x86_64-linux-gnu, i386-linux-gnu)


while they run fine without the container solution.

It's funny how containers are said to be the cure to everything by adding yet another layer of complexity.
Liam Dawe Feb 5, 2020
Quoting: tgurrMeanwhile every game I try running with the "Steam Linux Runtime" fails with

`g_io_module_load': /usr/lib/gio/modules/libgiognutls.so: undefined symbol: g_io_module_load
Failed to load module: /usr/lib/gio/modules/libgiognutls.so
bwrap: execvp readlink: No such file or directory
bwrap: execvp readlink: No such file or directory
pressure-vessel-wrap: None of the supported CPU architectures are common to the host system and the container (tried: x86_64-linux-gnu, i386-linux-gnu)


while they run fine without the container solution.

It's funny how containers are said to be the cure to everything by adding yet another layer of complexity.
It's brand new and experimental, issues are to be expected. Did you log a bug report on the GitHub?
EagleDelta Feb 5, 2020
Quoting: tgurrMeanwhile every game I try running with the "Steam Linux Runtime" fails with

`g_io_module_load': /usr/lib/gio/modules/libgiognutls.so: undefined symbol: g_io_module_load
Failed to load module: /usr/lib/gio/modules/libgiognutls.so
bwrap: execvp readlink: No such file or directory
bwrap: execvp readlink: No such file or directory
pressure-vessel-wrap: None of the supported CPU architectures are common to the host system and the container (tried: x86_64-linux-gnu, i386-linux-gnu)


while they run fine without the container solution.

It's funny how containers are said to be the cure to everything by adding yet another layer of complexity.

  • Not sure where you got that Containers have been pushed as the "Cure to everything". In my experience, it's all about picking the best tool for the job. Many of the Container/Kubernetes heavyweight supporters have recently stressed that containers can't solve all problems.

  • The talk addresses that the containerized runtime doesn't solve all problems. Specifically it only supports the Ubuntu 12.04-based runtime and are working on a newer 2018-based runtime version with the intent of having multiple runtime versions for developers/users to choose from.

  • I don't think this is using what many of us would consider "true" containers in that they aren't (AFAIK) based on LXC or ContainerD, but are Flatpak-based containers. I could be wrong though

BrazilianGamer Feb 5, 2020
Amazing job. All kudos possible to Valve and Collabora
Ardje Feb 5, 2020
Quoting: EagleDelta
  • I don't think this is using what many of us would consider "true" containers in that they aren't (AFAIK) based on LXC or ContainerD, but are Flatpak-based containers. I could be wrong though

  • A container to me is something that encapsulates itself into it's own namespace.
    Sometimes I even only need a secondary ip stack... ip netns to the rescue...
    Lxc is just a wrapper on the set of different nameserver creations and migrate systemcalls. You can do it using bash :-). Lxc is very nice though.

    I don't know flatpak, but from what I've seen, they are just squasfs like files mounted. No security or whatever unless the flatpak itself does that. I doubt that's what they are doing.
    minkiu Feb 5, 2020
    View PC info
    • Supporter
    Quoting: tgurrMeanwhile every game I try running with the "Steam Linux Runtime" fails with

    `g_io_module_load': /usr/lib/gio/modules/libgiognutls.so: undefined symbol: g_io_module_load
    Failed to load module: /usr/lib/gio/modules/libgiognutls.so
    bwrap: execvp readlink: No such file or directory
    bwrap: execvp readlink: No such file or directory
    pressure-vessel-wrap: None of the supported CPU architectures are common to the host system and the container (tried: x86_64-linux-gnu, i386-linux-gnu)


    while they run fine without the container solution.

    It's funny how containers are said to be the cure to everything by adding yet another layer of complexity.

    Out of curiosity what linux are you running?

    Could it be you are using musl instead of glibc?
    Orkultus Feb 6, 2020
    Dont freeBSD apps come with every dependency required all in one package? Sounds like what they are trying to make happen here, which is a good idea!
    BielFPs Feb 6, 2020
    I wonder if in the future, this project could help to solve the anticheaters/launchers problem
    mphuZ Feb 6, 2020
    Pressure-Vessel has been in the SteamOS repository since August last year:
    http://repo.steampowered.com/steamrt-images-scout/snapshots/0.20190821.1/
    While you're here, please consider supporting GamingOnLinux on:

    Reward Tiers: Patreon. Plain Donations: PayPal.

    This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

    You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
    The comments on this article are closed.