Доступные среды выполнения🔗

На этой странице представлена информация о доступных средах выполнения Flatpak. Он предназначен в первую очередь как информация для разработчиков приложений и распространителей.

There are currently three main runtimes available: Freedesktop, GNOME and KDE all of which are hosted on Flathub. Each runtime comes with a parent SDK for building, a Docs, a Debug and a Locale extension to provide documentation, debug symbols and localisation support, respectively and other extensions or extension points for specific uses.

Freedesktop🔗

The Freedesktop runtime is the standard runtime that can be used for any application. It contains a set of essential libraries, provides the graphics and the toolchain stack and forms the base of the GNOME and KDE runtimes.

It also provides a base set of extensions and extension points used by other runtimes and applications. See Extensions or extension points defined by runtime for more details.

A given branch of the Freedesktop runtime has a 2 year support period after which they are declared EOL. A new major version is published on August of every year. The release schedule can be found on Gitlab and announcements of new major version releases are made on Flathub Discourse.

The Freedesktop platform (org.freedesktop.Platform and org.freedesktop.Sdk) provides strict ABI/API stability in a major version.

ID

Описание

org.freedesktop.Platform

Среда выполнения

org.freedesktop.Sdk

SDK

org.freedesktop.Platform.Locale

Переводы среды выполнения (расширение)

org.freedesktop.Sdk.Debug

Отладочная информация SDK (расширение)

org.freedesktop.Sdk.Locale

Переводы SDK (расширение)

org.freedesktop.Sdk.Docs

Документация SDK (расширение)

GNOME🔗

The GNOME runtime is appropriate for any application that uses the GNOME platform. It is based on the Freedesktop runtime and adds the libraries and components used by the GNOME platform.

Major version releases of the runtime are synced with GNOME releases and are announced on GNOME Discourse. Usually a given branch of the runtime is supported for an year and EOL-ed upon the release of a newstable version.

ID

Описание

org.gnome.Platform

Среда выполнения

org.gnome.Sdk

SDK

org.gnome.Platform.Locale

Переводы среды выполнения (расширение)

org.gnome.Sdk.Debug

Отладочная информация SDK (расширение)

org.gnome.Sdk.Locale

Переводы SDK (расширение)

org.gnome.Sdk.Docs

Документация SDK (расширение)

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.

Qt5 LTS (based on KDE’s Qt patch collection) branches are created on Freedesktop runtime major version releases and Qt6 branches are created on new Qt6 releases. More information about the support policy can be found on the KDE wiki and announcements for new runtime branch releases are made on the KDE Discourse.

ID

Описание

org.kde.Platform

Среда выполнения

org.kde.Sdk

SDK

org.kde.Platform.Locale

Переводы среды выполнения (расширение)

org.kde.Sdk.Debug

Отладочная информация SDK (расширение)

org.kde.Sdk.Locale

Переводы SDK (расширение)

org.kde.Sdk.Docs

Документация SDK (расширение)

elementary🔗

The elementary runtime is hosted by elementary and is appropriate for any application that would like to publish to the elementary AppCenter. It is based on the GNOME runtime and adds the elementary platform.

ID

Описание

io.elementary.Platform

Среда выполнения

io.elementary.Sdk

SDK

io.elementary.Platform.Locale

Переводы среды выполнения (расширение)

io.elementary.Sdk.Debug

Отладочная информация SDK (расширение)

io.elementary.Sdk.Locale

Переводы SDK (расширение)

io.elementary.Sdk.Docs

Документация SDK (расширение)

Check software available in runtimes🔗

The best way to check software packaged in the runtime is to look at their respective manifests in the git repository or release contents.

The latter can be done using:

flatpak run --command=cat <ID>//<branch> /usr/manifest.json|jq -r '."modules"|.[]|."name"'|sed -E 's#.*/(.*)\.bst#\1#'|sort -u

# List all contents in GNOME 47 runtime
flatpak run --command=cat org.gnome.Platform//47 /usr/manifest.json|jq -r '."modules"|.[]|."name"'|sed -E 's#.*/(.*)\.bst#\1#'|sort -u

pkg-config can be used for modules that install pkg-config files:

flatpak run --command=pkg-config <SDK ID>//<branch> --list-all

# Check version appstream in Freedesktop SDK 24.08
flatpak run --command=pkg-config org.freedesktop.Sdk//24.08 --modversion appstream

ldconfig can be used to list all libraries:

flatpak run --command=ldconfig <ID>//<branch> -p

# Check libraries in Freedesktop runtime 24.08
flatpak run --command=ldconfig org.freedesktop.Platform//24.08 -p|awk '/\.so/ {print $1}'