Flatpaks dominate application software in Kinoite. This works very well. They’re supported by a number of bulky, frequently updated runtime platforms. This sparked my curiosity about which apps require which runtimes, how much space is taken by them, and how much is saved because they’re shared between applications.
I listed runtime platforms with flatpak list --runtime.
For each, I ran flatpak list --app-runtime [runtime name] to find runtime “dependencies.”
In my particular desktop, I found that
a bunch of apps use org.fedoraproject.KDE6Platform,
one app uses org.fedoraprojectKDE5Platform,
several use org.gnome.Platform,
several use org.freedesktop.Platform, and
several others use org.kde.Platform.
The flatpak list command does not reveal the purposes of a larger group of runtime platforms, many of while ride under the Mesa banner. The following came up blank:
org.fedoraproject.Platform.CL.default
org.fedoraproject.Platform.GL.default
org.fedoraproject.Platform.Locale
org.fedoraproject.Platform.VAAPI.Intel
org.fedoraproject.Platform.tessdata
org.freedesktop.Platform.GL.default
org.freedesktop.Platform.VAAPI.Intel
org.freedesktop.Platform.codecs-extra
org.freedesktop.Platform.openh264
org.kde.KStyle.Adwaita
Some of these seemingly application-less runtimes exist in multiple branches on my machine, with the branches sharing an application ID. Perhaps some of them are used, in turn, by the runtimes that my applications require?
All this leaves me puzzled about the function of many of these runtime platform flatpaks. Are they all truly needed? How important are their frequent, massive updates?
Many thanks to any who have read this far. I’d be grateful for a pointer to some information that would reduce my cluelessness.
You can reduce space usage by not using Fedora Flatpaks (org.fedoraproject.KDE6Platform and org.fedoraprojectKDE5Platform). The vast majority of apps, if not all, from Fedora Flatpaks are also available on Flathub.
You can remove unused dependencies with flatpak remove --unused.
Otherwise, there’s not much you can do besides no longer using the app, finding an alternative version (e.g. traditional package or Appimage), and asking the flatpak maker to update the runtime used (if it’s out of date).
Many thanks, novafunc. This clarified some things for me, and also reduced the disk footprint of my flatpaks by about 4.1GB.
The next layer relates to runtime updates by flatpak makers (aka packagers?). The moves and cleanup you suggested almost totally expunged Fedora runtimes (just one left), but added a newer org.kde.Platform branch. I would hope and imagine that porting an app to a newer runtime wouldn’t be hard, but I have zero knowledge in that area. However, I’ll reach out regarding the flatpaks using the oldest versions of that large runtime.
Further note: Fedora offers lots of flatpaks, and perhaps less runtime madness. But there are seven I currently use that aren’t available there. Too, there can be a version-chasing aspect in selecting a flatpak (or other) application source, as when moving my massive Thunderbird E-mail profile between machines.
All in all, for me, your advice is best: use Flathub for all flatpaks. However, the part about encouraging (hectoring?) flatpak makers to update may be mostly aspirational. Some developers say that the ability to keep using older (or even EOL) runtimes is a highly desirable feature because it eliminates the need to update.
No perfect world, but things are better now. Thank you again.