Alright, looks like I was able to fix this at least the “HW cursor breaks/Disables VRR in games”.
I did set KWIN_FORCE_SW_CURSOR=1 in the /etc/environment and rebooted.
#Forces SW cursor, Currently HW cursor breaks e.g disables VRR
KWIN_FORCE_SW_CURSOR=1
After performing the above, when moving the cursor in games, the VRR is not breaking. This is confirmed by looking at the OSD. When HW cursor is used and moved the VRR breaks, Monitor refresh rate bumps up immediately to MAX and back to MIN. When SW cursor is forced this behavior is gone and Soft flicker doesn’t occur when moving the cursor in GAME.
NOTE:
KWIN_FORCE_SW_CURSOR=1
- its being said that this can cause laggy cursor, however I don’t see any performance loss on cursor movement, its fluid.
KDE + VRR always
- the above doesn’t solve the problem when VRR is enabled always, on desktop flickering still occurs. VRR should be set to automatic! There is really no reason to run VRR on desktop.
Flickering on load screens
- the above may not solve flickering in certain games during load screens. Even if mouse cursor is not present, I can see VRR breaks for some reason. I think this could be a limitation, where the system is not sure and disables enables VRR. I have seen this on Windows as well in the past.
Flickering out of VRR range
- this is a funny one, cause, sometimes your FPS can go out of range of the VRR that is your monitor capable. This can be over or under the range. The advice here is to CAP the FPS to or under your refresh rate of your monitor. I have seen this on Windows as well in the past.
References:
https://community.kde.org/KWin/Environment_Variables
https://www.reddit.com/r/linux_gaming/comments/1dmviru/choppy_vrradaptive_sync_on_wayland/
https://www.reddit.com/r/linux_gaming/comments/sohlnp/wayland_moving_mouse_breaks_freesync/
https://www.reddit.com/r/linux_gaming/comments/1b9foom/workaround_for_cursor_movement_cutting_our_vrr_on/