@@ -2,156 +2,147 @@ Available Runtimes
22==================
33
44This page provides information about available Flatpak runtimes. It is
5- primarily intended as information for application developers and distributors.
5+ primarily intended as information for application developers and
6+ distributors.
67
78There are currently three main runtimes available: Freedesktop, GNOME and
8- KDE. These are all hosted on `Flathub <https://flathub.org/ >`_. Each runtime
9- comes with the corresponding SDK for building, and extensions for specific uses.
10-
11- What is mentioned here is just a high level look at the contents. To have up
12- to date information simply install the runtime and open a shell inside of it
13- (``flatpak run org.freedesktop.Sdk//23.08 ``) from there you can look around or
14- use tools like ``pkg-config --list-all ``. In the runtime shell you can also
15- inspect ``/usr/manifest.json ``, which lists the sources used to build it.
9+ KDE all of which are hosted on `Flathub <https://flathub.org/ >`_. Each
10+ runtime comes with a parent SDK for building, a Docs, a Debug and a
11+ Locale extension to provide documentation, debug symbols and localisation
12+ support, respectively and other extensions or extension points for
13+ specific uses.
1614
1715Freedesktop
1816-----------
1917
20- The Freedesktop runtime is the standard runtime that can be used for any
21- application and contains a set of essential libraries and services, including
22- D-Bus, GLib, Gtk3, PulseAudio, X11 and Wayland.
18+ The `Freedesktop runtime <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/ >`_
19+ is the standard runtime that can be used for any application. It
20+ contains a set of essential libraries, provides the graphics and the
21+ toolchain stack and forms the base of the GNOME and KDE runtimes.
22+
23+ It also provides a base set of extensions and extension points used
24+ by other runtimes and applications. See
25+ :ref: `extension:Extensions or extension points defined by runtime ` for
26+ more details.
2327
24- The Freedesktop runtime is maintained `here
25- <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/> `__ and has a website
26- `here <https://freedesktop-sdk.io/ >`__.
28+ A given branch of the Freedesktop runtime has a 2 year support period
29+ after which they are declared EOL. A new major version is published on
30+ August of every year. The release schedule can be found on `Gitlab <https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/wikis/Releases >`_
31+ and announcements of new major version releases are made on `Flathub Discourse <https://discourse.flathub.org/c/announcements/6 >`_.
2732
28- Available Freedesktop runtimes:
33+ The Freedesktop platform (``org.freedesktop.Platform `` and
34+ ``org.freedesktop.Sdk ``) provides strict ABI/API stability in a
35+ major version.
2936
3037====================================================== =====================================
3138ID Description
3239====================================================== =====================================
3340org.freedesktop.Platform Runtime
3441org.freedesktop.Sdk SDK
35- ====================================================== =====================================
36-
37- The following runtime extensions are available:
38-
39- ====================================================== =====================================
40- ID Description
41- ====================================================== =====================================
4242org.freedesktop.Platform.Locale Runtime translations (extension)
43- org.freedesktop.Platform.VAAPI.Intel{,.i386} Intel vaapi drivers (extension)
44- org.freedesktop.Platform.ffmpeg-full All ffmpeg codecs (extension)
45- org.freedesktop.Platform.Compat.{architecture} 32 bits compatible extension
46- org.freedesktop.Platform.Compat.{architecture}.debug 32 bits compatible extension (debug)
47- org.freedesktop.Platform.GL{,32}.default Mesa drivers (extension)
48- org.freedesktop.Platform.GL{,32}.mesa-git Mesa drivers, latest (extension)
4943org.freedesktop.Sdk.Debug SDK debug information (extension)
5044org.freedesktop.Sdk.Locale SDK translations (extension)
5145org.freedesktop.Sdk.Docs SDK documentation (extension)
52- org.freedesktop.Sdk.Extension.toolchain-{architecture} SDK cross compilers (extension)
5346====================================================== =====================================
5447
5548GNOME
5649-----
5750
58- The GNOME runtime is appropriate for any application that uses the GNOME
59- platform. It is based on the Freedesktop runtime and adds the GNOME platform,
60- including:
61-
62- * Gjs
63- * GObject Introspection
64- * GStreamer
65- * GVFS
66- * Libnotify
67- * Libsecret
68- * LibSoup
69- * PyGObject
70- * Vala
71- * WebKitGTK
72-
73- The GNOME runtime is maintained `here
74- <https://gitlab.gnome.org/GNOME/gnome-build-meta> `__.
75-
76- Available GNOME runtimes:
77-
78- ========================= =================================
79- ID Description
80- ========================= =================================
81- org.gnome.Platform Runtime
82- org.gnome.Sdk SDK
83- ========================= =================================
84-
85- The following runtime extensions are available:
86-
87- ========================= =================================
88- ID Description
89- ========================= =================================
90- org.gnome.Platform.Locale Runtime translations (extension)
91- org.gnome.Sdk.Debug SDK debug information (extension)
92- org.gnome.Sdk.Locale SDK translations (extension)
93- org.gnome.Sdk.Docs SDK documentation (extension)
94- ========================= =================================
51+ The `GNOME runtime <https://gitlab.gnome.org/GNOME/gnome-build-meta >`_
52+ is appropriate for any application that uses the GNOME platform. It is
53+ based on the Freedesktop runtime and adds the libraries and components
54+ used by the GNOME platform.
55+
56+ Major version releases of the runtime are synced with `GNOME releases <https://release.gnome.org/calendar/ >`_
57+ and are announced on `GNOME Discourse <https://discourse.gnome.org/tag/announcement >`_.
58+ Usually a given branch of the runtime is supported for an year and EOL-ed
59+ upon the release of a newstable version.
60+
61+ ====================================================== =====================================
62+ ID Description
63+ ====================================================== =====================================
64+ org.gnome.Platform Runtime
65+ org.gnome.Sdk SDK
66+ org.gnome.Platform.Locale Runtime translations (extension)
67+ org.gnome.Sdk.Debug SDK debug information (extension)
68+ org.gnome.Sdk.Locale SDK translations (extension)
69+ org.gnome.Sdk.Docs SDK documentation (extension)
70+ ====================================================== =====================================
9571
9672KDE
9773---
9874
99- The KDE runtime is also based on the Freedesktop runtime and adds Qt and KDE
100- Frameworks. It is appropriate for any application that makes use of the KDE
75+ Runtime ID: ``org.kde.Platform ``
76+ SDK ID: ``org.kde.Sdk ``
77+
78+ The `KDE runtime <https://invent.kde.org/packaging/flatpak-kde-runtime >`_
79+ is also based on the Freedesktop runtime and adds Qt and KDE Frameworks.
80+ It is appropriate for any application that makes use of the KDE
10181platform and most Qt-based applications.
10282
103- The KDE runtime is maintained `here
104- <https://invent.kde.org/packaging/flatpak-kde-runtime> `__.
83+ Qt5 LTS (based on KDE's Qt patch collection) branches are created on
84+ Freedesktop runtime major version releases and Qt6 branches are created
85+ on new Qt6 releases. More information about the support policy can be
86+ found on the `KDE wiki <https://community.kde.org/Policies/Flatpak_Runtime_Update_Policy >`_
87+ and announcements for new runtime branch releases are made on the
88+ `KDE Discourse <https://discuss.kde.org/c/announcement/9 >`_.
10589
106- Available KDE runtimes:
90+ ====================================================== =====================================
91+ ID Description
92+ ====================================================== =====================================
93+ org.kde.Platform Runtime
94+ org.kde.Sdk SDK
95+ org.kde.Platform.Locale Runtime translations (extension)
96+ org.kde.Sdk.Debug SDK debug information (extension)
97+ org.kde.Sdk.Locale SDK translations (extension)
98+ org.kde.Sdk.Docs SDK documentation (extension)
99+ ====================================================== =====================================
107100
108- ======================= =================================
109- ID Description
110- ======================= =================================
111- org.kde.Platform Runtime
112- org.kde.Sdk SDK
113- ======================= =================================
101+ elementary
102+ ----------
114103
115- The following runtime extensions are available:
104+ Runtime ID: ``io.elementary.Platform ``
105+ SDK ID: ``io.elementary.Platform ``
116106
117- ======================= =================================
118- ID Description
119- ======================= =================================
120- org.kde.Platform.Locale Runtime translations (extension)
121- org.kde.Sdk.Debug SDK debug information (extension)
122- org.kde.Sdk.Locale SDK translations (extension)
123- org.kde.Sdk.Docs SDK documentation (extension)
124- ======================= =================================
107+ The `elementary runtime <https://github.com/elementary/flatpak-platform >`_
108+ is hosted by elementary and is appropriate for any application that
109+ would like to publish to the elementary AppCenter. It is based on the
110+ GNOME runtime and adds the elementary platform.
125111
126- elementary
127- ----------
112+ ====================================================== =====================================
113+ ID Description
114+ ====================================================== =====================================
115+ io.elementary.Platform Runtime
116+ io.elementary.Sdk SDK
117+ io.elementary.Platform.Locale Runtime translations (extension)
118+ io.elementary.Sdk.Debug SDK debug information (extension)
119+ io.elementary.Sdk.Locale SDK translations (extension)
120+ io.elementary.Sdk.Docs SDK documentation (extension)
121+ ====================================================== =====================================
122+
123+ Check software available in runtimes
124+ ------------------------------------
125+
126+ The best way to check software packaged in the runtime is to look at
127+ their respective manifests in the git repository or release contents.
128+
129+ The latter can be done using::
130+
131+ flatpak run --command=cat <ID>//<branch> /usr/manifest.json|jq -r '."modules"|.[]|."name"'|sed -E 's#.*/(.*)\.bst#\1#'|sort -u
128132
129- The elementary runtime is appropriate for any application that would like to publish in elementary AppCenter. It is based on the GNOME runtime and adds the elementary platform, including:
133+ # List all contents in GNOME 47 runtime
134+ flatpak run --command=cat org.gnome.Platform//47 /usr/manifest.json|jq -r '."modules"|.[]|."name"'|sed -E 's#.*/(.*)\.bst#\1#'|sort -u
130135
131- * elementary Icons
132- * elementary Stylesheet
133- * elementary Sound Theme
134- * Granite
136+ ``pkg-config `` can be used for modules that install pkg-config files::
135137
136- The elementary runtime is maintained `here
137- <https://github.com/elementary/flatpak-platform> `__.
138+ flatpak run --command=pkg-config <SDK ID>//<branch> --list-all
138139
139- Available elementary runtimes:
140+ # Check version appstream in Freedesktop SDK 24.08
141+ flatpak run --command=pkg-config org.freedesktop.Sdk//24.08 --modversion appstream
140142
141- ============================= =================================
142- ID Description
143- ============================= =================================
144- io.elementary.Platform Runtime
145- io.elementary.Sdk SDK
146- ============================= =================================
143+ ``ldconfig `` can be used to list all libraries::
147144
148- The following runtime extensions are available:
145+ flatpak run --command=ldconfig <ID>//<branch> -p
149146
150- ============================= =================================
151- ID Description
152- ============================= =================================
153- io.elementary.Platform.Locale Runtime translations (extension)
154- io.elementary.Sdk.Debug SDK debug information (extension)
155- io.elementary.Sdk.Locale SDK translations (extension)
156- io.elementary.Sdk.Docs SDK documentation (extension)
157- ============================= =================================
147+ # Check libraries in Freedesktop runtime 24.08
148+ flatpak run --command=ldconfig org.freedesktop.Platform//24.08 -p|awk '/\.so/ {print $1}'
0 commit comments