Skip to content

Making Plasma Setup More Mobile-Friendly: A SoK'26 Midterm Update

Thursday, 12 March 2026  |  Onat Ribar

Hey everyone! I'm Onat, and I'm a bit past the halfway mark of my Season of KDE 2026 journey. Here's what I've been working on!

For reference, here are some relevant links:

The project: Plasma Setup

Plasma Setup is the wizard that greets you on a fresh KDE install and walks you through account creation and basic system configuration. When I started, it was very much built with desktop screens in mind, and this shows when you try to run it on a phone.

The project is about making Plasma Setup work properly across tablets and mobile phones running Plasma Mobile, without breaking the expected behaviour of Plasma on desktop. My work so far has been focused on UI and UX, making it adaptive with Kirigami.

Another area of interest was a dependency issue, in which Plasma Setup currently pulls in kcm_keyboard from plasma-desktop, which was awkward for mobile systems. Due to time constraints and priorities, we haven't pursued this yet, but I will make sure to comment on it in my next blog post!

What I've done so far

The first couple of weeks were mostly about getting ready: setting up VMs running both KDE Desktop and Plasma Mobile spins, reading through the codebases of plasma-setup and plasma-mobile, figuring out just how tightly coupled the kcm_keyboard dependency actually is, as well as refreshing my knowledge of QML/Kirigami and testing the GUI to spot any troublesome areas.

One early relief: Plasma Setup already runs on Plasma Mobile without crashing! But "runs" and "looks good" are very different things, and there were plenty of layout issues to address.

From weeks 3 through 7, the main deliverables were:

  • General fixes for overlapping, overflowing, and misaligned components.
  • Fixed wallpapers not showing in narrow layouts.
  • Expanded the wizard overlay to fill the screen on mobile.
  • Reworked the Time and Date page. The existing OpenStreetMaps map widget was too fiddly for touchscreens to navigate, so I replaced it with a clean region and timezone dropdown pair. This touched plasma-workspace as well as plasma-setup.
  • Disabled auto-capitalize and autocorrect on username and hostname fields, which are annoying on a phone keyboard.
  • Hid the landing screen buttons on mobile during wizard navigation to prevent accidental taps.
  • Endless rounds of testing and reverting changes that didn't make the cut.

There was also a lot of investigative work early on: checking for tight coupling, testing across virtualized Plasma Desktop and Plasma Mobile environments, and verifying behaviour on different CPU architectures. Not exactly glamorous but it was necessary!

One thing that really improved my productivity later on: I'd been avoiding the nested Wayland compositor for development because of this warning in the plasma-setup readme file:

"It is not recommended to install this on your system — you should use a virtual machine instead. Installing this on real hardware will leave behind files not trivially uninstallable and could leave your system in a non-function state."

That warning genuinely spooked me, and I stayed in VMs longer than I needed to. They're safe, but iterating on UI components in a VM was inconvenient and frustrating. My mentor pointed me toward kde-builder and running the applications on a nested Wayland compositor, which upon adoption really sped things up and built my confidence. I wish I'd made the switch sooner!

What hasn't gone so well

Not everything went to plan, but that's expected in a project like this.

The virtual keyboard situation is still on hold. How Plasma Setup should interact with on-screen keyboards is a bit of an open question, and I've put that aside to focus on the layout work first.

The dependency side of things (decoupling kcm_keyboard) is also not started yet; it's been pushed to the later weeks of the project as a side objective, and not only am I running out of time, but it's the part I'm most uncertain about. Refactoring something that touches both plasma-desktop and plasma-workspace without introducing regressions is going to need careful testing. Whether this module should be separated is a different concern as well. I will have more to say about this in my final post.

What's next

The remaining weeks will focus on final UI polishing based on feedback and getting MRs across the line. A well-polished Plasma Setup on mobile would be a meaningful step for Plasma Mobile as a whole; first impressions matter, and the setup wizard is literally the first thing a new user sees.

Special thanks to my mentor Kristen a.k.a. Merritt for their guidance. The regular check-ins and assistance outside of that have made a real difference for keeping things on track.

Cheers!