System Flatpak Runtimes EOL

I am on bluefin:stable stream with no layered packages. I only have flatpaks installed on the system.
ujust updating gives me this message for system flatpaks.

── xx:xx:xx - Flatpak System Packages ──────────────────────────────────────────
Looking for updates…

Info: (pinned) runtime org.kde.Platform branch 6.6 is end-of-life, with reason:
   We strongly recommend moving to the latest stable version of the Platform and SDK

Info: (pinned) runtime org.gnome.Platform branch 45 is end-of-life, with reason:
   The GNOME 45 runtime is no longer supported as of September 18, 2024. Please ask your application developer to migrate to a supported platform.

Will I need to unpin these manually or will they be removed automatically in the future updates?
Sorry if this is a bad question I am not an expert in atomic desktops. This is my first time using flatpaks for all purposes. Thanks in advance! ^^

Old runtimes probably won’t be removed. That will break the system. What will happen is you will continue seeing these warnings and deprecation messages and the apps that use these EOL runtimes will no longer get security fixes. Until the app developers shift to a newer version of these libs. If its an actively developed app then it should happen at some point but some apps can become more or less zombies and those will stay on these old runtimes until flatpak either stops shipping these runtimes in the future or they just stop working at some point as the surrounding ecosystem evolves.

but these are system flatpak runtimes. I don’t have any apps using EOL dependencies My question relates to the possibility that that future updates will remove these right or unpin them as they are EOL. Also they are pinned! I didn’t pin them all of this is by default.

P.S I didn’t know where to mention this : Clapper which is provided as default media player has some EOL runtime dependencies I had to delete it and replace it with showtime so yeah…

I think there is already an issue filed with Clappers flatpak github about this. Not sure what the situation with the update is for the clapper as haven’t really followed it.

You can easily remove the EOL runtime with for example Warehouse application and then remove Clapper if you don’t want to use it.

1 Like

As I mentioned previously all the user flatpaks which are EOL are removed the ones which cannot be removed are the system flatpak runtimes (which are pinned) I am scared of breaking stuff So i haven’t tried messing with unpinning them or removing them. That was the question I wanted to know if these runtimes will be removed in a future update or unpinned ʕノ•ᴥ•ʔノ ︵ ┻━┻

Exactly the same issue at my PC. We are probably having the same flatpaks installed (or the ones with the same runtime dependencies).

This is nothing special about atomic desktops. Flatpak can be installed officially on 41 Linux distributions (not counting several spins in each of distribution). This is pure flatpak stuff. In atomic desktops operating system is in separated from applications (just like on mobile phones). If you brake somehow flatpak, you can’t break the system. The worst thing that can happen is you are required to reinstall some individual flatpak application.

I suggest to regularly backup your informant data and then you will be more confident with trying out the changes. If you break something, just reinstall in the worst case scenario and restore you data from backup.


I have had the same issue. I have done the following:

  1. Check if you can remove unused runtimes. This did not fix the problem in my case, but it is worth trying.
    flatpak uninstall --unused

  2. Check if some flatpak application is dependent on flatpak runtime:
    flatpak list --app --columns=application,runtime | grep -E "org.gnome.Platform/x86_64/45|org.kde.Platform/x86_64/6.6"
    in my case nothing was displayed, so no flatpak application is dependent on those specific runtimes.

  3. Uninstall runtimes.
    flatpak uninstall -y org.gnome.Platform/x86_64/45
    flatpak uninstall -y org.kde.Platform/x86_64/6.6

  4. Now check if all of your flatpak applications runs successfully.
    flatpak list --app | gawk '{print "flatpak run " $2}
    Execute every line you get from above command and check if flatpak application starts up. If all of them starts up, then uninstalled runtime did not have any effect. If for some reason one of flatpak do not starts up, then uninstall that particular flatpak and install it back. When flatpak application is installed it automatically installs runtimes.

  5. Retry ujust update and there should be no problem.


Blufin is made so, that you do not need to care about updates. System level software gets updated ones per day (or week for stable and GTS), flatpaks applications get automatically updated two times per day.

You can always just ignore any manual updating and if you do, then you don’t have a problem. :slight_smile:


