diff --git a/0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch b/0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch deleted file mode 100644 index b3284eb..0000000 --- a/0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 3f3c8876e0494cf7af92ce9b216da70fd4c0c275 Mon Sep 17 00:00:00 2001 -From: Xiaoguang Wang -Date: Tue, 23 Apr 2024 12:28:45 +0800 -Subject: [PATCH] Revert "clutter/stage: Avoid queueing stage updates when - they're already queued" - -This reverts commit 261f516af4e635d4bb263bbbbb2f843f0cbe09de. ---- - clutter/clutter/clutter-stage-private.h | 2 +- - clutter/clutter/clutter-stage-view.c | 2 +- - clutter/clutter/clutter-stage.c | 30 +++++++++---------------- - 3 files changed, 12 insertions(+), 22 deletions(-) - -Index: mutter-46.0/clutter/clutter/clutter-stage-private.h -=================================================================== ---- mutter-46.0.orig/clutter/clutter/clutter-stage-private.h -+++ mutter-46.0/clutter/clutter/clutter-stage-private.h -@@ -59,7 +59,7 @@ void clutter_stage_emit_b - void clutter_stage_emit_after_paint (ClutterStage *stage, - ClutterStageView *view, - ClutterFrame *frame); --void clutter_stage_after_update (ClutterStage *stage, -+void clutter_stage_emit_after_update (ClutterStage *stage, - ClutterStageView *view, - ClutterFrame *frame); - -Index: mutter-46.0/clutter/clutter/clutter-stage-view.c -=================================================================== ---- mutter-46.0.orig/clutter/clutter/clutter-stage-view.c -+++ mutter-46.0/clutter/clutter/clutter-stage-view.c -@@ -917,7 +917,7 @@ handle_frame_clock_frame (ClutterFrameCl - priv->needs_update_devices = FALSE; - - _clutter_run_repaint_functions (CLUTTER_REPAINT_FLAGS_POST_PAINT); -- clutter_stage_after_update (stage, view, frame); -+ clutter_stage_emit_after_update (stage, view, frame); - - return clutter_frame_get_result (frame); - } -Index: mutter-46.0/clutter/clutter/clutter-stage.c -=================================================================== ---- mutter-46.0.orig/clutter/clutter/clutter-stage.c -+++ mutter-46.0/clutter/clutter/clutter-stage.c -@@ -130,8 +130,6 @@ typedef struct _ClutterStagePrivate - - int update_freeze_count; - -- gboolean update_scheduled; -- - GHashTable *pointer_devices; - GHashTable *touch_sequences; - -@@ -512,15 +510,11 @@ clutter_stage_emit_after_paint (ClutterS - } - - void --clutter_stage_after_update (ClutterStage *stage, -- ClutterStageView *view, -- ClutterFrame *frame) -+clutter_stage_emit_after_update (ClutterStage *stage, -+ ClutterStageView *view, -+ ClutterFrame *frame) - { -- ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage); -- - g_signal_emit (stage, stage_signals[AFTER_UPDATE], 0, view, frame); -- -- priv->update_scheduled = FALSE; - } - - static gboolean -@@ -635,15 +629,19 @@ _clutter_stage_queue_event (ClutterStage - gboolean copy_event) - { - ClutterStagePrivate *priv; -+ gboolean first_event; - - g_return_if_fail (CLUTTER_IS_STAGE (stage)); - - priv = clutter_stage_get_instance_private (stage); - -+ first_event = priv->event_queue->length == 0; -+ - g_queue_push_tail (priv->event_queue, - copy_event ? clutter_event_copy (event) : event); - -- clutter_stage_schedule_update (stage); -+ if (first_event) -+ clutter_stage_schedule_update (stage); - } - - static ClutterEvent * -@@ -800,7 +798,8 @@ clutter_stage_queue_actor_relayout (Clut - { - ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage); - -- clutter_stage_schedule_update (stage); -+ if (priv->pending_relayouts == NULL) -+ clutter_stage_schedule_update (stage); - - priv->pending_relayouts = g_slist_prepend (priv->pending_relayouts, - g_object_ref (actor)); -@@ -2520,19 +2519,12 @@ _clutter_stage_get_window (ClutterStage - void - clutter_stage_schedule_update (ClutterStage *stage) - { -- ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage); - ClutterStageWindow *stage_window; -- gboolean first_event; - GList *l; - - if (CLUTTER_ACTOR_IN_DESTRUCTION (stage)) - return; - -- first_event = priv->event_queue->length == 0; -- -- if (priv->update_scheduled && !first_event) -- return; -- - stage_window = _clutter_stage_get_window (stage); - if (stage_window == NULL) - return; -@@ -2543,8 +2535,6 @@ clutter_stage_schedule_update (ClutterSt - - clutter_stage_view_schedule_update (view); - } -- -- priv->update_scheduled = TRUE; - } - - void diff --git a/_service b/_service index 4e2d5b1..ee678d5 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://gitlab.gnome.org/GNOME/mutter.git - 46.0 + 46.1 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/mutter-46.0.obscpio b/mutter-46.0.obscpio deleted file mode 100644 index eb1cb19..0000000 --- a/mutter-46.0.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e3b763da74e5643c455ccc0e7b47a40bca4b6a4b5d6740785feeb4d1bae4752 -size 30319629 diff --git a/mutter-46.1.obscpio b/mutter-46.1.obscpio new file mode 100644 index 0000000..5d0a388 --- /dev/null +++ b/mutter-46.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4d4c627f6e0ca3023e95a395aaaf90265e120299ed372d1485a380ca8b5d18d +size 30450701 diff --git a/mutter-fix-front-buffer-lock.patch b/mutter-fix-front-buffer-lock.patch deleted file mode 100644 index 3574078..0000000 --- a/mutter-fix-front-buffer-lock.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 6fd0a273b669414aa1fcfd4cf193d8e6c9cd2773 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= -Date: Wed, 27 Mar 2024 18:16:17 +0100 -Subject: [PATCH] drm-buffer-gbm: Do not call ensure_fb_id from lock_front - -When preparing a frame for scanout on a secondary GPU, calling -meta_drm_buffer_gbm_ensure_fb_id for the primary GPU device is -unnecessary and potentially harmful. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3389 ---- - src/backends/native/meta-drm-buffer-gbm.c | 2 +- - src/backends/native/meta-onscreen-native.c | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/src/backends/native/meta-drm-buffer-gbm.c b/src/backends/native/meta-drm-buffer-gbm.c -index 161d43957d4..4ca8fb0f462 100644 ---- a/src/backends/native/meta-drm-buffer-gbm.c -+++ b/src/backends/native/meta-drm-buffer-gbm.c -@@ -186,7 +186,7 @@ lock_front_buffer (MetaDrmBufferGbm *buffer_gbm, - return FALSE; - } - -- return meta_drm_buffer_gbm_ensure_fb_id (META_DRM_BUFFER (buffer_gbm), error); -+ return TRUE; - } - - MetaDrmBufferGbm * -diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c -index e40b03f3eaf..f2bae4f00d6 100644 ---- a/src/backends/native/meta-onscreen-native.c -+++ b/src/backends/native/meta-onscreen-native.c -@@ -1373,6 +1373,17 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen, - #endif - } - -+ if (!meta_drm_buffer_ensure_fb_id (onscreen_native->gbm.next_fb, &error)) -+ { -+ g_warning ("Failed to ensure KMS FB ID on %s: %s", -+ meta_device_file_get_path (render_device_file), -+ error->message); -+ -+ frame_info->flags |= COGL_FRAME_INFO_FLAG_SYMBOLIC; -+ meta_onscreen_native_notify_frame_complete (onscreen); -+ return; -+ } -+ - /* - * If we changed EGL context, cogl will have the wrong idea about what is - * current, making it fail to set it when it needs to. Avoid that by making --- -GitLab - diff --git a/mutter.changes b/mutter.changes index f3d140d..f773a3c 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Wed May 1 13:01:02 UTC 2024 - Dominique Leuenberger + +- Update to version 46.1: + + Implement linux-drm-syncobj-v1. + + Fix input lag on X11 nvidia. + + Fix scanout on secondary GPUs. + + Don't apply max-render-time to secondary GPUs. + + Fix reusing single-pixel buffers. + + Improve scanout candidate check. + + Always use logical pixels for. + + Fix modifiers getting stuck during grabs. + + Fix night-light on displays without EDID. + + Fix secondary GPU acceleration with nvidia driver. + + Fix some XWayland clients being partially click-through. + + Fix initial suspended state. + + Fixed crashes. + + Misc. bug fixes and cleanups. + + Updated translations. +- Drop mutter-fix-front-buffer-lock.patch and + 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch: + fixed upstream. + ------------------------------------------------------------------- Sun Apr 28 01:22:43 UTC 2024 - Xiaoguang Wang diff --git a/mutter.obsinfo b/mutter.obsinfo index c805129..ff955b4 100644 --- a/mutter.obsinfo +++ b/mutter.obsinfo @@ -1,4 +1,4 @@ name: mutter -version: 46.0 -mtime: 1710596587 -commit: c4753689e3413cd9332d885dd0297b3b7d9ba9ca +version: 46.1 +mtime: 1713548914 +commit: b57c80602d3780bb9b13fddcf2caca394910e6b4 diff --git a/mutter.spec b/mutter.spec index 874b5c8..1f3ed37 100644 --- a/mutter.spec +++ b/mutter.spec @@ -22,7 +22,7 @@ %define api_minor 0 %define libmutter libmutter-%{api_major}-%{api_minor} Name: mutter -Version: 46.0 +Version: 46.1 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0-or-later @@ -38,10 +38,6 @@ Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch Patch3: mutter-fix-x11-restart.patch # PATCH-FIX-OPENSUSE 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch glgo#GNOME/mutter#3302 bsc#1219546 alynx.zhou@suse.com -- Fix partial update on VT switch Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch -# PATCH-FIX-UPSTREAM mutter-fix-front-buffer-lock.patch glgo#gnome/mutter!3674 bsc#1222409 alynx.zhou@suse.com -- Fix front buffer lock error -Patch5: mutter-fix-front-buffer-lock.patch -# PATCH-FIX-UPSTREAM 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch glgo#GNOME/mutter#3452 bsc#1222612 xwang@suse.com -- Fix blank screen on Xorg when logging in or logging out -Patch6: 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch ## SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. @@ -153,8 +149,6 @@ applications that want to make use of the mutter library. %patch -P 2 -p1 %patch -P 3 -p1 %patch -P 4 -p1 -%patch -P 5 -p1 -%patch -P 6 -p1 %endif # SLE-only patches and translations. %if 0%{?sle_version}