Bug 478938 - The presentation time protocol is buggy with VRR on Chromium
Summary: The presentation time protocol is buggy with VRR on Chromium
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.91.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL: https://bugs.chromium.org/p/chromium/...
Keywords: qt6
: 480436 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-12-23 13:46 UTC by fililip
Modified: 2024-01-28 20:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fililip 2023-12-23 13:46:19 UTC
SUMMARY
After setting VRR policy to "Always" (or going fullscreen on "Automatic"), running Chromium with the Ozone hint property set to Wayland or auto, the browser fails to VSync unless the hardware cursor is moved (software cursor has no influence).

STEPS TO REPRODUCE
1. Set VRR policy to "Always" or "Automatic"
2. Launch Chromium with the Wayland backend (and go fullscreen if VRR policy is set to "Automatic")

OBSERVED RESULT
The browser has a seemingly random frametime (easily observed with UFOTest, simply scrolling a website, or with a YouTube video), but while moving the mouse everything looks good - I get 165 FPS. (This isn't good for low framerate video playback though, as moving the mouse sets the refresh rate back to 165Hz.)

EXPECTED RESULT
Chromium's draw/swap calls should dictate the refresh rate in a stable manner.

SOFTWARE/OS VERSIONS
Linux: Arch Linux, kernel version 6.6.7-zen1-1-zen
KDE Plasma Version: 5.91.0 (Plasma 6.0 Beta 2)
KDE Frameworks Version: 5.247.0
Qt Version: 6.7.0beta1

ADDITIONAL INFORMATION
Setting KWIN_FORCE_SW_CURSOR to 1 doesn't cause Chromium to sync properly while moving the mouse - could this have something to do with cursor plane separation?
Comment 1 Zamundaaa 2024-01-09 14:42:10 UTC
This is almost certainly a chromium bug. It abuses presentation time to schedule its rendering, which does not work with VRR.
Comment 2 Nate Graham 2024-01-11 23:42:12 UTC
Can you report it upstream, Fililip?
Comment 4 Zamundaaa 2024-01-28 20:30:53 UTC
*** Bug 480436 has been marked as a duplicate of this bug. ***