sway icon indicating copy to clipboard operation
sway copied to clipboard

Mouse lagging with adaptive sync enabled on two monitors

Open feschber opened this issue 2 years ago • 9 comments

Please fill out the following:

  • Sway Version:

    • sway version 1.8
  • Debug Log:

    • Run sway -d 2> ~/sway.log from a TTY and upload it to a pastebin, such as gist.github.com.
    • This will record information about sway's activity. Please try to keep the reproduction as brief as possible and exit sway.
    • Attach the full file, do not truncate it.
  • Configuration File:

    • Default config +
    output DP-1 res 2560x1440@240Hz pos 0 0 scale 1 adaptive_sync on
    output DP-2 res 2560x1440@144Hz pos 2560 0 scale 1 adaptive_sync on
    
  • Description:

    • I have two monitors: One with 144hz and one with 240hz refreshrate
    • Both monitors have adaptive sync capabilities
    • When moving the mouse around on the 240hz monitor, it is lagging - feels like ~48 fps
    • Moving the mouse on the lower refreshrate monitor is fine.
    • Disabling adaptive sync on the 240hz monitor fixes the issue (DP-1)
    • Interestingly, using a higher polling rate mouse (1000hz instead of 125hz) prevents the issue as well

feschber avatar Jan 30 '23 22:01 feschber

Tell me, if a debug log could be useful

feschber avatar Jan 30 '23 22:01 feschber

Do you have a read out of the FPS from the monitor when this is happening? My monitor will idle at 48fps but ramp up to 180 when I move the mouse (it's also set to 500hz polling), the monitor has a built in OSD FPS meter driven by adaptive-sync rate, it'll help us understand if the monitor is running at 48fps or if it's something else like a pacing issue.

YellowOnion avatar Mar 16 '23 01:03 YellowOnion

~~I just retested it and the issue seems to be gone. It reads 125hz on the ODS with the 125hz polling rate mouse, which makes perfect sense! Guess you can close the issue.~~

feschber avatar Mar 17 '23 09:03 feschber

https://github.com/swaywm/sway/assets/40996949/fa0def13-fdc5-4e0e-b3a7-9119747977db

https://github.com/swaywm/sway/assets/40996949/bde7848a-8c05-4883-a2bb-86210f2e5f1c

I just noticed this issue seems to persist and attached two files demonstrating the issue:

a) movement when adaptive sync is enabled, first with 125hz polling rate than at 1000Hz polling rate. The 125Hz polling rate causes lag ONLY on the cursor (as can be seen very clearly)

b) movement with adaptive sync disabled, again 125hz first and 1000hz second - notice that both are now smooth

feschber avatar Jan 08 '24 16:01 feschber

swaymsg -t get_version
sway version 1.8.1

feschber avatar Jan 08 '24 16:01 feschber

I'm having the same issue but with a single screen, cursor only lags visually but stuff like dragging windows work fine, only happens when I go above 60hz with freesync

xeome avatar Feb 03 '24 17:02 xeome

There's a known bug in AMD drivers that drop cursor updates when VRR is enabled, that's probably it...and the fact it doesn't show with a low polling rate is probably why I've never personally experienced it.

YellowOnion avatar Feb 20 '24 02:02 YellowOnion

There's a known bug in AMD drivers that drop cursor updates when VRR is enabled, that's probably it...and the fact it doesn't show with a low polling rate is probably why I've never personally experienced it.

That could very well be the case. Does that affect KDE as well? I need to test.

feschber avatar Feb 20 '24 07:02 feschber

There's a known bug in AMD drivers that drop cursor updates when VRR is enabled, that's probably it...and the fact it doesn't show with a low polling rate is probably why I've never personally experienced it.

That could very well be the case. Does that affect KDE as well? I need to test.

Yes, it does. See: https://gitlab.freedesktop.org/drm/amd/-/issues/2186#note_2289564

myghi63 avatar Feb 20 '24 18:02 myghi63