News: 0001485175

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GNOME Developers New Code Takes On Cursor Stutters

([GNOME] 4 Hours Ago Dynamic Deadline Evasion v3)


It's been one year since Canonical desktop engineer Daniel van Vugt, who is known for his upstream GNOME contributions, touched his patch-set implementing dynamic deadline evasion support. But this week brought the long-awaited third iteration of the patches that aim to eliminate cursor stutters from the Mutter compositor's KMS thread.

In addition to continuing to battle triple buffering support for GNOME, HDR-related work, and other GNOME enhancements to benefit the Ubuntu Linux desktop, Daniel van Vugt has found the time to update the proposed dynamic deadline evasion code. This moves Mutter's deadline evasion code into the device so that it can be dynamically adjusted whenever there is a missed frame. This code has been successfully tested with modern atomic KMS kernel graphics drivers.

The code aims to address issues reported with GNOME such as [1]heavy cursor stutter in some conditions, like [2]cursor stuttering if nothing else is animated on the desktop at that moment.

[3]This draft merge request opened last week has the latest dynamic deadline evasion code. But then as an alternative, Michel Dänzer came up with a different approach to track the KMS update duration within the crtc_frame_deadline_dispatch code so it's taken into account within the existing deadline evasion function.

That alternative implementation by Dänzer has been tested to fix the cursor stuttering he's experienced, so we'll see what implementation goes ahead. With the later merge request, it won't work though for the NVIDIA driver due to lacking necessary KMS timestamps. With GNOME 47 due out in mid-September and already hitting the freezes, we'll see if any cursor stuttering fixes make it still for that release as a "fix" or is diverted to GNOME 48 next year.



[1] https://gitlab.gnome.org/GNOME/mutter/-/issues/3612

[2] https://gitlab.gnome.org/GNOME/mutter/-/issues/3146

[3] https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3932



rene

user1

kpedersen

royce

Scotty_Trees

Gabbb

oiaohm

oiaohm

user1

... Where was Stac Electronics when Microsoft invented Doublespace? Where
were Xerox and Apple when Microsoft invented the GUI? Where was Apple's
QuickTime when Microsoft invented Video for Windows? Where was Spyglass
Inc.'s Mosaic when Microsoft invented Internet Explorer? Where was Sun
when Microsoft invented Java?