All Systems Go! 2025

Extending Fedora Atomic Desktops using systemd system extensions
2025-09-30 , Main

On image based desktops distributions such as Fedora Atomic desktops and Universal Blue, users are expected to run their graphical applications using Flatpaks and their command line ones using containers. But that approach does not work well for some applications that require more privileges, direct access to devices or kernel interfaces.

With systemd system extensions (sysexts), it is possible to extend an image based system on demand. Sysexts come with a lot of advantages: they can be created out of arbitrary content (not only packages), are quickly enabled or disabled and can be built and shared independently of the main distribution channels.

We will demonstrate how the Atomic Desktops can take benefit of sysexts to provide extensions such as virtual machine management (libvirt), alternative container runtimes (moby-engine or docker), IDE (VS Code) or debugging (gdb).

We will also look at important details when building sysexts, the current limits when deploying them (SELinux policy modules, service management, RPM database update), what is currently blocking us from using it for more complex cases (kernel modules) and what we would need to properly manage and update them.


Supporting examples for this talk: https://github.com/travier/fedora-sysexts
Work in progress sysexts manager that targets managing sysexts on Bootable Container systems: https://github.com/travier/sysexts-manager

Timothée Ravier is a CoreOS engineer at Red Hat. He maintains the Fedora Atomic Desktops. He is a KDE developer and helps maintain KDE Applications as Flatpaks on Flathub.

This speaker also appears in: