Solving Flatpak's End-of-Life Runtime Warnings
If you’re a Linux user who relies on Flatpak for application management, you may have encountered persistent warnings about end-of-life runtimes. These can appear every time you run a Flatpak command, cluttering your terminal output and potentially hiding more important messages.
In my case, I kept seeing these warnings whenever running Flatpak operations (with Flatpak 1.14.5):
Info: (pinned) runtime org.kde.Platform branch 5.15-23.08 is end-of-life, with reason:
We strongly recommend moving to the latest Qt 5.15-based stable version of the Platform and SDK
Info: (pinned) runtime org.gnome.Platform branch 46 is end-of-life, with reason:
The GNOME 46 runtime is no longer supported as of April 17, 2025. Please ask your application developer to migrate to a supported platform.
The key insight here is the word “(pinned)” in the warnings. This indicates that Flatpak is keeping these runtimes at their current versions even though they’re outdated. But why are they pinned, and how do we unpin them?
Understanding the Issue
Flatpak uses runtime environments to provide common dependencies for applications. When these runtimes reach end-of-life (EOL), they should normally be updated or removed. However, sometimes they get “pinned,” meaning they’re explicitly kept at their current version.
There are several reasons why a runtime might be pinned:
- An application specifically requests that version
- You manually pinned it at some point
- A system update or migration pinned it for compatibility
Debugging the Problem
To solve this issue, I needed to first understand what exactly was happening. Here’s the systematic approach I took:
Step 1: Identify Which Applications Use These Runtimes
First, I checked which applications were using these specific runtime versions:
flatpak list --app --columns=application,runtime | grep -E "org.kde.Platform/|org.gnome.Platform/"
This showed me all the applications and their associated runtimes. Interestingly, none of my applications were specifically using the old runtime versions mentioned in the warnings.
Step 2: Examine the Installed Runtimes
Next, I needed to see which runtimes were actually installed:
flatpak list --runtime | grep -E "org.kde.Platform|org.gnome.Platform"
The output confirmed I had multiple versions installed, including the problematic ones:
GNOME Application Platform version 46 org.gnome.Platform 46 system
GNOME Application Platform version 47 org.gnome.Platform 47 system
GNOME Application Platform version 48 org.gnome.Platform 48 system
KDE Application Platform org.kde.Platform 5.15-23.08 system
KDE Application Platform org.kde.Platform 6.7 system
KDE Application Platform org.kde.Platform 6.8 system
KDE Application Platform org.kde.Platform 6.9 system
QGnomePlatform org.kde.PlatformTheme.QGnomePlatform 5.15-23.08 system
Step 3: Attempt to Update and Clean
A standard approach would be to update everything and remove unused components:
flatpak update --noninteractive --assumeyes
However, this didn’t solve the issue. The warnings persisted because the runtimes were pinned.
The Solution: Unpinning and Removing
After researching Flatpak’s documentation, I discovered the pin
command that manages pinned runtimes. Here’s how I solved the problem:
Step 1: Unpin the Problematic Runtimes
I unpinned each of the outdated runtimes:
# Unpin KDE components
flatpak pin --remove runtime/org.kde.Platform/x86_64/5.15-23.08
flatpak pin --remove runtime/org.kde.Platform.Locale/x86_64/5.15-23.08
flatpak pin --remove runtime/org.kde.KStyle.Adwaita/x86_64/5.15-23.08
# Unpin GNOME components
flatpak pin --remove runtime/org.gnome.Platform/x86_64/46
flatpak pin --remove runtime/org.gnome.Platform.Locale/x86_64/46
Step 2: Remove Unused Runtimes
Once unpinned, I could remove the unused runtimes:
flatpak remove --unused
This command presented me with a list of runtimes to remove, including all the problematic ones:
ID Branch Op
org.gnome.Platform 46 r
org.gnome.Platform.Locale 46 r
org.freedesktop.Platform.openh264 2.4.1 r
org.kde.KStyle.Adwaita 5.15-23.08 r
org.kde.Platform 5.15-23.08 r
org.kde.Platform.Locale 5.15-23.08 r
org.kde.PlatformTheme.QGnomePlatform 5.15-23.08 r
org.kde.WaylandDecoration.QAdwaitaDecorations 5.15-23.08 r
org.kde.WaylandDecoration.QGnomePlatform-decoration 5.15-23.08 r
After confirming the removal, the warnings were finally gone!
Step 3: Verify the Fix
A quick verification showed that the warnings no longer appeared:
flatpak update --noninteractive
The output was clean - no more warnings!
Takeaways and Best Practices
This experience taught me several things about managing Flatpak installations:
Understand Pinning: The Flatpak pinning feature is useful but can lead to outdated runtimes remaining on your system.
Regular Maintenance: It’s good practice to periodically check for pinned runtimes using
flatpak list --runtime
and consider whether they can be unpinned.Keep Runtimes Updated: While application compatibility is important, keeping runtimes updated helps maintain security and performance.
Use the Right Tools: Flatpak provides specialized commands like
pin
that aren’t obvious but are crucial for certain maintenance tasks.
Conclusion
Pinned runtimes in Flatpak can be a source of persistent warnings, but with the right approach, they’re relatively easy to resolve. By understanding the role of pinning in Flatpak and learning how to manage it, you can keep your system clean and warning-free.
Remember that while removing outdated runtimes is generally safe, always ensure that no applications depend on them before doing so. The --unused
flag with flatpak remove
helps ensure you’re only removing truly unused components.