Skip to content

Finalizing rpm-ostree support in Discover

Tuesday, 22 November 2022 | Siosm’s blog


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.

Default view in Discover

All versions of the system are listed there.

Operating System category

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.

Entry detail

If you go into the Update section you will see the available updates.

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.

Update in 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.

Ready for 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.

Operating System category before reboot

Once you have rebooted, you can see the new version as active and the previous version as fallback.

Operating System category after reboot

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.

New major release with pending update

Same thing in the update view with pending updates.

New major release with pending update (update view)

If you are all up to date, then you can rebase to the next major version.

Rebase to next major version available

Same thing in the update view.

Rebase to next major version available (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.