03 Oct 2026
Planet KDE | English
Akademy 2026 in Graz
Two weekends ago, I spent around 24 hours in a train to go to and back from Graz to attend Akademy. This year was a bit special since we are celebrating the 30 years of KDE and this was also my first time attending as a member of the KDE e.V. board.
Unfortunately I could only attend the weekend as I was also expected at the Nextcloud Community Conference in Berlin during the week.
I attended a bunch of talks, one of my favorite was "Are we really going to use the same Desktop UX forever?" from Scott Jenson, which I found super interesting and insightful. It really was a call for us to try to innovate and experiment with new UX concepts and he proposed some interesting directions, where we could be going. A good wake up call that now that macOS and Windows are not inventing anything anymore on the desktop we should be driving UX changes forward.
I also very much liked the talk "What Has Been Brewing in KDE PIM Land?" from Dominique Michel and arnaud chirat. As a fellow PIMster, it is great to see some real progress on fixing some longstanding issue in the backend. It's great to see the Sovereign Tech Agency investing in this core technology. This also motivated me to spend some time on improving Merkuro again (more on that in a separate post).
Aside from that, as always it's great to meet up with my fellow KDE developers, share some drinks, exchange ideas or just catch up.
On Saturday evening, I attended the sponsors dinner to discuss a bit with our sponsors. Akademy is a free event to attend and we are very grateful about companies sponsoring us to make it happen.
Sunday morning, I went for a short stroll across the city, because while I was only staying for the weekend, I still wanted to discover Graz at least a bit.
03 Oct 2026 3:05pm GMT
Kirigami Addons 1.15.0
After a few weeks of work, I am happy to announce that Kirigami Addons 1.15.0 is out. Kirigami Addons is a collection of many useful modules for your QML and Kirigami applications. I have been working more on Merkuro lately (more on that in a separate blog post) and as always when working on an application, it is also the occasion to improve Kirigami Addons even more :)
FormCard
The FormCard module received a new component, FormSliderDelegate, which is a form delegate for sliders.

Another nice improvement in terms of usability is that FormCard has a new property, autoSeparators, to automatically add and manage separators between delegates. This allows simplifying some code and in particular code involving Repeater. Internally, the AboutPage component already uses it.
Speaking of AboutPage, this component will now indicate when a new version is available and no longer shows "unknown" as the distribution mechanism. Additionally, the links now use FormGridContainer and we fixed the sizing of its internal dialogs.

In terms of mobile UI, FormTextFieldDelegate and FormPasswordFieldDelegate now have a special mobile design where the text field is hidden until clicked. On top of being a bit more compact, this also improves the input interaction and scrolling on mobile.

