Skip to content

Welcome to Planet KDE

Image for: Welcome to Planet KDE
This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages

Sunday, 8 June 2025

Who am I?

Image for: Who am I?

I'm Ajay Chauhan (Matrix: hisir:matrix.org), currently in my third year of undergraduate studies in Computer Science & Engineering. I'll be working on improving Kdenlive timeline markers for my Google Summer of Code project. I have previously worked on Kdenlive as part of the Season of KDE '24.

What am I working on for this year's GSoC?

Image for: What am I working on for this year's GSoC?

Kdenlive currently supports single-point timeline markers, which limits efficiency for workflows that require marking time ranges, such as highlight editing or collaborative annotations. This project proposes enhancing Kdenlive's marker system by introducing duration-based markers that define a clear start and end time.

The project will extend the marker data model to support a duration attribute while maintaining backward compatibility. The UI will be updated to visualize range markers as colored regions on the timeline, with interactive handles for resizing and editing.

These markers will be integrated with key features like zone-to-marker conversion, search and navigation, rendering specific ranges, and import/export capabilities.

The problem that this project aims to solve is the need for efficient range-based marking functionality in Kdenlive's timeline (see issue #614). By implementing duration-based markers, the project will ensure that video editors can work more efficiently with time ranges for various workflows like highlight editing, collaborative annotations, and section-based organization.

My mentor for the project is Jean-Baptiste Mardelle, and I appreciate the opportunity to collaborate with and learn from him during this process.

Work Completed

Image for: Work Completed

Duration Handling in CommentedTime Class

The CommentedTime class, which represents individual markers, has been extended to support duration information. This change enables the range marker functionality throughout the application.

Implementation Approach

I added several new methods and properties to the CommentedTime class:

  • duration(): Returns the marker's duration as a GenTime object
  • setDuration(): Sets the marker's duration
  • hasRange(): Boolean check to determine if a marker is a range marker (duration > 0)
  • endTime(): Calculates and returns the end position (start + duration)

The class now includes a new constructor that accepts duration as a parameter, while maintaining backward compatibility with existing point marker creation.

// New constructor with duration support
CommentedTime(const GenTime &time, QString comment, int markerType, const GenTime &duration);

// New member variable
GenTime m_duration{GenTime(0)};  // Defaults to 0 for point markers

🔗 Commit: Add duration handling to CommentedTime class

Range Marker Support in MarkerListModel

Previously, Kdenlive only supported point markers - simple markers that existed at a specific timestamp without any duration. I've now implemented range marker support, allowing users to create markers that span across time intervals.

Implementation Approach

The core changes involved extending the MarkerListModel class with several new methods:

  • addRangeMarker(): A new public method that creates markers with both position and duration
  • addOrUpdateRangeMarker_lambda(): An internal helper function that handles both creating new range markers and updating existing ones
  • Extended editMarker(): Added an overloaded version that preserves duration when editing markers

The implementation uses a lambda-based approach for undo/redo functionality, ensuring that range marker operations integrate seamlessly with Kdenlive's existing command pattern. When updating existing markers, the system intelligently determines whether to preserve the current duration or apply a new one.

// New method signature for range markers
bool addRangeMarker(GenTime pos, GenTime duration, const QString &comment, int type = -1);

// Extended edit method with duration support
bool editMarker(GenTime oldPos, GenTime pos, QString comment, int type, GenTime duration);

The model now emits appropriate data change signals for duration-related roles (DurationRole, EndPosRole, HasRangeRole) when range markers are modified, ensuring the UI stays synchronized.

🔗 Commit: Implement range marker support in MarkerListModel

How These Changes Improve Kdenlive

Image for: How These Changes Improve Kdenlive

Improved User Experience

  • Flexible Marking: Users can now create markers that represent time ranges, not just specific points
  • Better Organization: Range markers help users mark sections like "intro," "main content," or "outro" with clear visual boundaries
  • Preserved Workflows: Existing point marker functionality remains unchanged, ensuring no disruption to current users

