On Sat, 23 Sep 2023 at 20:44:14 +0100, Adam D. Barratt wrote: > On Tue, 2023-09-19 at 11:26 +0100, Simon McVittie wrote: > > Several new upstream bugfix releases. I've been trying to get these > > into > > a suitable state for a stable update since 12.1, but every time I've > > been testing one long enough to think about asking for upload > > approval, > > there have been more bugfixes upstream and the cycle starts again. > > > > This might be the last upstream bugfix release in the 43.x series, > > or we might get a 43.9. > > > > Please go ahead.
To be clear, do you want this and the accompanying gnome-shell update uploaded in time for 12.2, or should I upload them after 12.2 for inclusion in 12.3 as I suggested in the request? I have been asked to roll one additional change into this update: updating the (non-upstream) triple-buffering patch to its latest version, which fixes an issue where some session types (Xorg and some video drivers like Raspberry Pi) would only refresh at 30fps rather than the intended 60fps, fixing https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2017137 and https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2017097. I have not tested that change yet, but the equivalent for mutter 44 has been in Ubuntu since May. After I've tested it in v43 on Debian, would that be OK to include? The additional diff (beyond what you already saw) will be what's attached, plus a changelog entry. Thanks, smcv
>From b6d4b5bade286b2d3b6d2d9faa348574ad87503d Mon Sep 17 00:00:00 2001 From: Daniel van Vugt <daniel.van.v...@canonical.com> Date: Mon, 24 Apr 2023 17:42:42 +0800 Subject: [PATCH] clutter/frame-clock: Fall back to triple buffering, not double buffering When the driver doesn't support GPU timestamps (Xorg, Raspberry Pi, others) https://launchpad.net/bugs/2017137 https://launchpad.net/bugs/2017097 --- clutter/clutter/clutter-frame-clock.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/clutter/clutter/clutter-frame-clock.c b/clutter/clutter/clutter-frame-clock.c index 78f8dde9b4..f89db2582c 100644 --- a/clutter/clutter/clutter-frame-clock.c +++ b/clutter/clutter/clutter-frame-clock.c @@ -392,7 +392,15 @@ clutter_frame_clock_compute_max_render_time_us (ClutterFrameClock *frame_clock) if (!frame_clock->got_measurements_last_frame || G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_DISABLE_DYNAMIC_MAX_RENDER_TIME)) - return refresh_interval_us * SYNC_DELAY_FALLBACK_FRACTION; + { + int64_t ret = refresh_interval_us * SYNC_DELAY_FALLBACK_FRACTION; + + if (!triple_buffering_disabled && + frame_clock->state == CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE) + ret += refresh_interval_us; + + return ret; + } for (i = 0; i < ESTIMATE_QUEUE_LENGTH; ++i) { -- 2.40.1