What exactly is a flatpak runtime? Is it a virtual machine like JVM (Java) and CPython? Or is it more like something like virtualenv? I already read the flatpak documentation but it was not clear to me.
2 Answers
It is more like virtualenv than JVM or the like. It creates an isolated set of files so that one application's dependencies are well-defined.
However, rather than copying all dependencies into this environment, some are shared in a safe way -- this is the "runtime".

- 18,704
- 23
- 87
- 147
There is an entire list of runtimes available with different characteristics.
One of the tutorials shows how to install flatpak runtime:
$ flatpak install flathub org.freedesktop.Platform//21.08 org.freedesktop.Sdk//21.08
What this means is that it is using the org.freedesktop.Sdk
ID and version 21.08
I recently ran into an error:
error: runtime/org.kde.Sdk/x86_64/5.15-21.08 not installed
So I tried:
01:09:37 jm@pop-os pycharm_projects → flatpak install flathub runtime/org.kde.Sdk/x86_64/5.15-21.08
Looking for matches…
ID Branch Op Remote Download
1. [✓] org.kde.Sdk.Locale 5.15-21.08 i flathub 17.9 kB / 350.1 MB
2. [✓] org.kde.Sdk 5.15-21.08 i flathub 251.8 MB / 674.4 MB
Installing 2/2… ████████████████████ 100% 6.8 MB/s 00:00
See:
Freedesktop
The Freedesktop runtime is the standard runtime that can be used for any application and contains a set of essential libraries and services, including D-Bus, GLib, Gtk3, PulseAudio, X11 and Wayland.
The Freedesktop runtime is maintained here and has a website here.
Available Freedesktop runtimes:
ID | Description |
---|---|
org.freedesktop.Platform | Runtime |
org.freedesktop.Platform.Locale | Runtime translations (extension) |
org.freedesktop.Platform.VAAPI.Intel{,.i386} | Intel vaapi drivers (extension) |
org.freedesktop.Platform.ffmpeg-full | All ffmpeg codecs (extension) |
org.freedesktop.Platform.Compat.{architecture} | 32 bits compatible extension |
org.freedesktop.Platform.Compat.{architecture}.debug | 32 bits compatible extension (debug) |
org.freedesktop.Platform.GL{,32}.default | Mesa drivers (extension) |
org.freedesktop.Platform.GL{,32}.mesa-git | Mesa drivers, latest (extension) |
org.freedesktop.Sdk | SDK |
org.freedesktop.Sdk.Debug | SDK debug information (extension) |
org.freedesktop.Sdk.Locale | SDK translations (extension) |
org.freedesktop.Sdk.Docs | SDK documentation (extension) |
org.freedesktop.Sdk.Extension.toolchain-{architecture} | SDK cross compilers (extension) |
GNOME
The GNOME runtime is appropriate for any application that uses the GNOME platform. It is based on the Freedesktop runtime and adds the GNOME platform, including:
Clutter
Gjs
GObject Introspection
GStreamer
GVFS
Libnotify
Libsecret
LibSoup
PyGObject
Vala
WebKitGTK
The GNOME runtime is maintained here.
Available GNOME runtimes: |ID | Description| |---------------|--------| |org.gnome.Platform| Runtime| |org.gnome.Platform.Locale| Runtime translations (extension)| |org.gnome.Sdk| SDK| |org.gnome.Sdk.Debug| SDK debug information (extension)| |org.gnome.Sdk.Locale| SDK translations (extension)| |org.gnome.Sdk.Docs| SDK documentation (extension)|
KDE
The KDE runtime is also based on the Freedesktop runtime and adds Qt and KDE Frameworks. It is appropriate for any application that makes use of the KDE platform and most Qt-based applications.
The KDE runtime is maintained here.
Available KDE runtimes:
ID | Description |
---|---|
org.kde.Platform | Runtime |
org.kde.Platform.Locale | Runtime translations (extension) |
org.kde.Sdk | SDK |
org.kde.Sdk.Debug | SDK debug information (extension) |
org.kde.Sdk.Locale | SDK translations (extension) |
org.kde.Sdk.Docs | SDK documentation (extension) |

- 22,771
- 11
- 93
- 114