Backward Compatibility

All existing marker functionality continues to work exactly as before. Point markers are simply range markers with zero duration, ensuring a smooth transition for existing projects and workflows.

Next Steps

Image for: Next Steps

In the upcoming weeks, with the core range marker backend in place, the next phase will focus on:

  • Integration with export and rendering workflows
  • UI components for creating and editing range markers
  • Visual representation of range markers in the timeline

Saturday, 7 June 2025

Welcome to a new issue of This Week in Plasma! Every week we cover the highlights of what’s happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.

This week we continued to focus on bug fixing and user interface polish for Plasma 6.4, which will be released next Thursday. As a result, a lot of impactful changes were merged! Check it out:

Notable UI Improvements

Image for: Notable UI Improvements

Plasma 6.4.0

On System Settings’ Wi-Fi & Internet page, the networks list is now fully keyboard-navigable, and uses KDE’ s standard list item styling. (Christoph Wolk, link)

The Kicker Application Menu widget’s favorites list is now fully keyboard-accessible. (Christoph Wolk, link)

Disabled the ability to drag screens on top of other screens on System Settings’ Display & monitor page, because this would produce a screen arrangement that isn’t supported and would trigger many very strange bugs throughout the system. (David Redondo, link)

Waking up a sleeping computer by pressing the power button no longer causes the logout screen to be shown after the system waked up and you unlock it. (Niccolò Venerandi, link)

Did some UI polishing on the Digital Clock widget’s config window, resulting in better alignments overall. (Christoph Wolk, link)

When you have a complex panel arrangement with variable-length panels on adjacent screen edges, the horizontal panels now always take priority for filling the empty space, so you never run into a situation where multiple panels are fighting for the same space and sometimes overlap. (Marco Martin, link)

