3

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.

Matheus Saraiva
  • 1,144
  • 1
  • 11
  • 33

2 Answers2

5

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".

Joshua Fox
  • 18,704
  • 23
  • 87
  • 147
2

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)
jmunsch
  • 22,771
  • 11
  • 93
  • 114