Finalizing rpm-ostree support in Discover
Initial support for rpm-ostree was added in Discover as part of a Season of KDE 2021 project that was completed by Mariam Fahmy.
Unfortunately, we hit some hard to diagnose issues related to DBus interactions with rpm-ostree so the work was left in limbo for a while and kept disabled in Fedora Kinoite.
I recently picked it up again and implemented a workaround as I could not figure out the root cause of the original issue.
I am pleased to announce that we now have good support for rpm-ostree in Discover! 🎉
This will be available with the Plasma 5.27 release. It will be pushed to Fedora Kinoite 37 once the update is ready and will be available by default in Fedora Kinoite 38.
In the meantime, here are some screenshots of how this will look like!
First, here is the default view in Discover. Notice that we now have an Operating System
category.
All versions of the system are listed there.
Selecting a deployment will get you more details. You can see that this version is pinned. This means that it will not be automatically cleaned-up by rpm-ostree. Support for pinning and un-pinning versions has not been implemented yet but the status is shown in the interface if you do it via the command line.
If you go into the Update
section you will see the available updates.
You can “mostly” follow the update progress. I say “mostly” here as we are not fully able to represent the entire progress in Discover yet (due to the DBus interface issues mentioned at the beginning) so the progress is not completely accurate as we do not show download progress.
Once the update is installed, you will be suggested to reboot. rpm-ostree updates are transactional, safe and atomic: they do not change your currently running system and are installed alongside it. Using a system with a pending update is thus perfectly safe. The new version will be used after a reboot.
If you look at the Operating System
category before you reboot, you will see the new installed version waiting here. You do not need to reboot right away and can wait for a good time for you. If a new version is released, Discover will offer the new version as an update again and you will directly update from the current version to the latest one.
Once you have rebooted, you can see the new version as active and the previous version as fallback.
Now let’s see what happens when a new major version of Fedora Kinoite is released. If you have pending or available updates for the current version, then Discover will ask you to update your system first.
Same thing in the update view with pending updates.
If you are all up to date, then you can rebase to the next major version.
Same thing in the update view.
Conclusion
I will soon write an updated blog post about how I do KDE development on Fedora Kinoite but in the meantime you can follow the instructions from the Development on Fedora Silverblue and Fedora Kinoite post to build Discover from source.
Please report any issue you may find in the KDE bug tracker with the Discover
product and the rpm-ostree Backend
component.
I will also soon start a discussion with KDE’s Visual Design Group (VDG) to work on improving the user experience in Discover for this backend.
Comments
You can also contact me directly if you have feedback.