SUMMARY The screen flickers black for a frame or so when using the touchpad gesture to switch virtual desktops (three/four finger swipe). More specifically, it happens as soon as you release, and only when animations are disabled. STEPS TO REPRODUCE 1. Disable animations by dragging the "Animation speed" slider in systemsettings all the way to right. 2. Switch virtual desktops with 3/4 finger touchpad swipe. 3. Observe that the screen flickers black when releasing your fingers. OBSERVED RESULT Screen flickers black. EXPECTED RESULT Screen switches instantly to target desktop, without any visual flicker. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: Fedora 38 kernel 6.4.6 (available in About System) KDE Plasma Version: 5.27.6 KDE Frameworks Version: 5.108.0 Qt Version: 5.15.10 ADDITIONAL INFORMATION GPU: Intel UHD 620, Mesa 23.1.4 Graphics Platform: Wayland Wasn't sure which component to file against, so general.
I just noticed, when using the keyboard shortcut to switch between desktops the same issue happens.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4507
Git commit 94b74cff960566d42813ecf4847637c2283a6fac by Vlad Zahorodnii, on behalf of Quinten Kock. Committed on 16/10/2023 at 19:07. Pushed by vladz into branch 'master'. plugins/slide: add special case for instant animations In springmotion.cpp for the slide plugin, there are issues when animations are disabled, namely a black screen flicker. The flicker is caused by float under/overflow (div-by-0 -> infinity). This commit fixes that by special-casing an infinite spring constant, so that the animation immediately jumps to the anchor. M +10 -0 src/plugins/slide/springmotion.cpp https://invent.kde.org/plasma/kwin/-/commit/94b74cff960566d42813ecf4847637c2283a6fac
Git commit 1c447b7cee950e99761763c80c15e6e862b40b4b by Vlad Zahorodnii, on behalf of Quinten Kock. Committed on 16/10/2023 at 19:07. Pushed by vladz into branch 'Plasma/5.27'. plugins/slide: add special case for instant animations In springmotion.cpp for the slide plugin, there are issues when animations are disabled, namely a black screen flicker. The flicker is caused by float under/overflow (div-by-0 -> infinity). This commit fixes that by special-casing an infinite spring constant, so that the animation immediately jumps to the anchor. (cherry picked from commit 94b74cff960566d42813ecf4847637c2283a6fac) M +10 -0 src/effects/slide/springmotion.cpp https://invent.kde.org/plasma/kwin/-/commit/1c447b7cee950e99761763c80c15e6e862b40b4b