KDE Akademy 2026
Last week I attended this year’s KDE Akademy in Graz, Austria, my 20th in-person Akademy.
Akademy
Akademy for me is mainly about meeting the people I otherwise just work with online, and hanging out with old and new friends. And even 22 years after the first one I’m still excited about that. This year also happened to be KDE’s 30th anniversary, making this extra special.
Recordings of the talks are available on media.ccc.de, recordings of the BoF wrap-up sessions are on KDE’s PeerTube channel, and BoF notes should be in the wiki. There are also a couple of reports from other attendees already on Planet KDE.
Topics
QA and CD
On Saturday I spoke about how continuous delivery (CD) builds help with QA, based on the experience with using those for Itinerary.
While we see very little testing on pre-releases (betas, release candidates), getting people to daily-drive the latest CD builds from the main development branch turned out to be the single biggest improvement to overall quality in recent years.
It was great to see this was just one in several talks that focused on different aspects of QA this year.
New contributor experience
Daily-driving CD builds already turns people from users into contributors, becoming part of the QA team, maybe without even realizing this. A possible next step, sending a first merge request, even if just for something very small, is currently made way harder than it needs to be though.
As part of my talk I demonstrated a possible alternative workflow, getting to a modified and fully isolated version of Alligator within a few minutes, without requiring any modification on the host system or involving any risk of otherwise interfering with that.
This prototype involved a small modification to Kirigami Addons to add an “Edit Application…” action to the about dialog, and a custom URI handler to also make this work for fully sandboxed applications. It’s also currently only working with GNOME Builder, as none of our editors/IDEs so far have the Flatpak handling integrated seamlessly enough. Changing that was dicussed with the Kate later during Akademy then.
Assuming all that would be integrated, the only thing needed on the application side then is adding a link to the source code repository in the AppStream metadata file (and of course having a Flatpak manifest in its Git repository).
Plasma Mobile
For NFC support there’s now an agreement on where the integration code for Plasma should live eventually, very similar to how the Bluetooth code is organized. There was also the chance to test the existing code with a few more NFC-enabled cards/devices, which found a few more (usability) issues to address.
Shortly before Akademy, support for the xx-cutout-v1
Wayland protocol landed in Qt 6.13. This makes
Qt’s SafeArea API work with Wayland compositors supporting that protocol as well,
allowing us to benefit from all the work on supporting that in applications for Android.
What we were missing still is the compositer-side part of this in KWin, and I expected that to be much more work than the client part in Qt. An expectation the KWin team defied though, I got to see a prototype for cutout support in KWin already, so this looks very much in reach now.
We also discussed support for the XDG camera portal with the Qt MultiMedia team. We need that for accessing the camera from a sandboxed Flatpak application without giving it full device access. It’s something they want to have as well at least, but there’s no specific timeline yet (ie. we might have to implement it ourselves).
PIM
There was a talk about the Sovereign Tech Agency (STA) funded PIM work, as well as plenty discussion about this in the two-part PIM BoF, which was good to see.
Something I’m particularly excited to see being implemented is UnifiedPush support for CalDav, something which started at a meeting two years ago at a NextCloud conference. That’ll not only make calendar syncing faster and more efficient, it could also make synchronized reminder states viable, so dismissing an reminder on one of your devices would also dismiss it on all other devices.
Another exciting aspect is work on making calendar and contact data accessible to and from Flatpak applications. That’s currently an unsolved problem for GNOME and KDE, as both our PIM APIs were designed as platform APIs at a time before sandboxed applications were a thing. The ultimate goal here would be an XDG portal API for contact and calendar access, closing a gap that Linux currently still has compared to most proprietary platforms. This is a huge task though, but there’s several publicly funded efforts currently addressing parts of this.
As usual we also talked about the next steps in the repository consolidation work. KMime finally made the move to KDE Frameworks earlier this year, and we are almost done with dissolving kcalutils with a mix of up- and downstreaming its content. The likely next target would then be getting KIMAP to Frameworks as well.
Itinerary
Akademy is also the time of some of the most intensive Itinerary usage during the year, and thus lots of feedback coming in, causing a few improvements:
- Fixed the unreachable transfer warning not being shown.
- Fixed currency exchange rates shown in the wrong direction.
- Fixed a crash in online post-processing of reservation data commonly observed on Sentry but not easily reproducable.
- Fixed inaccessible entries in the country combo box due to an outdated qqc2-breeze-style in the APK.
Despite efforts following a previous Akademy to avoid a certain unnamed member of the community ending up at the wrong airport, said person got apparently lost entirely this time and didn’t make it to Akademy at all. So we still have a lot of work ahead of us to make travel David-proof.
More conferences
Akademy was the second in a close series of three major conferences for me now, following SotM 2026 and ending with the Open Transport Community Conference 2026 starting on Tuesday. That’s also why the bi-monthly Itinerary update post that would usually appear at this point has to wait a bit.