Increased the visibility of the System Monitor’s per-process CPU line charts for selected list items. (Arjen Hiemstra, link

Plasma 6.5.0

Switching the time span on Info Center’s Energy page now smoothly animates the graph view to show the new time span. (Ismael Asensio, link)

System Settings’ Fonts page now prevents you from breaking your system entirely by setting the fonts to something below 4pt. Also if you set a font size between 5 and 6 pt, it now also warns you that Plasma was really not designed to handle this, and that screen scaling may be a better approach. (Nate Graham, link)

Made the text of the “Your disk is in trouble” notification fit into the header. (Harald Sitter, link)

Notable Bug Fixes

Image for: Notable Bug Fixes

Plasma 6.3.6

System Monitor once again lets you see the current table columns while the table column configuration dialog is open. (Nate Graham, link)

Plasma 6.4.0

Putting a Sticky Note widget on a very thick panel can no longer cause Plasma to freeze; now you can use a thick panel with a sticky note on it as a sort of notes sidebar! (Christoph Wolk, link)

Fixed the most common System Monitor crash. (Arjen Hiemstra, link)

Fixed another crash in System Monitor, this time a divide-by-zero. (Arjen Hiemstra, link)

Fixed a case where xdg-desktop-portal-kde could crash after you choose a video source to start streaming. (David Redondo, link)

Fixed a bug that caused Discover to crash if you close it immediately after it launched. (Wendi Gan, link)

Fixed multiple subtle bugs with the screen chooser widget and OSD that caused it to do the wrong thing on rotated screens or when mirroring screens. (David Redondo, link)

Fixed a bug that caused System Settings’ search field to not be focused properly when pressing Ctrl+F while any UI elements in a settings page already had focus. (Marco Martin, link)

Fixed the root cause of multiple issues involving windows disappearing when you disconnect the screen they’re on! (Xaver Hugl, link)

Clicking a button on a desktop widget that opens a menu no longer inappropriately makes the widget enter Widget Edit Mode. (Christoph Wolk, link)

Files with a # or ? character in their name or full path are no longer unexpectedly missing from the history lists in Kicker/Kickoff/etc launchers. (Christoph Wolk, link 1 and link 2)

Fixed a bug that caused the screen chooser window to sometimes not appear as expected when OBS was launched. (David Redondo, link)

Fixed a bug that caused tiled windows on a multi-screen setup to lose their tiling settings when the system went to sleep and woke up again. (Xaver Hugl, link)

The “Move window to [activity]” feature now works properly when invoked from the Task Manager widget. (Christoph Wolk, link)

Fixed a bug in the Kicker Application Menu that caused keyboard navigation to not work if the popup opened with an item under the pointer. (Christoph Wolk, link)

In the Overview effect’s grid view, dragging windows tiled on one virtual desktop over to a different virtual desktop now keeps them tiled as expected. (Vlad Zahorodnii, link)

Plasma 6.5.0

Fixed a bug that caused the Networks widget to sometimes incorrectly think you had a hotspot enabled after you disconnect from the active Wi-Fi network. (Niccolò Venerandi, link)

Frameworks 6.15

Fixed a bug that caused certain list items throughout Plasma and KDE apps with inline buttons to sometimes mis-position their buttons. (Efe Çiftci, link)

Other bug information of note:

Notable in Performance & Technical

Image for: Notable in Performance & Technical

Plasma 6.4.0

Improved cursor smoothness and reduced flicker associated with the use of the variable refresh rate feature. (Xaver Hugl, link)

Reduced unnecessary CPU usage on System Monitor’s Processes page even more. (David Edmundson, link 1 and link 2) Prevented a ton of ignorable but scary-seeming “Page flip failed!’ warnings from appearing in the journal log while watching a full screen video in MPV. (Xaver Hugl, link)

Plasma 6.5.0

If you modify the keyboard layout using the kwriteconfig command-line tool, those changes now take effect immediately. (Bojidar Marinov, link)

How You Can Help

Image for: 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.

You can help KDE by becoming an active community member and getting involved somehow. 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 us by making a donation! Any monetary contribution — however small — will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.

To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.

Friday, 6 June 2025

Let’s go for my web review for the week 2025-23.


Bonfire’s new software lets users build their own social communities

Tags: tech, social-media, fediverse, foss

Nice to see one more implementation available for the fediverse. This one comes with interesting features actually.

https://techcrunch.com/2025/06/05/bonfires-new-software-lets-users-build-their-own-social-communities-free-from-platform-control/


DNS4EU For Public

Tags: tech, dns, gdpr, privacy

Interesting initiative to have DNS servers compliant with GDPR, respecting your privacy and with the filtering you need. Now the real question is how long it’ll live by its mission.

https://www.joindns4.eu/for-public


yet another LLM

Tags: tech, ai, machine-learning, gpt, criticism, funny

This is a funny way to point out people jumping on LLMs for tasks where it doesn’t make sense.

https://www.yetanotherllm.com/


Artificial Power: 2025 Landscape Report - AI Now Institute

Tags: tech, ai, machine-learning, gpt, gafam, economics, politics

A long but important report in my opinion. Reading the executive summary is a must. This gives a good overview of the AI industrial complex and the type of society it’s leading us into. The report also gives a political agenda to put us on a better path.

https://ainowinstitute.org/publications/research/ai-now-2025-landscape-report


It turns out you can train AI models without copyrighted material

Tags: tech, ai, machine-learning, gpt, copyright, foss, ethics

If there was still any doubt that the arguments coming from the big model providers were lies… Yes, you can train large models using a corpus of training data for which you respect the license. With the diminish return in performance of the newer families of models, the performance they got from the model trained on that corpus is not bad at all.

https://www.engadget.com/ai/it-turns-out-you-can-train-ai-models-without-copyrighted-material-174016619.html?src=rss


Deep learning gets the glory, deep fact checking gets ignored

Tags: tech, ai, machine-learning, biology, science, research

We already had reproducibility issues in science. With such models which allow to produce hundreds of “novel” results in one paper, how can we properly keep up in checking all the produced data is correct? This is a real challenge.

https://rachel.fast.ai/posts/2025-06-04-enzyme-ml-fails/index.html


Using ‘Slop Forensics’ to Determine Model Ancestry

Tags: tech, ai, machine-learning, gpt, research

Interesting research to determine how models relate to each other. This becomes especially important as the use of synthetic data increases.

https://www.dbreunig.com/2025/05/30/using-slop-forensics-to-determine-model-ancestry.html


The effects of over-reliance on AI dialogue systems on students’ cognitive abilities: a systematic review

Tags: tech, ai, machine-learning, gpt, cognition, learning

Somehow I missed this paper last year. Interesting review of studies on the use of gen AI chat systems in learning and research environments. The amount of ethical issues is non negligible as one would expect. It also confirms the negative impact of using those tools on cognitive abilities. More concerning is the creation of a subtle vicious circle as highlighted by this quote: “regular utilization of dialogue systems is linked to a decline in abilities of cognitive abilities, a diminished capacity for information retention, and an increased reliance on these systems for information”.

https://slejournal.springeropen.com/articles/10.1186/s40561-024-00316-7


Brainrot: why I quit using ChatGPT

Tags: tech, ai, machine-learning, gpt, cognition, learning

A personal experience which led to not using ChatGPT anymore. This kind of validates other papers on cognitive decline, the added value is in how it makes it more personal and concrete.

https://elinesandes.medium.com/brain-rot-why-i-quit-using-chatgpt-844a46db3cc1


I Think I’m Done Thinking About genAI For Now

Tags: tech, ai, machine-learning, gpt, copilot, economics, ecology, philosophy, quality, ethics

I don’t think I’m ready to give up just yet… Still, I recognise myself so much in this piece it feels like I could have written it (alas I don’t write that well).

https://blog.glyph.im/2025/06/i-think-im-done-thinking-about-genai-for-now.html


Autonomous coding agents: A Codex example

Tags: tech, ai, machine-learning, gpt, copilot

Interesting little experiment. It’s clearly making progress for smaller tasks. The output is still a bit random and often duplicates code though.

https://martinfowler.com/articles/exploring-gen-ai/autonomous-agents-codex-example.html


beachpatrol: A CLI tool to replace and automate your daily web browser

Tags: tech, web, browser, tools, scripting, automation

Early days for this project but the idea is interesting. I could clearly things I’d want to automate that way.

https://github.com/sebastiancarlos/beachpatrol


No More Shading Languages: Compiling C++ to Vulkan Shaders

Tags: tech, graphics, gpu, vulkan, shader

Somehow this is funny that it works at all. With the advent of SPIR-V we’re clearly seeing more experiments in the shading languages space.

https://xol.io/random/vcc-paper.pdf


C++ to Rust Phrasebook

Tags: tech, programming, rust, c++, learning

It’s a very good idea to help C++ developers pickup Rust.

https://cel.cs.brown.edu/crp/title-page.html


How to deal with Rust dependencies

Tags: tech, dependencies, supply-chain, rust

Not strictly about Rust, still is shows how to approach the conversation about your dependencies. It also gives good ideas on how to try to reduce them.

https://notgull.net/rust-dependencies/


Why Use Structured Errors in Rust Applications?

Tags: tech, programming, rust, safety

Interesting post about the options for error handling in Rust. It highlights the tradeoffs to keep in mind when creating structured errors.

https://home.expurple.me/posts/why-use-structured-errors-in-rust-applications/


Designing Error Types in Rust Libraries

Tags: tech, programming, rust

Due to how errors are handled in Rust, designing them is a real concern. Several approaches are presented here, using wrapper types is likely the better trade off.

https://d34dl0ck.me/rust-bites-designing-error-types-in-rust-libraries/index.html


Simpler backoff

Tags: tech, programming

A good reminder that it is sometimes better to use lookup tables.

https://commaok.xyz/post/simple-backoff/


Tests should not contain logic

Tags: tech, tests, tdd, complexity

A good reminder that the complexity of tests should be as low as possible.

https://blog.snork.dev/posts/tests-should-not-contain-logic.html


Decomplexification

Tags: tech, programming, quality, complexity

Nice illustration on how you can hunt down complexity in your codebases. It is obviously a slow process but comes with nice benefits.

https://daniel.haxx.se/blog/2025/05/29/decomplexification/


Be Empirical

Tags: tech, programming, craftsmanship, learning, debugging

This is an important piece of advice. You need to try things for yourself and fail to really learn. I’m not talking about failing in production of course. But trying to break something locally to see how it behaves, reading the errors, etc. is part of learning. This is how you will troubleshoot things faster the next time.

https://kevbuchanan.github.io/posts/be-empirical


Extreme Carpaccio

Tags: tech, agile, programming, xp, learning, teaching

This looks like a really fun workshop. Been wanting to run one for a long time now. Somehow I never had the chance.

https://diegolemos.net/2016/01/07/extreme-carpaccio/


Convolutions, Polynomials and Flipped Kernels

Tags: tech, mathematics

I always find interesting how several math domains have similarities and bridges between them. Here it’s about the ties between polynomials multiplications and convolution sums.

https://eli.thegreenplace.net/2025/convolutions-polynomials-and-flipped-kernels/


A Short History of “Hack”

Tags: tech, hacking, culture

A good piece so that the origin of the term doesn’t get lost.

https://www.newyorker.com/tech/annals-of-technology/a-short-history-of-hack


Are we reading Machiavelli wrong?

Tags: philosophy, politics

I’m really glad about this interview. I’ve been thinking that Machiavelli texts have been wrongly considered for a long time now. It’s time to reconsider what Machiavellian should really mean.

https://www.vox.com/the-gray-area/414753/machiavelli-prince-authoritarian-critique-political-philosophy



Bye for now!

Welcome to the May 2025 development and community update.

Community Report

Image for: Community Report

May 2025 Monthly Art Challenge Results

24 forum members took on the challenge of the "Humongous Hats" theme. And the winner is… Mouse Sage 🐭 by @Mythmaker

The June Art Challenge is Open Now

For the June Art Challenge, @Mythmaker has passed the honor of choosing the topic to regular participant @Corentin, who has chosen "Wrath of the Sun" as the theme. Interpret this title however you want, optionally include some sort of decorative design, and have fun with the sun!

Image for: Featured Artwork

Best of Krita-Artists - April/May 2025

This month's Best of Krita-Artists Nominations thread received 20 nominations of forum members' artwork. When the poll closed, these five wonderful works made their way onto the Krita-Artists featured artwork banner: King-under-Leaves by @canedo

Illustration by @JoaoGGarin

Tree Sparrow by @kacart

Splattery trees by @SebSepia

New Life Zone by @Yaroslavus_Artem

Best of Krita-Artists - May/June 2025

Take a look at the nominations for next month, and suggest your favorite latest artworks to be featured. Don't forget to vote when the poll opens on June 11th!

Ways to Help Krita

Image for: Ways to Help Krita

Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. That means anyone can help make Krita better!

Support Krita financially by making a one-time or monthly monetary donation. Or donate your time and Get Involved with testing, development, translation, documentation, and more. Last but not least, you can spread the word! Share your Krita artworks, resources, and tips with others, and show the world what Krita can do.

Other Notable Changes

Image for: Other Notable Changes

Other notable changes in Krita's development builds from May 8 - June 6, 2025.

Stable branch (5.2.10-prealpha):

  • General: Fix a crash when autosaving heavy images with lots of compositions and an adjustment layer with vector selection. (Change, by Dmitry Kazakov)
  • File Formats: TIFF: Fix TIFF file size bloating after each overwrite. (Change, by Igor Danilets)
  • General: Change Resize Canvas's 'Constrain proportions' toggle to not reset the canvas size. (bug report) (Change, by Halla Rempt)
  • Linux: Upgrade AppImage base to Ubuntu 2204. (Change, by Dmitry Kazakov)

Unstable branch (5.3.0-prealpha):

Bug fixes:

  • Android: Fix the Text Properties Docker being blank. (bug report) (Change, by Dmitry Kazakov)
  • General: Fix floating toolbars disappearing on restart. (bug 504463) (Change, by Freya Lupen)
  • Python Plugins: Workflow Buttons Docker: Fix Pan and Text Tool buttons. (bug report) (Change, by Freya Lupen)

Features:

  • Text Properties Docker: Allow configuring when each property should be shown in the list; always, never, when set, or when relevant (inherited or set). (Change, by Wolthera van Hövell)
  • Text Properties Docker: Add Text Rendering property, for antialiasing/hinting options. (Change, by Wolthera van Hövell)
  • SVG: Handle SVG title and desc metadata. (Change, by Wolthera van Hövell)
  • Shortcuts/Toolbars: Add Force Palette Colors action to limit color selection to colors in the palette. (Change, by Halla Rempt)
  • Python Plugins/Scripting: Add and use FileDialog class, which uses Krita's wrapper around QFileDialog in order to respect Krita's "Don't use native file dialogs" setting. (bug report, bug report) (Change, by Freya Lupen)

Nightly Builds

Image for: Nightly Builds

Pre-release versions of Krita are built every day for testing new changes.

Get the latest bugfixes in Stable "Krita Plus" (5.2.10-prealpha): Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

Or test out the latest Experimental features in "Krita Next" (5.3.0-prealpha). Feedback and bug reports are appreciated!: Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

Thursday, 5 June 2025

I was recently interviewed by Jonathan Bennett of the FLOSS Weekly show! If you aren’t totally sick of my ugly mug yet, you can hear me talk about some of my favorite topics: KDE on hardware, onboarding people to Plasma, the importance of preserving readiness, and how difficult it is to actually install and uninstall software on a Mac. You can check it out at https://hackaday.com/2025/06/04/floss-weekly-episode-835-board-member-b/, or watch the video version here:

I’ve written a small Neovim plugin which might be useful to people who often work on several projects in parallel.

It activates a specific theme based on the project you are working on (the current directory you start Neovim from).

It allows you to define which themes should be used for which projects. The configuration is simple and allows specifying patterns for matching project names (not full regex, but what Lua supports).

My configuration looks something like this (this is in Fennel, for the Lua version, check out the readme):

:opts {
    :themes [
        { :matcher "radio" :theme "nordic" }
        { :matcher "^/kde" :theme "hybrid" }
        { :matcher "qt$"   :theme "moonfly" }
    ]
    :defaultTheme "habamax"
    :postExec {
        :moonfly [ ":hi TabLineSel guibg=#508050 guifg=#f0f0f0" ]
        :nordic  [ ":hi TabLineSel guibg=#5070f0 guifg=#f0f0f0" ]
        :hybrid  [ ":hi TabLineSel guibg=#80a020 guifg=#f0f0f0" ]
    }
}

The source code, and the instructions how to use it are available on GitLab.

Over 180 individual programs plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.

Today they all get new bugfix source releases with updated translations, including:

  • kdenlive: Fix bin clip effects disappear after disabling a timeline clip (Commit, fixes bug #439194)
  • knights: When saving the game, use the proper extension "pgn" in case no extension was provided (Commit, fixes bug #502963)
  • kreversi: Fix inconsistent availability of undoing after end of game (Commit, fixes bug #351812)

Distro and app store packagers should update their application packages.

Tuesday, 3 June 2025

KDE stuff and the Microsoft Store

Image for: KDE stuff and the Microsoft Store

Kate is in the Microsoft Store since 2019.

Since that time you can install it easily from here and the store will allow you to keep our application updated.

Kate is not the only KDE application there, other stuff uploaded under the KDE e.V. umbrella can be found here, this includes KDE Connect and Okular.

We have now better documentation and tooling for store submissions, the last update of Kate to 25.04 was, beside the local testing of the build if it is not broken in normal use, the press of one button.

Compared to my old guide from my first submission, that is really awesome, thanks a lot to all people that worked on that!

What if I don't like the Microsoft Store?

Image for: What if I don't like the Microsoft Store?

Naturally you don’t have to use the store (which implies some account you might not want and telemetry that you might want even less).

Alternate downloads are on our normal download page.

Or, if you want to be even more in control, and perhaps even willing to contribute, build it from source yourself, Craft makes that easy.

The Microsoft Store submissions are just a way to reach a larger audience. Some people might even not be able to install stuff from other sources, depending how locked down their Windows installation is.

Current Statistics

Image for: Current Statistics

Below the current statistics of the published applications sorted by acquisitions, that means more or less means individual user installs.

Not that bad, over half a million installs for KDE Connect, close to half a million for Okular and a quarter million for Kate.

Current Ratings

Image for: Current Ratings

The internal statistics of the store allow to see the ratings over the whole publishing time. They look good, too.

KDE Connect Ratings

Okular Ratings

Kate Ratings

The Future?

Image for: The Future?

We will need to update the versions in the store, Kate is now on 25.04, more to follow hopefully.

We need help with fixing Windows only bugs, too. Just a random one for Kate can be found here.

Comments?

Image for: Comments?

A matching thread for this can be found here on KDE Social or r/KDE.

Monday, 2 June 2025

The things I do for QA...

Image for: The things I do for QA...

A few years ago, I was among those who found Wayland too painful to use every day. Over time, I gave Wayland a try now and then. It finally got usable enough for me to switch to as my default a couple of years ago.

Recently, during the soft freeze before the Plasma 6.4 Beta was released, I used mainly X11 on both my laptops - for science! And by science, I mean regression testing. I was curious what the experience was like compared to what I've become accustomed to with Wayland.

In short, Wayland supports multiple displays and color so much better. It was painful using X11 again.

My setup for daily work

Image for: My setup for daily work

I was using two laptops and two external monitors. Both were running Plasma built from git-master.

  1. Main: Dell XPS laptop, plugged into a dock. This is connected to 2 ultrawide monitors - one via Displayport, the other via HDMI.
  2. Secondary: Lenovo Flex laptop, usually just using its built-in screen. Sometimes I swap the right hand monitor over to it, for testing display shenanigans.

Initial impression - so limited

Image for: Initial impression - so limited

I fired up the XPS, did updates, and booted into an X11 session. Next, to Display Configuration to re-enable the right hand monitor (disabled the night before). Immediately, I was struck by how bare the settings window looks compared to Wayland. Here are screenshots of the settings for same HDR monitor on 6.3.5.

Wayland:

X11:

Second thoughts and hello, Dr Konqi

Image for: Second thoughts and hello, Dr Konqi

Time to enable the display. For reference, this takes moments in Wayland. It was just a wee bit longer and more fraught with X11.

After enabling the monitor and clicking Apply, all 3 screens went dark. After about 20s the laptop display came on. After about another minute, the right hand display finally got output before all 3 displays were dark again. I unplugged the laptop from the dock. It came up to the login screen. After logging in I saw the good Dr Konqi telling me there was a crash in plasmashell. We were off to a great start.

Like a good tester, I sent the crash report off. With some trepidation, I plugged the docking cable back in, as similar struggles from years past came back to haunt me. All three displays were black, although I could move the cursor around in them. It took a good couple of minutes for plasmashell to display everything, along with window decorations and panel contents. It was faster later, but wow, was this a noticeably worse experience than Wayland.

Other observations, or third thoughts

Image for: Other observations, or third thoughts

Wayland advantages

  • Fractional scaling - the ability to have a screen at, say, 110% zoom. See that lovely screenshot, above.
    When paired with how easy it is to change font face and style, this is great for accessibility. Being able to read the text on any display at whatever resolution can't be overstated. When I have to use Windows, where you can't adjust text separately from resolution, I have sadness. I also have eyestrain trying to read tiny text in dialogs.
  • Scaling per display - so my laptop's high resolution display can be at 150% and my external displays at 100% to make things readable on all of them. Another plus for accessibility.
  • HDR and color profile (ICC) support. This is important for getting the mos out of my monitor with games and more. Also... preeeetty.
  • Snappier overall performance (on my systems).
  • The ability to send a window to multiple desktops, or just one. In X11, you can ....THNG

Wayland pain points

These are the things I ran into personally. There's also the list of Plasma/Wayland Known Significant Issues.

  • The most annoying problem for me is with LibreOffice, since I use Calc almost daily. There's a bug (on their tracker) where, with multiple monitors with different scale factors, UI elements are too big.
  • Lack of a robust, easy to use text expander with a GUI - that actually works out of the box. Autokey has been on my installs for many years, used for work and personal stuff. While it launches, and I have access to my phrases, there's no actual text expansion. There's an open issue for Wayland support (that pre-dates the Pandemic) but it hasn't gotten much traction. I've been keeping an eye out for years for a decent replacement, and have tried a few things but not found what I'm looking for, yet.
  • Copy and paste to and from VMs I use VMs a lot for testing things on different Linux distros. My workaround for this is to have text files saved in a directory that's shared from host to guest.
  • It took time and a few forks to get KVM software that was reliably developed and worked with Wayland.1 I had been using barrier on X11. A few software forks and experiments later, I've settled on deskflow.

X11 Advantages

  • Remembering window positions across reboots.
  • Working text expansion.

X11 pain points

  • Drawing the screen is slower after logging in or restarting plasmashell, for example, with the same hardware and open applications.
  • Floating panels and adaptive opacity are known to cause performance issues with X11 with an NVIDIA GPU.
  • Lack of scaling per-monitor.
    Text on my XPS's screen is too small to be readable if the external monitors are at a comfortable scale. I had to move any window I needed to read text on (most of them) to the external monitors.
  • The HDMI monitor was set to the wrong resolution and refresh rate if I connected it to the second laptop. I had to manually correct it.
  • After enabling HDR on that monitor with the Flex in Wayland, and switching to an X11 session, the monitor enabled HDR but the colors were over-saturated.
  • After working with a few windows, fonts in Firefox became badly hinted. This made characters look weirdly colored instead of white / black, and made reading things difficult.

Final thoughts

Image for: Final thoughts

Once upon a time, Wayland was too painful for me to use as a daily driver. It didn't support some of my utilities and it wasn't stable enough with my multi-monitor setup.

These days, Wayland is so much more usable and stable with multiple displays that it makes using X11 painful by comparison. While there are still those few issues I mentioned, I feel Wayland's advantages outweigh them.


  1. The KVM software journey... The first one I used was Synergy, which was amazing to me. Being able to use the same keyboard and mouse on both a Linux laptop and Windows desktop at the same time was magic. Unfortunately, Synergy took their UI in directions I didn't like. An open source fork named barrier emerged, which aimed to restore the simplicity I was looking for, so I switched to it. This served me for a long time, but development stopped in 2021. With the advent of Wayland, barrier was forked to input-leap which implemented Wayland support. Sadly, development seems to have languished. There is yet another project, deskflow, which is also free and open source. It's sponsored by the Synergy folks. We end where we began. ↩︎