Jump to content

KDE Linux/Background information

From KDE Community Wiki
Revision as of 04:01, 30 September 2025 by Ngraham (talk | contribs) (Create the page, migrating content from the main page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Goals

  • Be "The KDE operating system"
  • User-friendly; high-quality UX
  • Doesn't break, or at least easy to recover
  • "Batteries included"; no need to manually install device drivers, optional KDE features, etc
  • Keeping security in mind
  • No packaging knowledge needed to develop for it
  • Focus on modern technologies
  • Attractive for our hardware partners
  • Any edition can be used as the main system by our developers for internal dogfooding purposes
  • Support switching between editions/release schedules at any time
  • Exercise codepaths for containerized apps and immutable base systems, to improve KDE software deployed using these technologies in other environments


Non-goals

Does not have to support the runtime installation of kernel modules. This will prevent the out-of-the-box installation of, for example:

  • Proprietary NVIDIA kernel driver (for graphics cards older than NVIDIA GTX 16xx). NVIDIA GPUs must either be new enough to use the open-source kernel modules that can be distributed in-tree, or else use Nouveau. Proprietary NVIDIA userspace driver components and utilities are pre-installed.
  • VirtualBox (requires out-of-tree modules; QEMU/KVM probably do a better job anyway)
  • Vendor-specific VPNs that require custom out-of-tree kernel modules that cannot be redistributed with the kernel due to license incompatibility

Does not have to support the use case of developing low-level system components like the kernel, drivers, systemd, etc., as this can be troublesome with an immutable base OS.


Target audience and use cases

KDE Linux will offer multiple editions using different release schedules, suitable for different kinds of users. Ideas:

  • Testing edition: built from git master and released daily. Like KDE neon Unstable. For QA people, Plasma developers, and Patrick Silva.
  • Enthusiast edition: when there are any beta releases, ships the beta. Otherwise, ships released KDE software using KDE's own release schedules. For KDE enthusiasts, power users, tech journalists, and other influencers'.'
  • Stable edition: ships released KDE software using KDE's own release schedules. When there's a beta release of Plasma or Gear apps, this is offered to the user; if they opt in, their OS image gets swapped out for the one from the Enthusiast Edition. For everyone else.

The Stable Edition will be prominently mentioned on the web page. The Testing edition will also be mentioned, but hugely de-emphasized. The Enthusiast edition will only be mentioned in the press kit and is considered an internal implementation detail for people using the Stable Edition who want to opt into beta releases.


Architecture

Current architecture:

  • Systemd-boot as the bootloader with nice boot theming
  • / is a read/write Btrfs volume
  • /usr is a read-only erofs volume backed by a single file
  • Atomic image-based updates by simply swapping out the files backing the /usr erofs volume.
  • Up to 5 OS images are cached on disk, providing rollback functionality
  • Base OS content is Arch-based. OS updates are some degree of rolling; snapshot based releases with relatively recent libraries
  • No system-level package manager is included; this isn't a "build it yourself" OS
  • "Batteries included": as many hardware drivers and support packages as possible included on base image
  • Apps are from Flatpak (and maybe also Snap if it's not too hard and the UX is okay), providing containerization/separation
  • Non-app 3rd-party content is from Distrobox, Toolbx, Homebrew, AppImage, or compile it yourself
  • Only the Wayland session is supported
  • Reproducible builds, must-pass CI, automated UI testing

Architecture ideas to be implemented in the future include:

  • Automatic encryption of all mutable data (e.g. user homedir, and cache locations on /)
  • Included recovery partition
  • Automatic user data backup system using Btrfs snapshots, with a nice GUI around it like Apple's Time Machine
  • DConf-like configuration management UI suitable for enterprise and managed environments leveraging KConfigXT for everything
  • Simple input method configuration for CJK and more
  • "Troubleshooting hub" app

The Discover software center app can update the system. You can also update via a terminal command:

sudo updatectl update


Differences from other immutable distros

(e.g. Kinoite, Kalpa, SteamOS)

1. Distributed by KDE. This has several advantages:

  • The chain of responsibility is never gated on a third party
  • KDE and KDE e.V. can have a direct relationship with third parties using it, e.g. hardware OEMs
  • KDE can explicitly recommend it without "picking favorites" from among other distro partners

2. Relies on systemd tooling. This means it benefits from the bulk of development done on Systemd outside of KDE. So for example, updates use systemd-sysupdate rather than something like RPM-OStree.

3. No packaging knowledge required to develop it. Packages are used to build the base OS, but not produced or altered.

4. Offers multiple release schedules. This lets every user choose their personal preference with respect to newness vs stability. Should that preference change, switching to a different schedule is safe and painless.


Differences from KDE neon/Prior art

KDE neon was KDE's first version of a self-made OS. It fulfills the "distributed by KDE" requirement, but fails on the reliability angle due to the Ubuntu LTS base that ironically becomes unstable because it needs to be tinkered with to get Plasma to build on it, breaking the LTS promise. It is built on fairly old technology and requires a lot of packaging busywork — both of which are non-goals of KDE Linux.


Roadmap


Long-term maintenance and EOL plan

OS images are served from https://files.kde.org/kde-linux.

The EOL contingency plan is to push a final update shipping an OS image that transforms the system into a completely different distro, to be chosen at the appropriate point in time (i.e. which distro team we have a good relationship with that could take on all the new users when the time comes).


Governance & policies

KDE Linux follows a "Council of elders" model with major contributors being the elders, and Harald Sitter having final decision-making authority in cases of disagreement.

Specific policies adopted: