Cursor sometimes stutters after heavy shell animations in 42.9

Bug #2030959 reported by Daniel van Vugt
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mutter (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Released
Medium
Daniel van Vugt

Bug Description

[ Impact ]

Cursor sometimes stutters after heavy shell animations in 42.9 if there is no GUI animation in response to its movement. And it doesn't stop stuttering until GUI redraws occur (giving the frame clock an opportunity to measure lower GPU usage).

This is different to the recent bug fix that probably caused it:

Bug 2023766:
 * only occurs when moving over animated GUIs.
 * never recovers or corrects itself.
 * was spatial jittering at full frame rate.
 * reduced the frame rate of the GUI below it.

This bug:
 * only occurs when moving over non-animated GUIs.
 * does recover and correct itself.
 * is stuttering at seemingly half frame rate, but perfect spatially.
 * does not reduce the frame rate of the the GUI below.

I think the reason we only see this in 42 (jammy) is because that predates the change in the triple buffering algorithm to scale based on "dynamic max render time" alone.

[ Workaround ]

Add this to /etc/environment:

  MUTTER_DEBUG_ENABLE_ATOMIC_KMS=0

and then reboot.

[ Test Plan ]

1. Stress GNOME Shell maximally by repeatedly entering/leaving the overview and/or scrolling the app grid.

2. Stop suddenly and wiggle the mouse over some part of the desktop that DOES NOT respond to mouse movement. Such as the wallpaper or some blank grey space next to the app grid.

Expect: The mouse cursor does not get stuck in half frame rate.

[ Where problems could occur ]

In desktop frame timing since the clutter frame clock is being changed. Although risk is minimal since we're just reverting to the pre-July state of that code.

[ Other Info ]

The patch being dropped was found to not really be required in GNOME 42: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2023766/comments/13

Changed in mutter (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: New → Invalid
assignee: Daniel van Vugt (vanvugt) → nobody
Changed in mutter (Ubuntu Jammy):
assignee: nobody → Daniel van Vugt (vanvugt)
description: updated
description: updated
description: updated
description: updated
tags: added: jammy
Changed in mutter (Ubuntu Jammy):
status: New → In Progress
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
description: updated
Changed in mutter (Ubuntu Jammy):
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Daniel, or anyone else affected,

Accepted mutter into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/mutter/42.9-0ubuntu5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-jammy
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Verified 42.9-0ubuntu5 fixes the bug on jammy. Tested using the test case at the top of this page (which did fail with 42.9-0ubuntu4).

tags: added: verification-done-jammy
removed: verification-needed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mutter - 42.9-0ubuntu5

---------------
mutter (42.9-0ubuntu5) jammy; urgency=medium

  [ Daniel van Vugt ]
  * Drop clutter-frame-clock-Avoid-rapidly-toggling-dynamic-max-re.patch.
    It was never really required in mutter 42 but has caused some new stutter
    elsewhere (LP: #2030959)

 -- Marco Trevisan (Treviño) <email address hidden> Mon, 11 Sep 2023 15:39:50 +0200

Changed in mutter (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote : Update Released

The verification of the Stable Release Update for mutter has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.