SUMMARY After upgrading to Plasma 5.21, I've noticed something off about the cover switch animation, which I'm using as the Alt-Tab switcher. When I keep pressing Alt-Tab in quick succession, I always get the rotation animation. But when doing it at a normal pace, I get the animation more or less half the time and an instant switch otherwise, which feels visually jarring. On a related note, the animation speed settings in the KCM doesn’t seem to do anything. Setting it to something as high as 1000 (I assume miliseconds?) didn't change a thing. STEPS TO REPRODUCE 1. Set Alt-Tab switcher to Cover Switch 2. Press Tab a few times while holding Alt OBSERVED RESULT The animation isn't displayed most of the time. EXPECTED RESULT The animation is displayed every single time when switching between tasks. SOFTWARE/OS VERSIONS KDE Plasma Version: 5.21.0 KDE Frameworks Version: 5.79.0 Qt Version: 5.15.2
Can confirm.
Looks like Flip Switch is affected too.
Adding a "me too" to follow the bug. Also happening in Plasma 5.21.1. Operating System: Slackware 15.0alpha1 KDE Plasma Version: 5.21.1 KDE Frameworks Version: 5.79.0 Qt Version: 5.15.2 Kernel Version: 5.10.18 OS Type: 64-bit Graphics Platform: X11 Processors: 8 × Intel® Core™ i5-1035G1 CPU @ 1.00GHz Memory: 15.3 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics
I can confirm this issue. With Plasma 5.21 the first animation was OK, the next ones were missing, windows appeared instantly. After the updates, with Plasma 5.21.2 it works chaotic. Meaning, sometimes the new windows shows up immediately without animation, sometimes with very quick animation, sometimes with super quick animation that you more perceive with your gut. So the effect is not too good. I'm on a hybrid GPU laptop, with hybrid session using by default Intel Modesetting.
One quirk I noticed just today: Cover switch animation works ok if I have a youtube video playing in a browser (Opera Beta in my case) tab. If I pause the video the animation starts misbehaving again. In case it helps, I do not have hardware acceleration enabled, this is what opera://gpu/ shows: Graphics Feature Status Canvas: Software only, hardware acceleration unavailable Compositing: Software only. Hardware acceleration disabled Multiple Raster Threads: Enabled Out-of-process Rasterization: Disabled OpenGL: Disabled Rasterization: Software only. Hardware acceleration disabled Skia Renderer: Enabled Video Decode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Software only, hardware acceleration unavailable WebGL2: Software only, hardware acceleration unavailable Problems Detected Gpu compositing has been disabled, either via blocklist, about:flags or the command line. The browser will fall back to software compositing and hardware acceleration will be unavailable. Disabled Features: gpu_compositing Accelerated video decode has been disabled, either via blocklist, about:flags or the command line. Disabled Features: video_decode
I can confirm. When YouTube video is playing, animation works fine. When I pause it, it's bugged again. Weird!
Confirmed. But I see the same thing happens with any video playing, not just in a browser. I have a suspicion that it has to do with the window contents constantly changing and being marked as dirty, leading to the animation not being skipped as it would.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/782
Applied the commit from the pull request above and it seems to resolve the issue for me. I've been using it for a week with no obvious side-effects.
Git commit 5839e59e24c094104fcfd83884a7406a9e9e0e7f by Nate Graham, on behalf of Vlad Zahorodnii. Committed on 19/04/2021 at 17:03. Pushed by ngraham into branch 'master'. effects: Properly reset present times in coverswitch and flipswitch effects The last presentation timestamps should be reset when all animations finish rather than when the effect finishes. Otherwise, the calculated time diff for the first animation frame will be too big. M +6 -7 src/effects/coverswitch/coverswitch.cpp M +15 -13 src/effects/flipswitch/flipswitch.cpp https://invent.kde.org/plasma/kwin/commit/5839e59e24c094104fcfd83884a7406a9e9e0e7f
Git commit 170a436aaccdbd7a69bd2516ad921545d3454f14 by Nate Graham, on behalf of Vlad Zahorodnii. Committed on 19/04/2021 at 17:06. Pushed by ngraham into branch 'Plasma/5.21'. effects: Properly reset present times in coverswitch and flipswitch effects The last presentation timestamps should be reset when all animations finish rather than when the effect finishes. Otherwise, the calculated time diff for the first animation frame will be too big. (cherry picked from commit 5839e59e24c094104fcfd83884a7406a9e9e0e7f) M +6 -7 effects/coverswitch/coverswitch.cpp M +15 -13 effects/flipswitch/flipswitch.cpp https://invent.kde.org/plasma/kwin/commit/170a436aaccdbd7a69bd2516ad921545d3454f14