| Summary: | Video playback causes graphical corruption on panel applets | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Jakub Veselý <jakub.vesely2> |
| Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | nate, niccolo.venerandi, serdarthtux, xaver.hugl |
| Priority: | NOR | ||
| Version First Reported In: | 6.4.5 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Example of graphical corruption on the panel | ||
|
Description
Jakub Veselý
2025-10-24 10:41:51 UTC
Please attach a video or image of the glitches. Also, does it go away if you disable damage tracking / buffer age? https://invent.kde.org/plasma/kwin/-/wikis/Environment-Variables#kwin_use_buffer_age With KWIN_USE_BUFFER_AGE=0 the glitching is much worse. It still only happens on YouTube, however it now also happens even with the video paused, just moving cursor around is enough. By much worse it effectively makes half of the panel flicker and disappear. The tray icons and time sometimes get rendered behind the panel texture, but most of the time, it is just the panel texture not being rendered at all and the wallpaper shows through the "holes". I will try to take a video tomorrow, it is not so easy to capture since the corruption does not show up on screenshots or OBS recordings. Git commit 5ca05f8fd822b35012ad92f425dd8556f56ad809 by Xaver Hugl. Committed on 10/11/2025 at 23:09. Pushed by zamundaaa into branch 'master'. backends/drm: add environment variables to debug potential synchronization issues Specifically, KWIN_DRM_FORCE_GL_FINISH_MGPU_COPY, to force glFinish before doing multi GPU copies, and KWIN_DRM_FORCE_GL_FINISH_PRESENT to force glFinish before presenting a buffer to the screen. Related: bug 511728 M +7 -4 src/backends/drm/drm_egl_layer_surface.cpp https://invent.kde.org/plasma/kwin/-/commit/5ca05f8fd822b35012ad92f425dd8556f56ad809 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8406 Git commit b3725f628d6daca2d1853a0a0b74753321af358c by Xaver Hugl. Committed on 11/11/2025 at 01:29. Pushed by zamundaaa into branch 'Plasma/6.5'. backends/drm: add environment variables to debug potential synchronization issues Specifically, KWIN_DRM_FORCE_GL_FINISH_MGPU_COPY, to force glFinish before doing multi GPU copies, and KWIN_DRM_FORCE_GL_FINISH_PRESENT to force glFinish before presenting a buffer to the screen. Related: bug 511728 (cherry picked from commit 5ca05f8fd822b35012ad92f425dd8556f56ad809) Co-authored-by: Xaver Hugl <xaver.hugl@kde.org> M +7 -4 src/backends/drm/drm_egl_layer_surface.cpp https://invent.kde.org/plasma/kwin/-/commit/b3725f628d6daca2d1853a0a0b74753321af358c Created attachment 186706 [details]
Example of graphical corruption on the panel
See the provided picture for an example of the graphical corruption. This specific example is with the damage tracking disabled. I have a video file which shows more of the behaviour, but it is too large to upload.
(In reply to Zamundaaa from comment #5) > Git commit b3725f628d6daca2d1853a0a0b74753321af358c by Xaver Hugl. > Committed on 11/11/2025 at 01:29. > Pushed by zamundaaa into branch 'Plasma/6.5'. > > backends/drm: add environment variables to debug potential synchronization > issues > > Specifically, KWIN_DRM_FORCE_GL_FINISH_MGPU_COPY, to force glFinish before > doing > multi GPU copies, and KWIN_DRM_FORCE_GL_FINISH_PRESENT to force glFinish > before > presenting a buffer to the screen. > Related: bug 511728 > > > (cherry picked from commit 5ca05f8fd822b35012ad92f425dd8556f56ad809) > > Co-authored-by: Xaver Hugl <xaver.hugl@kde.org> > > M +7 -4 src/backends/drm/drm_egl_layer_surface.cpp > > https://invent.kde.org/plasma/kwin/-/commit/ > b3725f628d6daca2d1853a0a0b74753321af358c I've tried building Plasma from the master branch and setting the mentioned environment variables. The corruption still occurs. I've managed to prevent the glitching from appearing. It seems that it only occurs when the refresh rate of the monitor is set to its native 240Hz. Lowering to 120Hz is enough to prevent it from appearing. Adaptive sync still setting still has no impact. |