Bug 509603

Summary: On Wayland, Variable Refresh Rate should never affect the speed of the mouse cursor
Product: [Plasma] kwin Reporter: Eduardo Correia <eduardosareias>
Component: performanceAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: normal CC: nate, xaver.hugl
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Eduardo Correia 2025-09-17 16:09:23 UTC
When using variable refresh rate, especially when set to "always" in display settings, the mouse cursor never affects the display refresh rate (the refresh rate respects the content, never the mouse itself moving) so the mouse will stutter A LOT when changing FPS levels. For example, when we watch a 30 fps video on fullscreen, the whole KDE UI and the mouse will be at 30 fps too and its extremely annoying. This also affects games when games have low fps the mouse gets considerably more stuttery.

The fix should probably be the mouse and the whole KDE Plasma animations also count towards the variable refresh rate movement response, so on a 120Hz screen, watching 30 fps content or opening any plasma panel or menu, the plasma animations should trigger the VRR to go to max (120Hz) while the animation happens, or when moving the mouse around. Overall user inputs like mouse movement or keyboard typing should trigger VRR to jump to max Hz so the mouse movements and plasma animations stay smooth, and keyboard keeps feeling responsive.

VRR set to "always" is a pretty cool idea to save energy on laptops similar to what adaptive refresh rates to on mobile phones or even newer "Pro Motion" macbooks.

GNOME just kinda fixed this, maybe we could do the same on KDE:
https://www.techpowerup.com/340107/gnome-49-gets-fix-for-laggy-cursors-with-vrr-enabled-shortly-ahead-of-release
Comment 1 Eduardo Correia 2025-09-17 16:11:45 UTC
Relevant merge request in GNOME project:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4551
Comment 2 Zamundaaa 2025-09-17 17:27:45 UTC
Gnome's "fix" is just a copy of what I implemented a long time ago in KWin...

*** This bug has been marked as a duplicate of bug 504710 ***