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:
-
Check if you can remove unused runtimes. This did not fix the problem in my case, but it is worth trying.
flatpak uninstall --unused
-
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. -
Uninstall runtimes.
flatpak uninstall -y org.gnome.Platform/x86_64/45
flatpak uninstall -y org.kde.Platform/x86_64/6.6
-
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. -
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.
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.