Summary: | Some XWayland-using apps flicker on external display | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Cristiano Rodrigues <microcris> |
Component: | multi-screen | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nate |
Priority: | HI | Keywords: | multiscreen, regression |
Version First Reported In: | 6.4.91 | ||
Target Milestone: | --- | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/5a8f9117ae7d9b11f32b9c88ca3c8111b1a0d7c0 | Version Fixed In: | 6.5.0 |
Sentry Crash Report: | |||
Attachments: |
Video made with my phone
Link to video made with spectacle screen recorder |
Description
Cristiano Rodrigues
2025-10-03 11:04:41 UTC
It started with the first beta (6.5.90), but I waited for the beta 2 release to see if it was something that was missing out. Created attachment 185478 [details]
Video made with my phone
This video was make with my phone since the video that was made with spetacle (at the same time) got no flickering
Created attachment 185479 [details]
Link to video made with spectacle screen recorder
Link to video made with spectacle screen recorder
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8198 (In reply to Bug Janitor Service from comment #4) > A possibly relevant merge request was started @ > https://invent.kde.org/plasma/kwin/-/merge_requests/8198 Hello! I applied the "backends/drm: clear the import damage journal after renderTestBuffer" commit on http://download.kde.org/unstable/plasma/6.4.91/kwin-6.4.91.tar.xz source package, compiled it, replaced the "kwin_wayland_wrapper" and "kwin_wayland" files by the new ones. The external display no longer flickers while running Eclipse or Kicad. Git commit b952e59442f96ca89ff64ecaf4ad56f1d8c19ded by Xaver Hugl. Committed on 07/10/2025 at 10:47. Pushed by zamundaaa into branch 'master'. backends/drm: clear the import damage journal after renderTestBuffer Otherwise, the newly allocated buffer has an entry in the damage journal, which means it only gets partially repainted when drawing an actual frame. The result of that was heavy flickering, until that buffer got fully repainted. M +2 -0 src/backends/drm/drm_egl_layer_surface.cpp https://invent.kde.org/plasma/kwin/-/commit/b952e59442f96ca89ff64ecaf4ad56f1d8c19ded Git commit 5a8f9117ae7d9b11f32b9c88ca3c8111b1a0d7c0 by Xaver Hugl. Committed on 07/10/2025 at 12:19. Pushed by zamundaaa into branch 'Plasma/6.5'. backends/drm: clear the import damage journal after renderTestBuffer Otherwise, the newly allocated buffer has an entry in the damage journal, which means it only gets partially repainted when drawing an actual frame. The result of that was heavy flickering, until that buffer got fully repainted. (cherry picked from commit b952e59442f96ca89ff64ecaf4ad56f1d8c19ded) Co-authored-by: Xaver Hugl <xaver.hugl@kde.org> M +2 -0 src/backends/drm/drm_egl_layer_surface.cpp https://invent.kde.org/plasma/kwin/-/commit/5a8f9117ae7d9b11f32b9c88ca3c8111b1a0d7c0 |