News: 0001632234

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

KDE Plasma 6.7 To Provide A Much Better Experience For CPU-Based Rendering

([KDE] 6 Hours Ago Better Shared Memory Buffer Experience)


KDE developer Xaver Hugl has whipped up another nice improvement for the upcoming Plasma 6.7 desktop release. Due to QtWidgets still relying on CPU-based rendering and finding the performance subpar with Wayland shared memory "wl_shm" usage, Xaver has leveraged UDMABUF for avoiding excess buffer copies to provide a much more fluid experience when dealing with CPU-based rendering / shared memory usage on KDE under Wayland.

Xaver published a blog post to outline the issues with the slow performance of CPU rendering and the usage of Wayland shared memory buffers leading to excess copies before hitting the GPU and scanning out. While the KWin compositor is seeing a Vulkan back-end developed and extensions there to help with dealing with shared memory from the host, ultimately the best solution was found using Linux's UDMABUF for wrapping MEMFD-allocated memory into a DMA-BUF for consumption by the GPU.

With code for Plasma 6.7, KWin will attempt to create a UDMABUF for each wl_shm buffer and import that into the GPU driver as the more optimal path than the existing buffer upload code. Xaver explained of the impact:

"On my laptop with a still relatively new and high end Ryzen 7840U, I could see the cursor sometimes skip frames when quickly moving it over project files in KDevelop, since KWin’s main thread was being blocked by these texture uploads. Normally that’s not really noticeable, but with the power profile set to “power save”, it felt really sluggish.

...

With the same example of KDevelop I mentioned before, the cursor is now always completely smooth. In terms of concrete numbers, KWin’s CPU usage while scrolling in KDevelop went from 80-90% on one core down to 20%!

These improvements will be in Plasma 6.7 and Qt 6.11.2. I would recommend other toolkits and applications that use shm buffers to make the same changes as I did in Qt, it can make a really noticeable difference."

More details for those interested via [1]Xaver's blog .



[1] https://zamundaaa.github.io/wayland/2026/05/06/making-wl-shm-fast.html



A cousin of mine once said about money,
money is always there but the pockets change;
it is not in the same pockets after a change,
and that is all there is to say about money.
-- Gertrude Stein