Skip to content

Move kwin launching to systemd / plasma-session

David Edmundson requested to merge work/systemd_kwin into master

Currently we have a whole daisy-chain of startplasmawayland-> kwin -> startplasmawaylandsession -> launching the session.

This was needed as we needed environment variables which previously we only knew after kwin started.

After some kwin refactoring this is no longer the case, and kwin_wayland_wrapper will sync it's environment variables to the appropriate startup environments.

This allows us to move starting kwin_wayland to be systemd managed, bringing resource control, alongside it's classic counterpart plasma-session.

Testing done:

  • booted in the systemd boot, ensured the boot was not degraded (i.e kcminit and ksmserver managed to start)
  • booted without the systemd boot, ensured we had everything

Requires: kwin!1267 (merged)

Todo:

  • Refix wayland restarting (wayland restarts, so Xwayland ends, ksmserver ends, but now ksmserver closing is considered the end of "plasma-session" so we restart. Whereas before we relaunched it manually.

  • Sort out setFontDPI on wayland (this only affects the font used by xwayland apps, and the saving was broken till recently anyway: Options are !1012 (merged) or just throwing that line of code in the bin)

  • Fix ksplash with the systemd boot. Big task is config parsing to say if ksplash is enabled and which theme to then use is done by startplasma. We do have X-KDE-Autostart-Condition but that currently only takes a boolean (the systemd boot isn't enabled by default so it could be done later? or we could just deliberately leave it out and phase out ksplash?)

Edited by David Edmundson

Merge request reports