How does Steam on Flatpak work?

This page summarizes the projects mentioned and recommended in the original post on /r/linux_gaming

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • steam-runtime

    A runtime environment for Steam applications

  • Valve has a rather long document on the design of their runtime that goes into a hell of a lot of detail. The short answer is: graphics. It has to pass the host's graphics drivers through to the runtime, and a graphics driver built as part of a distro today may very well not run against the potentially ancient glibc living in the Steam runtime.

  • Vulkan-Loader

    Vulkan Loader

  • Every program that needs Vulkan does indeed link against and call something with a well-known, long-time stable ABI. This is normally Vulkan-Loader, which provides libvulkan. For OpenGL, libglvnd is a nearly equivalent library that fulfills largely the same function and provides libGL/libGLES/etc.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • It's... complicated. As an app/game developer, you just use libvulkan/libGL/blabla. You shouldn't really have to care about the drivers beyond that. The Flatpak & Freedesktop SDK crew are responsible for making sure that a suitable, updated GPU driver lives inside the Flatpak alongside your app. As the user pulls in updates to the base platform, they'll get newer drivers which'll also apply to your game. That said, the SDK has a limited lifecycle of around 2 years. It's my understanding that there are plans to extend the lifecycle for Mesa and the like at some point, but I can't find any formally stated policy other than "as long as possible". Due to the speed at which Mesa has been developed in the past few years, that hasn't been very long.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts