Bug 500450

Summary: Weird resizing issues in some OpenGL apps in Plasma 6.3.0
Product: [Plasma] kwin Reporter: eduard.moldovan04
Component: scene-openglAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DOWNSTREAM    
Severity: minor CC: eduard.moldovan04, kdedev, nate
Priority: NOR Keywords: regression
Version First Reported In: 6.3.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: glxgears resizing bug

Description eduard.moldovan04 2025-02-20 09:07:17 UTC
Created attachment 178627 [details]
glxgears resizing bug

SUMMARY
I have a strange behavior in glxgears and an app i made using SkiaSharp, which internally uses OpenGL. When I resize the window, the content covers it really slow instead of instantly. Since this isssue is also present in glxgears, I assume it’s not my code at fault, since this only started to happen after I upgraded to Plasma 6.3.0. Also, the app runs fine on Windows 11.

STEPS TO REPRODUCE
1. Use Plasma 6.3.0
2. Launch glxgears from the terminal
3. Resize the window slowly or rapidly and see how it is redrawn

OBSERVED RESULT
The contents update really slowly and the drawing falls behind in pace compared to the resizing. It looks as if the surface can't keep up the pace of redrawing with the resizing.

EXPECTED RESULT
The contents update normally, (almost) instantly following the window's size, like the other apps

SOFTWARE/OS VERSION
Linux/KDE Plasma: Fedora KDE 41 (Wayland), Kernel version 6.12.13-200
KDE Plasma Version: 6.3.0
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2

ADDITIONAL INFORMATION
I also attached a videos with glxgears being resized, to better observe the behavior
Comment 1 TraceyC 2025-02-28 17:26:49 UTC
I can reproduce this in git-master
Comment 2 eduard.moldovan04 2025-05-27 16:17:06 UTC
Update to this bug:
It turns out it's even worse on Wayland when it happens! The videos were for X11, but on Wayland the behavior is that the entire window behaves like the drawing surface instead of being responsive and resize immediately following the user action. This means that if I slowly resize the window for several seconds, the resizing will still happen well after I release the mouse.

Is there some progress on this bug or at least some clue on what part of the code is creating this? Thank you!
Comment 3 Vlad Zahorodnii 2025-05-28 09:36:49 UTC
glxgears doesn't opt in into the _NET_WM_SYNC_REQUEST protocol, so it likely processes resize events one by one. I suggest to add support for _NET_WM_SYNC_REQUEST in your app. It'd reduce the number of ConfigureNotify events and it can also reduce the number of visual glitches during interactive resize.