Date and time
The date and time popup can now be reset when resettable is set to true. Before, you could only set a new value but not reset it to an unset state. This is useful in Merkuro Contact, where we can unset a birthday or anniversary for a contact.
There are more changes planned around the date and time module, and I have a huge pending merge request for using proper date and time objects instead of JS dates, which should fix a lot of edge cases.
KirigamiApp
KirigamiAppDefaults has a new load() function. It loads your main QML module and, if loading fails, shows the QML errors to the user instead of silently exiting. On desktop the errors are displayed in a native message box, and on Android a Qt Quick dialog is used so you don't need to depend on Qt Widgets. This makes debugging startup issues a lot easier, especially when the application is launched outside of a terminal.
QQmlApplicationEngine engine;
KLocalization::setupLocalizedContext(&engine);
if (!KirigamiAppDefaults::load("org.kde.myapp", u"Main", &engine)) {
return EXIT_FAILURE;
}
return app.exec();
Documentation
This release also includes various improvements to the documentation with some module overviews and cleanups of the existing documentation. For example, here are the overview pages for the formcard, actions and settings modules.
We also updated the application templates provided by Kirigami Addons to be up to date with the best practices.
Packager section
Kirigami Addons now requires Qt 6.10 or later.
You can find the package on download.kde.org (kirigami addons) and it has been signed with my GPG key.
03 Oct 2026 3:00pm GMT
KStars 3.8.5 Released
KStars v3.8.5 is released on 2026.10.03 for Windows, Linux, and MacOS. We are providing arm64 (Apple Silicon) and x86_64 variants for the MacOS release, but we hope to release a universal binary by the next KStars release.
For Linux users, it's highly recommended to use the official KStars Flatpak hosted at Flathub.
This release brings major stability improvements, a comprehensive AI Guider overhaul with multi-night training and closed-loop fixes, expanded MCP tool coverage for headless automation, multi-camera support in Analyze, and significant enhancements to the scheduler, capture, and guide modules. Here are some highlights:
FITS Viewer Quality of Life improvements
You can now drag and drop any FITS/XISF files directly unto the KStars sky map and it would be automatically opened. If you dragged a folder, it would be opened in Blink mode. Furthermore, when opening FITS files from file manager (e.g. Dolphin), it now re-uses the same KStars instance and does not open a new instance for each new file.
AI Guider: Major Reliability & Performance Overhaul
- Fixed closed-loop RLS divergence in Active mode - the online phase/amplitude tracker in
WormGearGuider(WORM_GEAR mounts like the EQ8) could re-learn its own leftover prediction error once its output started influencing the applied pulse, making RA guiding measurably worse under Active mode than Standard. The tracker now freezes whenever the applied pulse contains the AI's own prediction, preventing contamination. Confirmed live: RA RMS improved from 3.06" (diverging Active) to 2.41" (frozen Active) vs. a 3.56-5.38" Standard baseline. - Per-axis confidence - RA and DEC now maintain independent confidence scores instead of sharing one across both axes. A bad prediction on one axis no longer drags the other axis's trust up or down. Verified live: DEC RMS improved 4.75"→1.26" same-session A/B after the split.
- Shadow Mode now stays in Shadow Mode -
applyFingerprintToOptions()was unconditionally switching the guide algorithm to AI on every weights load, defeating Shadow Mode's purpose. Verified live: a 1500+s Shadow session heldStandard/SHADOWthroughout with zero AI-influenced pulses. - Multi-night pooling and neural Shape Net for RA - new offline training scripts (
pool_sysid_data.py,train_shape_net.py,loocv_shape_net.py) pool free-drift data across multiple nights, phase-aligning each night to its own fitted period before combining. A small neural net (phase, altitude → predicted RA drift) trained on pooled data beats a fixed 4-harmonic Fourier baseline by a statistically real margin (95% CI excludes zero), winning in 7 out of 7 held-out nights. LOOCV-validated with a night-level cluster bootstrap. - DEC online drift tracker - adds a 1-state recursive Kalman filter tracking residual DEC rate against the existing physics baseline (refraction + polar drift). First live test achieved r=0.65 then r=0.55 physics_dec vs actual DEC error - the strongest correlation of the investigation. Matched-altitude live A/B testing found real altitude-dependent patterns (~29% DEC RMS improvement at low altitude, reversing to ~22% worse at mid altitude). Per-mount opt-in via
weights.json's newresidual_filtersection. - Multi-harmonic PE model - extended from a single sinusoid to 4 independently-tracked harmonics (RA), mirrored in the offline trainer's physics model. Real free-drift data shows significant power through the 4th harmonic that a single-sinusoid model structurally cannot represent.
- Safer AI/PID pulse blending - fixed a chronic RA under-correction bug where proportional gain was backed off by a flat confidence-scaled fraction regardless of whether the AI's feed-forward term was large enough to replace the P-authority being removed. Replaced with a capped backoff that only removes as much P as the AI term demonstrably reinforces, proven via unit tests to never weaken the blend below plain P+I when the AI term doesn't justify it.
- PID Auto-Tune improvements - cold vs. warm pulses now distinguished (3 consecutive pulses per direction instead of alternating), and Andreas R. added a short-exposure switch during
pulse_responsephases (0.25s) so the default ~2s guide cadence can actually sample the dead-time transient the fitter needs. DEC auto-tune timing tightened (12 response frames/10s settle → 6/2s) to keep the axis closer to continuously engaged. - PE period detection fixed -
train_worm_gear.pywas picking a 2nd-harmonic peak (~100s) over the true fundamental (~198-201s) via a bareargmax()over one Lomb-Scargle periodogram. Now walks toward longer periods when a comparably-strong harmonic relationship exists, gated on ≥2.5 cycles resolved. - Fixed
k_ref(RA refraction term) loaded fromweights.jsonbut never read byphysicsRA() - RLS cold-start now warm-starts from the offline-trained physics fit instead of zero, with anisotropic covariance
- AI Guide Wizard slew-skip bug fixed - a restarted session could silently skip its slew by matching a stale target position
- Data-collection phases now target a frame COUNT (with wall-clock as a 3x backstop) instead of fixed duration, so slower Debug-build cadence doesn't silently halve the frame count
- AI debug CSV logging added for dark-guiding pulses (previously only visible via verbose qCDebug)
Scheduler & Observatory Automation
- Fixed scheduler not shutting down when a safety alert outlasts the job - with the weather grace period set to wait indefinitely, an alert lasting past a job's completion constraint left the observatory open (reported in daylight in one incident). The monitoring branch now releases the active job when a soft shutdown starts, re-evaluates jobs before any post-startup task, and runs the full shutdown when no job is left.
- Fixed internal guider not guiding after the scheduler restarts it while suspended - when a scheduler job repeats and its sequence ends with non-light frames (e.g. flats), guiding is still suspended when the next iteration starts. The cgmath suspend flag set by
suspend()was never cleared, so every guide frame was skipped for the rest of the night. BUG: 526397 - Fixed scheduler retrying autofocus on an optical train without focuser - when a Focus tab switched to an optical train without a focuser,
canAutoFocus()kept reporting the capability of the previously selected focuser. The scheduler then started autofocus on the train without focuser, which aborted and was retried until the job aborted and rescheduled, oscillating between Scheduled and Running. - Fixed scheduler double-counting captured frames for targets with a dot in the name - Wolfgang Reissenberger fixed
PlaceholderPath::getCompletedFiles()deriving its file-matching pattern by stripping everything from the last.onward. A target likeSNR_G108.2-0.6got truncated right after that dot, discarding camera, filter, exposure, date tokens. Two optical trains capturing the same target into a shared directory each reported the combined frame count instead of its own. - Fixed UI test startup D-Bus service name and location -
locationNamed("Greenwich")returns Greenwich, Connecticut with US DST rules while tests expect Greenwich, UK - Fixed greedy scheduler tests using the standard-time UTC offset instead of DST
- Fixed scheduler not creating the Ekos Manager while loading sequence files (crashed
testschedulerunit) - Added scheduler and test pitfalls to
AGENTS.md- notes for AI agents from the scheduler weather work - Thomas Nemer added MCP scheduler tool family:
scheduler_status,scheduler_jobs,scheduler_current_job,scheduler_start/scheduler_stop,scheduler_load
Camera & Capture
- Fixed follower camera hanging after focusing - Wolfgang Reissenberger fixed a multi-camera bug where a follower camera could get stuck after re-focusing if the camera was paused while the lead camera dithered and a re-focus became due at the moment the sequence continued. Resuming a paused sequence now retries pending actions instead of giving up after the first attempt.
- Fixed capture status label stuck at "Focus Offset" - Wolfgang Reissenberger fixed the status label over the capture preview keeping "Focus Offset" while the frame is being exposed instead of switching back to "Capturing".
- Capture: do not restart an aborted sequence when dithering ends - Wolfgang Reissenberger fixed capturing that was stopped while a dithering run is still in progress restarting on its own as soon as the dithering finishes. Only capturing that was paused for the dithering itself is now resumed.
- Unified Temperature with Gain/Offset "no value" semantics - removed the separate enforce checkbox (could fall out of sync with the spinbox's own value) and gave Temperature the same special-value convention Gain/Offset already use: the spinbox itself carries a "--" sentinel (min - step) for "no target temperature".
- Fixed dark frame matching to use the target chip's camera, not the dialog's -
DarkLibrary::findDarkFrame()read gain/temperature from the camera tied to the optical train selected in the Dark Library dialog, not the camera that owns the chip being matched. For setups with a dedicated guide camera, this caused valid dark frames to be rejected on a gain mismatch that never existed. - Multi-camera bug fixed: disconnect from old camera device if device changes - Wolfgang Reissenberger fixed the camera tab not disconnecting from its former device if the device has been changed (e.g. optical train switched). Turning off cooling on the first camera appeared to turn off cooling on the second camera as well (the INDI driver showed cooling was still on).
- jc tk added camera name and optical train placeholders for filename generation:
%opticaltrain/%oand%cameraname/%c - Andreas R. added stream depth selector for video sequences - a combo box (Stream OFF / 16-bit / 8-bit) in the capture sequence editor for video frame type, allowing users to specify bit depth directly in the sequence file
- Thomas Nemer added MCP capture sequence tool family:
capture_status,capture_get_jobs,capture_start/capture_stop/capture_abort,capture_suspend/capture_pause/capture_resume,capture_load_sequence,capture_set_target
Guide
- Warn when mount stops tracking while guiding is active - if the mount reports
MOUNT_IDLEorMOUNT_ERRORwhile guiding/dithering is running, Guide now fires a loud GuideFailed notification instead of silently guiding into a wall (e.g. AM5N mounts spontaneously losing tracking mid-session per user reports). - Andreas R. added reset calibration when the field rotates - an opt-in option that invalidates a completed/stored guide calibration when the field has rotated (detected via the Align module's plate-solved position angle), so a fresh calibration is measured on the next guide start instead of guiding on a stale, rotated one. Handles both electronic rotator moves and manual camera rotation. Works with the internal guider and PHD2. Meridian flip changes are explicitly excluded via pier-side tracking and a 180° magnitude fallback.
- Andreas R. added a Stream OFF/16-bit/8-bit selector (per optical train) - replaces the guide module's Stream checkbox with a stream mode combo box offering three choices. The selection is saved per optical train. Includes
Camera::setStreamDepth(int)helper (0 = 8-bit, 1 = 16-bit). - Andreas R. fixed GUI freeze on streaming guide + normal dither (self-join deadlock) - a hard GUI freeze with the internal guider in streaming mode when the capture module requests a normal (multi-pulse) dither. Ekos locks up the instant "Dithering…" is logged. Root cause: a stream frame processed on the GUI thread spins a nested QEventLoop during star extraction, which dispatches the imaging camera's queued
newImage→dither→ synchronousInternalGuider::dither()→findStarson the same FITSData whose extraction future is still running inline → deadlock. Streaming normal dither now uses the same deferred path as single-frame guiding. - Andreas R. made calibration always run single-frame; stream only while guiding - streaming guide calibration produces erratic results (scattered plots, mis-estimated pulse rates, "Lost track of the guide star" aborts) because calibration is frame-driven and assumes each frame reflects a completed, settled pulse. With the default 1000 ms calibration pulse longer than the exposure, pulses overlap and the mount never settles.
Guide::calibrate()now stops any active stream beforebuildOperationStack(), so the whole calibration runs on the single-frame path; the stream starts automatically when active guiding begins. - Andreas R. applied dark/defect-map correction to streaming guide frames - in streaming mode the
GUIDE_DARKoperation step is skipped, so the "Dark" checkbox was a no-op. The correction is now applied inline inprocessData()for streaming frames via newDarkProcessor::denoiseSynchronous()before the frame is loaded into the guide view or handed to the guider. Verified on real hardware (PlayerOne Xena 585M): glow pedestal and gradient removed, edge-spread 5.0 → 0.2/0.7.
Alignment & Mount Modeler
- Lower the default align check threshold to 10 arcminutes and improve logging to identify if the actual mount moved between checks
- Account for declination when calculating total alignment error
- Properly display annotated objects after plate-solving an image from Sky Map objects
- Fixed align hang when a slew completes without an observable IPS_BUSY - some mount drivers finish very short corrective slews within a single status tick and never emit an intermediate
IPS_BUSYforEQUATORIAL_EOD_COORD. Align'sALIGN_SLEWINGhandler only trusted anIPS_OKonce it had witnessedIPS_BUSY, and the elapsed-timer fallback is only re-evaluated when a new property update arrives. Snapshot the mount's reported RA/DE right beforeSlew()commands the move, and also accept anIPS_OKwhose position differs from that snapshot as proof
03 Oct 2026 1:10pm GMT
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.
03 Oct 2026 5:45am GMT
This Week in Plasma: 6.8 Beta 2; Keep Testing!
Welcome to a new issue of This Week in Plasma!
This week, Plasma 6.8 continues to pass through the bug-fixing process in preparation for its release on October 14th, including the release of a second beta version. So far we still don't have many reported regressions, so again either Plasma 6.8 is amazing already, or else people aren't testing it enough!
In addition to bug fixing and polishing, Plasma contributors also began landing some features and UI improvements for Plasma 6.9. Check it out:
Notable new features
Plasma 6.9
The context menu for Task Manager tasks now includes a "Move to Screen" feature, mirroring the similar one already accessible from windows' titlebar context menus. (Kai Uwe Broulik, KDE Bugzilla #465058)
System Settings' Firewall page can now display comments associated with custom firewall rules made with the ufw firewall backend. (Arie Miller, plasma-firewall MR #109)

Notable UI improvements
Plasma 6.8
Tiled windows now have square corners, so they fit together nicely. (Ethan Chappel, KDE Bugzilla #490716)

The Dictionary widget now fully adjusts its colors when the active color scheme or Plasma style changes, and looks more "Plasma-style" in general. (Christoph Wolk, kdeplasma-addons MR #1141)
System Monitor's Processes and Applications pages no longer sometimes show double scrollbars. (Christoph Wolk, plasma-systemmonitor MR #466)
Plasma now sends fewer notifications about the screen configuration changing - particularly for cases where they offer no real value. (Kai Uwe Broulik, plasma-workspace MR #7094 and plasma-workspace MR #7148)
Plasma 6.9
System Settings' Touchpad page now expresses the available options for right- and middle-clicking in a more natural way. (Jakob Petsovits, plasma-desktop MR #4041)
On System Settings' Notifications page, some icons on the list items for configuring individual notifications now have tooltips to explain what they do, in case their icons aren't comprehensible enough. (Tobias Fella, plasma-workspace MR #6785)
If you've configured any custom clipboard actions in the Clipboard widget's settings, they're now placed above the standard MIME type actions, rather than below them. (Paul Wise, plasma-workspace MR #6107)
The "In rows" and "In columns" arrangement options for desktop icons now arrange icons the way they say they will, rather than according to the opposite option. (Daniel Pflager, KDE Bugzilla #512993)
Notifications with speed graphs no longer redundantly show the current speed twice while expanded. (Méven Car, plasma-workspace MR #7050)
Notable bug fixes
Plasma 6.6.7
Fixed an issue that could make Plasma freeze on systems where the Wi-Fi adapter is disabled and re-enabled frequently. (Jay Fleischer, plasma-nm MR #669)
Fixed an issue in the Comics widget that could make it occasionally get stuck in an infinite loop and waste system resources. (Tobias Fella, KDE Bugzilla #525856)
Plasma 6.7.6
Fixed a case where KWin could crash on systems with NVIDIA GPUs using version 610.57.04 or later of the proprietary driver. (Xaver Hugl, KDE Bugzilla #524840)
Fixed a case where Plasma could crash when you dragged a widget to a panel. (David Edmundson, KDE Bugzilla #501289)
Fixed a case where Plasma could crash while trying to fetch weather data from Environment Canada. (Bohdan Onofriichuk, KDE Bugzilla #512054)
Fixed a memory leak in the Process Table widget. (David Edmundson, KDE Bugzilla #525978)
Worked around an upstream issue in version 9.12 or later of the coreutils library that prevented KWallet from being unlocked at login as expected. (Omid Kordbache, KDE Bugzilla #525805)
Fixed a recent regression that made the names of touchpads vanish from the device chooser combobox on System Settings' Touchpad page. (Kai Uwe Broulik, KDE Bugzilla #521800)
Plasma 6.8
Fixed a case where Plasma could crash in response to apps closing or crashing in very specific ways. (David Edmundson, KDE Bugzilla #506562)
Fixed an issue that made Spectacle sometimes fail to save screen recordings. (Zhora Zmeykin, KDE Bugzilla #516848)
Spectacle's "Share" feature once again works. (Tobias Fella, KDE Bugzilla #525413)
When you drag the thumbnail of a file or screenshot from a notification to somewhere else, the drop menu once again includes "Move" as an option. (Christoph Wolk, KDE Bugzilla #508520)
Remote desktop authentication now works with version 3.32 or later of the freerdp library. (Ben Marshall, krdp MR #248)
Fixed an issue that could cause remote desktop sessions closed remotely while in progressive mode to get stuck and block starting new sessions. (Oliver Beard, krdp MR #246)
The Brightness & Color widget is now fully screen-reader-friendly. (Christoph Wolk, KDE Bugzilla #508485)
Fixed a bizarre clipboard issue that mis-rendered certain Unicode characters in the 100th position of a piece of copied text. (Tomáš Hnyk, KDE Bugzilla #508224)
Plasma 6.9
Text in a right-to-left language that you copy to the clipboard while using a left-to-right language is no longer covered up by the hover buttons in the clipboard history. (Tomáš Hnyk, KDE Bugzilla #440349)
Fixed a visual glitch affecting notifications with speed graphs that could appear when you sent them to the history, and then restored them. (Méven Car, KDE Bugzilla #514677)
Notable in performance & technical
Plasma 6.8
The Task Manager widget's feature to filter tasks by virtual desktop has been made compatible with the "per-screen virtual desktops" feature. (Kai Uwe Broulik, plasma-workspace MR #7147)
System Monitor and its widgets now measure GPU memory usage more accurately. (Roan Bukaci, KDE Bugzilla #525481)
How you can help
KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.
Would you like to help put together this weekly report? Introduce yourself in the Matrix room and join the team!
Beyond that, you can help KDE by directly getting involved in any other projects. Donating time is actually more impactful than donating money. Each contributor makes a huge difference in KDE - you are not a number or a cog in a machine! You don't have to be a programmer, either; many other opportunities exist.
You can also help out by making a donation! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.
To get a new Plasma feature or a bug fix mentioned here
Push a commit to the relevant merge request on invent.kde.org.
03 Oct 2026 12:00am GMT
02 Oct 2026
Planet KDE | English
Web Review, Week 2026-40
Let's go for my web review for the week 2026-40.
NVIDIA's Greenwashing Tactics & Hidden Emissions
Tags: tech, nvidia, hardware, economics, ecology
Are we surprised? Unfortunately not, they almost increased their indirect emissions 8 folds in a few years. And it could get worse still.
AI's Unsustainable impacts to grow x7 by 2030
Tags: tech, ai, machine-learning, gpt, ecology
There's clearly a major issue in terms of environmental impacts with the AI industrial complex. Yes it's also about electricity consumption but not only. We have at last a comprehensive study on the matter. Without major changes it's just unsustainable and something we can't collectively afford.
https://www.greenit.fr/2026/09/30/ais-unsustainable-impacts-to-grow-x7-by-2030/
Micron CEO Says Memory Supply Will Be Much Tighter in 2027 and 2028 Than in 2026
Tags: tech, ai, machine-learning, gpt, hardware, memory, business, economics
Looks like the mess on hardware prices will continue for a while…
The AI Pascal's Wager
Tags: tech, ai, machine-learning, gpt, copilot, foss, community
It makes sense to me, it's better to not fall prey to the marketing induced FOMO. Instead projects have a chance to do the right thing.
https://ploum.net/2026-10-01-pascal_wager.html
If we do not stop to help each other, what do we become?
Tags: tech, ai, machine-learning, gpt, community
Aren't we loosing sense of community and our humanity indeed?
https://blog.codinghorror.com/if-we-do-not-stop-to-help-each-other-what-do-we-become/
The opposite of the apocalypse is a neighborhood
Tags: tech, ai, machine-learning, gpt, copilot, community, politics
Kind of an unusual read. But I think the message is powerful. We should definitely favor community over tools controlled by the new robber barons.
https://thewhitepages.net/p/the-opposite-of-the-apocalypse-is
One month without AI
Tags: tech, ai, machine-learning, copilot, productivity, quality
The slippery slop seems clear… If you start generating a bit you'll be pushed to loose full control in the end. Do you think you can learn this way? Improve? I doubt it.
https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html
This study looks at how and with whom connected cars share your data
Tags: tech, automotive, privacy
The automakers still don't care about privacy apparently…
https://arstechnica.com/cars/2026/09/connected-car-data-privacy-is-still-abysmal-study-finds/
File Notification Attacks
Tags: tech, security
Interesting new family of side channel attacks. Surprising it lingered for so long before being noticed.
Don't couple your Go code to GitHub
Tags: tech, go, supply-chain, vendor-lockin
This is clearly something which bugs me about the Go ecosystem. It's way too coupled to a single Git provider. The approach to dependency management is neat otherwise but more care should be taken about avoiding this GitHub lock in.
https://iain.rocks/blog/dont-couple-your-go-code-to-github
Taking Out The Garbage In Postgres
Tags: tech, postgresql, databases, performance
Interesting issues around cascading deletes in Postgres and how the indices are managed.
https://www.dbos.dev/blog/scaling-deletions-in-postgres
DTAP - Text and Test Anything Protocol
Tags: tech, tests, infrastructure, shell
Looks like an interesting tool for black box testing. Seems especially suited for full system tests.
https://dtap.sparrowhub.io/doc/README
Reducing C++ template bloat by factoring out the type-dependent portions of the function
Tags: tech, c++
This is indeed a good way to reduce the code generated by templates.
https://devblogs.microsoft.com/oldnewthing/20260820-00/?p=112629/
We Have Named Arguments at Home
Tags: tech, rust, type-systems
It's indeed not urgent to have this language feature in Rust. I'm less convinced about the case put forth regarding function overloading not being necessary though. Feels a bit like post-hoc justification in this case.
https://corrode.dev/blog/named-arguments-at-home/
Rusty thoughts on "Parse, don't validate"
Tags: tech, type-systems, reliability, rust
This is indeed an important pattern to build reliable systems. It's worth exploring in various languages. Here is the Rust perspective.
https://eli.thegreenplace.net/2026/rusty-thoughts-on-parse-dont-validate/
What makes Lisp difficult to read?
Tags: tech, lisp, vision
Interesting take and exploration for the reasons which might make Lisp harder to read than other languages.
https://paultm.nl/paren-thesis
Keep if clauses side-effect free
Tags: tech, programming, craftsmanship
You're not paying for a couple more intermediate variables. For sure they make things more readable though.
https://www.teamten.com/lawrence/programming/keep-if-clauses-side-effect-free.html
Modern Motherfucking Website
Tags: tech, web, frontend, framework, complexity
Indeed web frameworks are not needed for everything.
https://modernmotherfuckingwebsite.dreamstation.systems/
A Staff Engineer's Guide to Inventing Work
Tags: tech, ecosystem, product-management, project-management
Interesting points. If you're making a platform you can't really figure out what to do next in the same way than when usual product management is possible. There are signals to look for to feed your roadmap though.
https://sujithjay.com/inventing-work
Even at 100 meters, PV makes neighbours more likely to go green
Tags: tech, energy, ecology
This finding is kind of surprising to me. Time to install solar systems at home I guess?
Sodium-Ion Batteries May Be Close to Market Readiness
Tags: tech, energy, battery
Let's see if it really takes off. It'd be a step in the right direction for sure.
Pirating the Pirates
Tags: movie, culture, copyright
Fascinating account of what people must go through for proper film preservation. It's kind of weird that it is still illegal. You'd wish there'd be more recognition for such passion.
https://mubi.com/en/notebook/posts/pirating-the-pirates
Bye for now!
02 Oct 2026 11:23am GMT
01 Oct 2026
Planet KDE | English
Implementing Tracepoints in Qt Applications using Qt Creator 21
Sometimes, as a developer, you need to find out why your application is misbehaving. The usual advice is to add tracing or use a profiler.
![]()
01 Oct 2026 4:10pm GMT
Qt Creator 21 Beta released
We are happy to announce the release of Qt Creator 21 Beta!
![]()
01 Oct 2026 10:45am GMT
This Month in KDE Linux: September 2026
Welcome to this edition of This Month in KDE Linux, dedicated to KDE's next-generation operating system.
September was a bit of a slow month for KDE Linux, the result of multiple contributors preparing for, attending, and recovering from Akademy 2026, and then later All Systems Go! 2026.
But it was hopefully not all for naught; Harald and Nate gave a presentation about the project at Akademy:
…And then Harald gave another one at All Systems Go!
Anyway, most work consisted of infrastructure and code maintenance, documentation improvements, and small bug fixes. Sky Poincet and Philip Grant did a lot of the heavy lifting while Harald and Nate were absent, which is much appreciated.
Despite us still calling KDE Linux an alpha release, the project is maturing to focus on stability and polish, a classic application of the Pareto principle (colloquially known as the "80/20" rule).
One interesting project did land in September, though: Hadi Chokr replaced sudo and pkexec with wrappers that call the more modern and secure run0 tool. This reduces the number of SUID binaries that can be used for privilege escalation attacks.
BuildStream
This is probably a good time to talk about BuildStream. What's BuildStream?
If you know what Yocto is, BuildStream is basically Yocto but stewarded by the Apache Foundation.
If you don't, then the easiest wasy to explain BuildStream is that it's a tool for compiling and packaging software from arbitrary sources. In the same way that mkosi currently builds KDE Linux an OS image from distro packages, BuildStream builds an OS image from individual projects' source code - bypassing distro packages entirely.
KDE Linux has had a skunkworks project going on in the background that replaces the base OS's Arch Linux packages with basically the same software stack, but built by us, using BuildStream. The project is quite close to a "shall we integrate it or not?" decision point.
If we do, the result should behave identically and users won't even notice the change - an advantage of KDE Linux being image-based rather than package-based.
So here's an obvious question: why are we considering doing a huge amount of work ourselves to rebuild what we're already getting for free with Arch? KDE Linux has been able to inherit everything that makes Arch awesome, really accelerating its development.
But ultimately Arch is a rolling release OS, and KDE Linux does not plan to be a rolling release OS. The user and stable editions will have discrete, time-based releases. If we stick with Arch, at the moment we branch for a new release, we have to either accept whatever's in Arch (which could include regressions that we miss) or polish a fork of Arch for some amount of time (which entails doing a bunch of packaging work ourselves anyway).
So while BuildStream offers other advantages too, the big win would be allowing us to have total control over the software versions we build, and making it easier for us to add new things that aren't currently packaged by Arch (here are some examples).
We wouldn't be doing it all ourselves, either. The BuildStream-based KDE Linux variant is based on the FreeDesktop Flatpak SDK, same as GNOME OS. So maintenance will be shared across all three projects' contributors.
This project has consumed quite a bit of time over the past few months, and we'll be plugging away in October, hopefully to the point where we can make a decision about it one way or another.
How you can help
KDE Linux is making steady progress towards its Beta milestone, and remains 85% of the way there.
There's lots to do! If you're a fan of the project, please help out; there are many ways:
- User support: help support people on discuss.kde.org using KDE Linux.
- Issue reporting: install KDE Linux and report issues.
- Documentation: improve the docs by submitting merge requests.
- Flatpak: fix packaging or code issues in Flatpak-packaged apps.
- OS development: help build KDE Linux! There's plenty to do.
01 Oct 2026 12:00am GMT
30 Sep 2026
Planet KDE | English
General
30 Sep 2026 12:00am GMT
Akademy 2026 (Graz) - 30th Birthday Edition
Last week was a great Akademy in Graz!
Welcome Event
First up was the welcome event on Friday evening, which took place at a rooftop bar overlooking Jakominiplatz; this was lovely in the evening light, and spectacular at night with parts of the city lit up!
I had fun helping to prepare and hand out lanyards to everyone as they arrived. This was also where Nico introduced many of us to Sturm - young, lightly fermented wine; sweet and flavorful. This became a hit at the welcome event and indeed all of Akademy!



Conference Talks
Saturday and Sunday saw a deluge of great talks; more than I could possibly cover in a little blog post!
A couple highlights briefly:
I am really happy that Scott Jenson accepted my invite to do a talk at Akademy, and I thought it was very well received! Has also created a fair bit of buzz online. Unfortunately did not manage talk much directly - Akademy is hectic and I lost track of him.. oh well, maybe he'll come again! :)

Tracey Clark gave a great talk about QA and testing.. superhero work! It was great stuff and I hope inspires more people to both submit good bug reports as well as to help with triaging.
Gerald Senarclens de Grancy told us about using KDE software to teach kids about computers, linux, programming, and much more. Really interesting stuff. I expect it makes a huge impact to reach people so young!
Markus Feilner told us the crazy tale of exposing how the Bavarian government tried to make a €1 billion+ contract with Microsoft without any sort of consultation, alternatives, bidding, etc.. wild stuff. I'd like to see such consideration for open source options in Canadian government back home!
Eike Hein told us all about how he's been exploring the great pyramids powered by KDE technology - wow that is so cool! That honestly sounds like a dream come true; it had never even occurred to me people like us were doing such things! I'd really love to hear more details on this. hint hint :D
So many other great talks! Only 2 downsides: I couldn't attend them all and had to catch up on some later (with this year's excellent recordings), and the schedule was so tightly packed that there was often only 5 minutes between talks to run to the bathroom; quite the fast pace when trying to keep hydrated! 😵💫





Social event
So many people! Good times were had, many interesting chats with great people. Although, poor Konqi had a rough time…

BoFs
Monday, Tuesday, and Thursday were the BoFs (Birds of a Feather) sessions - smaller and more informal talks/hackathons/brainstorming/etc.
Definitely far too much to cover, but we had good sessions with the Penpot folks and have some ideas how to help move things forwards there, we have hope for exciting updates to Bugzilla, we traded and talked about some really cool stickers... and a laundry list of other cool stuff, tons of work happening/planned.
Rocket lab
We noticed some students working on rockets as we were leaving the venue one day, and they gave a few of us a little tour! So cool! Also, their launch computer runs Linux with KDE. 😎


Day trip
On Wednesday the KDE folks took a short breather from the hectic schedule to do something fun together - visit a fancy Austrian chocolate factory called Zotter!
They started with a short film explaining some of who they are and how they work, which was shockingly well-produced; it looked and sounded amazing!
I really tried to pace myself because the tour includes apparently 300+ tasting stations, and even so by the end I was a bit sick of chocolate. 🤯 🍫 😵
It was super interesting though and very tasty. I ended up buying a bunch from the gift shop to bring home as souvenirs of course! My favorites were the white chocolates and the ones with coffee; specifically the coffee & dates one is amazing. 😋
After Zotter we all went to enjoy some food and drinks (no chocolate!), and the weather was being perfectly accommodating for us!
After we got back to Graz proper several of us ended up sharing some excellent Fella-brewed liqueur in the hotel lobby, and getting very loud and silly and generally having a fun evening together to wrap up an absolutely lovely day.











Wrap up
Of course I got sick right at the end of Akademy, and after getting home have slept most of 3 days, feeling quite terrible. I am just grateful getting sick waited until after all the great work and fun day trip, conversations and socializing with lovely people!

This was the Akademy for KDE's 30th birthday, and it was appropriately amazing! Thank you to everyone for being such an amazing community. Extra special thanks to the many people that helped to organize everything and make this happen at all, you did such an fantastic job! 🤩 💙

30 Sep 2026 12:00am GMT
29 Sep 2026
Planet KDE | English
Introducing the Canvas2D Coding Skill for Agentic Development of Embedded Device UIs
The Challenge: Getting AI Agents to Draw Correct Canvas2D
Qt 6.12 introduces Qt Canvas2D. Its API echoes the HTML5 canvas and the older Qt Quick Canvas element, both of which developers and AI models have seen many times in training data.
![]()
29 Sep 2026 1:06pm GMT
My First Akademy experience!!
Hello everyone! I hope you're all doing great.
Right after my GSoC tenure ended, I headed off to Austria to attend Akademy. This was my first time traveling outside my country, so I was really excited to experience everything - from the journey itself to meeting people from the KDE community.
Traveling to Graz
My flight first landed in Vienna, which is a beautiful city. I spent a day exploring Vienna before making my way to Graz by train.
The moment I arrived in Graz, we had our welcome event on top of a building. I met a lot of KDE people, received my badge, and got to enjoy a beautiful view of central Graz.
That night was a great start to the trip - we had food, drinks, conversations, and lots of opportunities to meet other KDE contributors.

The First Day of Talks
After the delicious dinner at the welcome event, I was ready for the talks the very next day.

Not this! 😆 BTW, cool graffiti.
![]() |
![]() |
![]() |
![]() |
The Birthday Party
The next day was a special one - it was KDE's 30th birthday!
After a great day of talks and meeting people from the KDE community, everyone gathered to celebrate this incredible milestone. It was amazing to see so many KDE contributors, developers, and friends from around the world come together in one place.
There was plenty of food, drinks, music, and, of course, a birthday cake! It was a great opportunity to relax, have some fun, and get to know people outside of the usual technical discussions.
![]() |
![]() |
The great Konqi couldn't survive the event. 🥺
![]() |
![]() |
![]() |
![]() |
BoFs
Monday, Tuesday, and Thursday were the BoFs (Birds of a Feather) sessions - smaller and more informal talks/hackathons/brainstorming/etc.
Day Trip
On Wednesday, we went on a day trip to Zotter Erlebniswelt, a famous Austrian chocolate factory near Riegersburg.
The tour began with a short film in the factory's mini-theatre, introducing us to the history of Zotter and its approach to chocolate-making. After that, we got to explore the factory and sample around 300 different varieties of chocolate. The best part? We could watch the chocolates being made right in front of us!
It was a really fun experience, and everything was delicious. Of course, I couldn't leave without picking up a bunch of chocolates from the gift shop!
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wrap Up
Akademy was an incredible experience, but it was also exhausting! Between attending talks, participating in BoFs, exploring Graz, meeting new people, and enjoying the day trip, there was always something happening.
I barely managed to get 4-5 hours of sleep each night because I didn't want to miss out on anything.
I'm really grateful to KDE for making this experience possible. I came back with wonderful memories and new friendships.
Until next time, Akademy! 💙
29 Sep 2026 10:00am GMT
28 Sep 2026
Planet KDE | English
Akademy 2026 photos and things
Another Akademy attended, here's some photos!
Hello hello! It was that time of the year where I go to KDE Akademy, talk to fellow nerds, almost lose my voice due to socializing and eat a lot of nice food.
This time Akademy was in Graz, Austria. I had never been in Austria before. This time I also had to travel alone due to my wife being busy with studying.
Traveling alone was nervewracking for sure, but somehow I managed to do it. Unless I am dreaming and wake up under a bench in Frankfurt airport or something.
Now I do not have a lot of photos, but I tried. I am bad at photos, many of them are super shakey or bad. But maybe these are interesting anyway.
Let me know if you want me to blur your face, I tried my best avoid those who had red lanyards!!!
Traveling to Graz
I spent first 6h in a midnight train from home to Helsinki and could not sleep. Then I went from Helsinki to Frankfurt on a plane, I slept like two hours maybe. And from Frankfurt I went to Graz on a plane, also managed to sleep a bit.
At airport I met fellow KDE people and we managed to figure out our way to the hotel together.
The moment I arrived there, there was a welcome event on top of some building with bunch of food and drink. I had good time though I was super tired and the place was fully packed so I had barely any energy or will to try to properly socialize.
I genuinely do not remember much, it was a lot of travel and brain fog due to sleep deprivation lol.
First day of speeches
Akademy finally properly begins and I go to the venue after good nights sleep. I didn't take much photos at the venue as I spent time just watching the talks, but I managed to take couple photos.
At evening we went for a dinner, and there was A LOT of people around Graz as apparently there was some festival. More chaos, I do not like crowds, but it was interesting.
Second day of speeches and goals
During day two I spent most of the time at the venue as well, and the new KDE Goals were announced: I am one of the KDE Goal champions now! Yay!
The goal I am champion of is Next Generation Styling for KDE.
See the youtube video of the goals, our little speech timestamped: https://www.youtube.com/watch?v=kwv4SQSvx9g&t=2559
(I am the guy in full black with the Xenia shirt.)
So yes, make Union bug reports! :)
After the talks and goal stuff, we had a KDE birthday party! KDE is 30 years old now, so we had food and cake.
(The first image is just me being stupid dont mind me)
Konqi sadly did not survive the party....
BoF days
No photos from these, as I spent all my time in them. BoFs are tiny group hacking/discussion/etc sessions about stuff. I attended Union related BoFs but I also held my own: Desktop icons!
There will be it's own blogpost about the desktop icon BoF soon:tm:.
Otherwise I do not have much as I spent a lot of time just hacking on Union and less listening lol.
Daytrip: Chocolate
We went to a chocolate factory!!!
I've never been in one but it was very fun. And chocolatey.
There was like 300 tasting things for different processing phases of chocolate, from the chocolate beans to the full product.
I tried to taste it all. I really, really tried. At the end of it though I felt rather sick and did not want any more lol.
Despite feeling like I never want to see any more chocolate in my life, it was very fun. Apparently there was some other part of the place too that was like a zoo full of chocolate but I was so tired of it at the end I kinda skipped it and just drank water outside.
Yes, the theme of this trip is pretty much "i was very tired."
After stuffing ourselves full of chocolate, we went to another place nearby that was really pretty, on top of a hill, where we had a lunch. A lot of bread and cheese and ham and whatnot to put on the bread, and a lot of drinks too.
Last day(s)
Thursday I spent hacking on Union together with Arjen and Noah. We are still trying to get the widgets side work nicely, though it works rather well already.
After that, I said goodbye to Konqi (and other people) and had a weird pizza that was half regular and half calzone.
On Friday, we travelled together to airport and went eventually our separate ways to wherever we went.
I got home at midnight and finally could say hi to our snek Mochi again.
It was fun!
Akademy was really fun. I will make more technical post about the desktop icon stuff when I can. It was very great to meet fellow nerds and discuss all things KDE.
I had great time. Even as someone who really does not like traveling.
See you at Akademy 2027! Or KDE Goal sprints! :)
28 Sep 2026 10:33pm GMT
Akademy 2026 - My Experience
Right after my GSoC tenure ended, I took off to Austria for attending Akademy. This was my first time outside my country and also my first birthday in another country!
Meeting New People
I met Albert Astals Cid and Sune Vuorela who mentored and helped me during my GSoC tenure on Poppler and Okular.

I also got to meet Christoper Cullman who had merged my first contributions into KDE to the Kate editor.
Attending talks and BoFs
I attended some talks that I could mostly understand. For example, "Are we really going to use the same Desktop UX forever?" by Scott Jensen

Some talks of which I knew 50-60% of what's going on,

And then some talks, I had no idea about what's happening lol (but they sounded interesting anyways)

I also attended some BoFs like i18n, NFC (which sounded interesting), and one BoF which was about organizing Akademy. The "organizing Akademy" BoF was especially helpful because Bhushan Shah talked with me and other fellow contributors about doing a cki (conf kde india) so I learned some things there.
Chocolate factory experience
When they said in the movie that there are roughly 300 varieties of chocolates we can try, I thought I could try all of them. But I couldn't eat anymore than 30 -_-
Closing Remarks
It was a good event and I enjoyed my time there. Thanks KDE for making it happen.
28 Sep 2026 2:59pm GMT
My Second Akademy

As usual, crossing the Atlantic is tough for me. I'm just too tall, and the seats are, well... just too small. Not to mention the stress of receiving a message on the day of the trip saying that my flight had been moved four hours earlier! I dropped everything I was doing and ran to the airport, only to dicover that it was a mistake in the "system". Add to that the delays and the the risk of missing the connection... Lufthansa did not play well this trip but everything worked out in the end!
My second Akademy was simply amazing. It was also more special beacause it was the KDE 30th anniversary edition. Unfortunately I did not get to try the Konqi cake.
I am very proud to be part of the KDE community - a welcoming, friendly, diverse and free group of people who are making the world a better place. I you ask me what is KDE in one word, I would say hope.
Camille, from the Kdenlive team, asked us to document our trip, so I did a short edit.
Habemus Champions

One of the highlights of my trip was to announce the new KDE Goals. This cycle, the community voted for:
- KDE for Enterprise and Deployments - championed by: David Edmundson, Neal Gompa, and Kai Uwe Broulik
- Better documentation - championed by: Nate Graham, Thiago Masato Costa Sueto, and Joseph P. De Veaugh-Geiss
- Next Generation Styling for KDE - championed by: Arjen Hiemstra, Akseli Lahtinen, and Andy Betts
We are currently scheduling our kickoff meeting to get things organized. I am sure many of you are eager to contribute, so stay tuned for further news.
We also did a recap of the last cycle and handed the certificates of appreciation to the champions. Congrats to them, they really raised the bar!
My favorite accomplishments, in no particular order:
- Improved graphics tablet support. This made it possible to switch all the computers at our studio to KDE Plasma. We are a 100% KDE studio now. We Care About Your Input goal
- Plasma Keyboard. It was so cool to have seen this being born. We got a lot of community feedback and it will definitely be a cherry on top for Plasma. There are also many improvements and features coming. We Care About Your Input goal
- Ship Kirigami via pip. This is something that is still in a very initial state, but there has been recent progress by a community member. Streamlined Application Development Experience goal
- I love that KDE Mentorship now has a visual identity and it is getting a new website. KDE Needs You goal
- Beacon Program is a new mentorship program that I've been working to setup for ther last months. It is currrently entering a beta phase and will share more info soon. KDE Needs You goal
BOFs
I only got to participate in two BOFs.
The first was the Mentorships one hosted by Paul and Ansh, where I got to give a preview of the Beacon Program, the work that I've been building with universities for the last two semesters.

I also participated in Drunk KDE - Brand personality of KDE hosted by Aniqa and Kieryn. Boy that was a fun one! We got to think about KDE's branding and it contemplated lot's of issues that need to be worked on. Aniqa is compiling all our input and we'll hopefully get things moving afterwards.
Kdenlive at Akademy
The second highlight was getting together with the Kdenlive crew. Although it was a very quick, as most of the team stayed only for the weekend, we managed to get a lot done. We organized future sprints, started planning our upcoming fundraising campaign, discussed some promo tasks, and we even finally managed to merge the features section of the Kdenlive home page.
We also did a lot of testing and UX brainstorming for the upcoming keyframe timeline.
Unfortunately, for most of the trip, Jean-Baptiste was under the weather, so Julius and I had to fill in for his talk.
Graz
I loved Graz, Austria's second largest city. It is so welcoming and chill. I bought a weekly transport pass but ended up using it so little... did a lot of walking.
I was happy that I got to do some last minute sightseeing before catching the plane back home. After all the clock tower and the mountains were the inspiration for this year's edition.
A nice surprise was the Steirisches Backhendl served at TU Graz was just delicious. Styrian fried chicken (in pumpkin seed oil) served with a tangy potato salad and lingonberry jam.
Behind the scenes
This was my second Akademy, not only as a participant but also part of the organizing team.
We've been meeting religiously every Tuesday to organize this edition. Each time with different background lights from Harald's streaming setup.
All the graphics of this edition were made using free software programs like Inkscape for the general graphics creation, Scribus to export the PDF for printing, Blender for the intro graphics animations, and Kdenlive for video editing.

Also a HUGE shoutout to the CCC Video Operation Center (C3VOC) team. I really hope that we have consolidated this partership with them and can continue partnering with them for future Akademies. Speaking of which, the call for hosts is still open.
Lot's of luv to the beautiful, lean, mean Akademy-making team who put together such a fantastic edition. Can't wait for the next one with you all.
Some of the team. <3

28 Sep 2026 2:50pm GMT

















































































