Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.

Collabora's FOSDEM videos are up, including one on putting Linux games in Containers on Steam

By -
Last updated: 5 Feb 2020 at 6:30 pm UTC

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 checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
22 comments Subscribe
Page: 1/2»
  Go to:

rustybroomhandle 5 Feb 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 5 Feb 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 5 Feb 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.
It's brand new and experimental, issues are to be expected. Did you log a bug report on the GitHub?
EagleDelta 5 Feb 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.

  • 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 5 Feb 2020
Amazing job. All kudos possible to Valve and Collabora
Ardje 5 Feb 2020
  • 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 5 Feb 2020
    View PC info
    • Supporter
    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.

    Out of curiosity what linux are you running?

    Could it be you are using musl instead of glibc?
    Orkultus 6 Feb 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 6 Feb 2020
    I wonder if in the future, this project could help to solve the anticheaters/launchers problem
    mphuZ 6 Feb 2020
    Pressure-Vessel has been in the SteamOS repository since August last year:
    http://repo.steampowered.com/steamrt-images-scout/snapshots/0.20190821.1/
    Seegras 6 Feb 2020
    Yup, was quite a nice talk (been there), so I can recommend watching the video.
    Grimfist 6 Feb 2020
    Ah the FOSDEM videos are finally up. Enough stuff to go through the next evenings :D
    tgurr 6 Feb 2020
    Out of curiosity what linux are you running?

    Could it be you are using musl instead of glibc?
    I'm running Exherbo Linux and while we also offer the possibility to switch to musl if desired, the default is glibc, which is also what I'm using.
    elmapul 6 Feb 2020
    things like this make me want to give up developing for linux...
    Liam Dawe 6 Feb 2020
    things like this make me want to give up developing for linux...
    Ah yes: Developers try to make things easier to deploy across all distributions.

    You: I give up.

    Makes sense.
    lucinos 6 Feb 2020
    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.

    I completely agree. Meanwhile all the "compatibility issues" mentioned are completely distro-irelevant and are relevant with the evolution of linux and in some cases if you are just missing a library (which is also a really distro-irelevant thing). The whole distro-fragmentation thing has never been a real issue and the only problem with that is that it is misleading people.

    The fact is that a proper executable will just work on linux using the host libraries no matter the version. If you do not use the host libraries and you are trying "to be safe" then it will stop working in the future because these libraries will be incompatible with new libraries.

    So the real solution should be to give a proper way to developers to develop and test the games using API that we just know it will never break no matter what changes underneath in the future.
    Brisse 6 Feb 2020
    I'm not the most clued up person with container tech, and flatpaks, etc, but:

    Really glad Valve is continuing to research ways of keeping games running, and giving some kind of interface stability. Just would prefer if there was something a little more generic for GNU/Linux desktop, so that games outside of Steam's environment could benefit.

    Games -> Add non-Steam game to my library
    Liam Dawe 6 Feb 2020
    I'm not the most clued up person with container tech, and flatpaks, etc, but:

    Really glad Valve is continuing to research ways of keeping games running, and giving some kind of interface stability. Just would prefer if there was something a little more generic for GNU/Linux desktop, so that games outside of Steam's environment could benefit.

    Games -> Add non-Steam game to my library

    == reliance on 3rd party proprietary software. That's not an answer to the problem at all.
    Well, the steam-runtime is already open source and they're using bubblewrap which is also open source.
    RossBC 8 Feb 2020
    Might give it a go, have some of humble bundles original linux ports from years ago that barely even ran on anything when they first dropped.
    elmapul 24 Feb 2020
    things like this make me want to give up developing for linux...
    Ah yes: Developers try to make things easier to deploy across all distributions.

    You: I give up.

    Makes sense.

    first off, if that is the easier way that they are proposing, i cant imagine how hard it was before, plus i cant afford to run that solution, containers will dry out my limited performance.

    second, valve supposedly solved this issue already, why do we still need this solution?


    either its impossible to solve it once and forever, or it dont worth the performance cost.

    in any case, i dont like how it sounds, the way things are, looks like someone is causing problems to sell the solution.
    as they say, when the service is free, you are the product, with so many distros breaking backward compatibility with then selves or evolving into different directions that cause problems to support all of then without standards and clear benefits to that fragmentaiton, the only thing i can think off is that its sabotage, really.

    its just ridiculous that we had 4 different browser engines (gecko, trident, presto, webkit) and things just worked in all of then. (nowadays, most browsers just use webkit/bink, because its cheaper than continuing developing their own code base, not because things broke all the time) if even microsoft could agree to follow some standards (web standards) there is no reason why the opensource world has to be that mess.

    and before any one say that browsers arent as complex as an operating system, we can run entire operating systems inside one browser, there is no excuse.
    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.