Little bit why this problem appears. In traditional Linuxes some of distributions maintain several older versions of distributions. For instance, for Ubuntu currently there are six distributions each in its own history time of start. The oldest was released in 2016, that is 8 years ago. Each of this distro versions has its own set of libraries that are frozen in time when they were released. This is important because they guarantee that applications developed for Ubuntu 16.04 will continue to work. Now imagine new version of Firefox browser is released. Mozilla (Firefox developer organization) wants go implement new features and so releases new Firefox web browser for the latest version of Linux libraries, that are available in latest version of Ubuntu. What about all of the 6 older versions of Ubuntu? Someone has to port the code back to those versions, because they need to make sure new version of Firefox is going to be working fine with those old libraries. In this case some of the features in latest Firefox may not even work in older versions of Linux - so developer must re-implement all those features in some strange or hard to maintain way or just not implement the feature. This is massive a lot of work. The other option is just to let applications on those old distribution versions to not update. But we don’t want that, specially because of security issues of old software that was fixed on never versions of Firefox.

The solution? Is some kind of sandboxed solutions. Canonical (Ubuntu maintainer company) decided to implement ‘snap’ technology, a lot of others distributions are behind the ‘flatpak’
technology including Blufin. I don’t want to go into the which one is better… this is pointless, because it is in my humble opinion more ideological difference then technological one.

How does this work? In multiple layers:

  • Linux distribution (e.g. Blufin)
  • flatpak sofware is installed (Blufin does this by default; in some others distros you need to instal it manually e.g. “sudo apt install flatpak” on Ubuntu)
  • in order applications can use different verions of the same libraries on the system there is middle layer, it is called “flatpak runtimes”. There are three different (maybe more… just those three are the most famious): Freedesktop, Gnome and KDE runtimes. Each of them have several versions from historical point of view. For example Gnome 45, Gnome 47 and Gnome 48 etc.
  • application itself packaged in flatpak format uses one of runtimes

Schema is like this:

Individual runtimes do not change library versions in each of runtime version. This is very important, so we can be sure application build for “Gnome 45” will be working fine. The only thing that is updated is fixed some bugs and security issues. When individual runtime updates flatpak applications do not need to update at all.

But time passes and one day the oldest version of runtimes e.g. Gnome 45 is published to not be maintained any more. Now applications developer (or flatpak maintainer if there are two individuals) must now repackage application “app1” to work with some other Gnome runtime e.g. Gnome 46 or Gnome 47.

When there is no application left for some individual runtime, runtime is actually not removed, because we can install new application that depends on older version of flatpak runtime and in this case we spare some time and no need for download (so servers are less stressed).

But time to time there are very old runtimes that no other flatpak application is using and then we can remove that runtime by overself. But no wories if some application later will need the same version of runtime, flatpak software will automatically install dependent runtime.

8 Likes

This is wonderful response. I would like to start by addressing the instructions before I move on to the results.

  1. After running flatpak uninstall --unused I didn’t get any apps which were using the EOL runtimes same after running flatpak list --app --columns=application,runtime | grep -E "org.gnome.Platform/x86_64/45|org.kde.Platform/x86_64/6.6"
  2. I knew this already this so I moved to uninstalling the runtimes
  3. After uninstalling org.gnome.Platform/x86_64/45 * flatpak uninstall -y org.kde.Platform/x86_64/6.6 It also deleted ‘org.freedesktop.Platform.openh264’ which scared the living hell outta me.
  4. flatpak list --app | gawk '{print "flatpak run " $2} showd nothing so I moved on.
  5. Alas my anxiety decreased when I ran ‘ujust update’ which installed the openh264 successfully. I rebooted and eveything works fine.
    Thank you!
    For now, I will mark this as the solution. Also thanks for the bonus history lesson and making me understand why these sand boxed universal formats exist ion the first place. I knew bits and pieces of the reasoning and working of them but it’s still great to see it fully detailed and relayed in this comprehensive way.
    What I didn’t know was that I could delete the system flatpaks even if they were pinned. I always understood that pinning a flatpak or a runtime would make it untouchable in case of updates breaking anything(which was wrong for me to assume).
1 Like

That is indeed an epic post. Wow!, well done @red11

1 Like

Our service units are supposed to manage this for you, there shouldn’t be a need for manual maintenance of any kind. But I do check which apps are lagging behind the most and then determine if the app is worth it or not.

Doing a ujust --choose and selecting the cleanup stanza shows what you can manually run, then the logic in ublue-os/ublue-updater probably has some of the logic. It wouldn’t hurt for someone to go check out what it’s doing, I don’t think we’ve touched that in a while.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.