Debian Package Tracker
Register | Log in
Subscribe

mutter

Example window manager using GNOME's window manager library

Choose email to subscribe with

general
  • source: mutter (main)
  • version: 50.4-1
  • maintainer: Debian GNOME Maintainers (archive) (DMD)
  • uploaders: Jeremy Bícha [DMD]
  • arch: all
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 3.38.6-2~deb11u2
  • oldstable: 43.8-0+deb12u1
  • stable: 48.7-0+deb13u1
  • testing: 50.4-1
  • unstable: 50.4-1
  • exp: 51.0-1
versioned links
  • 3.38.6-2~deb11u2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 43.8-0+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 48.7-0+deb13u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 50.4-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 51.0-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • gir1.2-mutter-18
  • libmutter-18-0 (2 bugs: 0, 2, 0, 0)
  • libmutter-18-dev
  • libmutter-test-18
  • mutter (13 bugs: 0, 10, 3, 0)
  • mutter-18-tests
  • mutter-common (2 bugs: 0, 2, 0, 0)
  • mutter-common-bin
  • mutter-dev-bin
action needed
A new upstream version is available: 50.5 high
A new upstream version 50.5 is available, you should consider packaging it.
Created: 2026-09-16 Last update: 2026-09-17 13:30
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 51.0-2, distribution UNRELEASED) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 6b9c5322db4fe8a8ccb3a1d191de7fcd116fd519
Author: Simon McVittie <smcv@debian.org>
Date:   Thu Sep 17 14:35:56 2026 +0100

    Update changelog

commit 7fb4cf90ae963495eb637e975f0458f738c24588
Merge: 8dbf7b6f 5c3127f4
Author: Simon McVittie <smcv@debian.org>
Date:   Thu Sep 17 14:35:27 2026 +0100

    Merge tag 'debian/50.5-1' into debian/latest
    
    mutter release 50.5-1 for unstable
    
    [dgit please-upload source=mutter version=50.5-1]
    [dgit distro=debian split --quilt=gbp]
    [dgit upstream-tag=upstream/50.5 upstream=f832270b4afdce40067d0e5cf61ca5c4d95c800b !pristine-tar=3f94b68f8156b1b74c5c88a6271f7f14c7f289fe]

commit 5c3127f4fba06e006f83598ca25b3166a8cbe115
Author: Simon McVittie <smcv@debian.org>
Date:   Thu Sep 17 14:33:10 2026 +0100

    Team upload

commit 6ae29bde45a790586bba0c40fb2fa09c88467296
Author: Simon McVittie <smcv@debian.org>
Date:   Thu Sep 17 00:37:33 2026 +0100

    d/libmutter-18-0.symbols: Update

commit 1c60552278c0fd2ca9fa8777a1c4e997e22728be
Author: Simon McVittie <smcv@debian.org>
Date:   Wed Sep 16 23:45:36 2026 +0100

    New upstream release

commit 2cedec194351aab14e932170834296f84a6e7a4d
Merge: 981fb3dd f832270b
Author: Simon McVittie <smcv@debian.org>
Date:   Wed Sep 16 23:45:36 2026 +0100

    Update upstream source from tag 'upstream/50.5'
    
    Update to upstream version '50.5'
    with Debian dir fdd9fd14f4148c757f413591cfe4b8e98d3001f9

commit f832270b4afdce40067d0e5cf61ca5c4d95c800b
Merge: 774e9a31 c28623c8
Author: Simon McVittie <smcv@debian.org>
Date:   Wed Sep 16 23:45:13 2026 +0100

    New upstream version 50.5

commit c28623c8d29c7b61ec744cdfdbec36f5e7faef1c
Author: Florian Müllner <fmuellner@gnome.org>
Date:   Tue Sep 15 15:51:27 2026 +0200

    Bump version to 50.5
    
    Update NEWS.

commit c145106dcc6230fc18477ed24e1ee60f3375d52a
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Sat Sep 12 21:28:55 2026 +0200

    renderer/native: Always mark onscreens as detached when rebuilding views
    
    When rebuilding the views, the views may get freed, meaning if we don't
    mark them as detached (unset the view, disconnect signals), they will
    still react to e.g. gamma changes, or privacy screen changes etc, where
    the handles will try to interact with the now potentially freed view.
    
    For this to happen, the onscreen must be kept alive longer than the
    view; this may happen when a hotplug happens while in power save mode,
    which will queue a symbolic power save page flip. If something triggers
    one of the signals an onscreen listens on before the power save page
    flip frees the onscreen, we'll hit the crash.
    
    The added test case triggered this by changing the CRTC gamma before
    leaving power save mode.
    
    An example backtrace:
    
        #0  clutter_stage_view_schedule_update ()
        ...
        #5  g_signal_emit ()
        #6  meta_crtc_kms_set_gamma_lut ()
        #7  meta_crtc_set_gamma_lut ()
        #8  set_gamma_lut ()
        #9  meta_monitor_mode_foreach_crtc ()
        #10 meta_monitor_set_gamma_lut ()
        #11 update_white_point ()
        #12 do_update ()
        #13 in meta_color_device_update ()
        #14 update_device_properties ()
        #15 in meta_color_manager_monitors_changed ()
        #16 ensure_monitor_color_devices ()
        #17 meta_monitor_manager_notify_monitors_changed ()
        ...
        #34 g_main_loop_run ()
        #35 meta_context_run_main_loop ()
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/5042
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5324>
    (cherry picked from commit 8e3870f45792836291fee329ed897da2d6a07c54)

commit 83c465fffad9144c32025c347bebd0904c0f10b6
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Mon Sep 14 16:27:40 2026 +0200

    monitor-manager: Move power save setting into helper
    
    This will be useful for tests, which want to set the power save mode
    without having to go via D-Bus.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5324>
    (cherry picked from commit 9f14039b20a1cb8179b4552291b290cf204ad027)

commit af0c9808d93e5ba3577e3c97250944aa1483a3c6
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Mon Aug 31 19:00:05 2026 +0200

    renderer/native: Don't keep around detached onscreens in power saving
    
    clear_detached_onscreens was previously called only from
    meta_renderer_native_post_mode_set_updates (and
    meta_renderer_native_dispose, which is called only on shutdown), which
    isn't called during power saving. This resulted in the
    detached_onscreens list and corresponding GPU memory usage growing
    unlimited e.g. due to hotplug events during power saving.
    
    Fix it by calling clear_detached_onscreens from
    on_power_save_mode_changed when entering power saving, and by bailing
    from maybe_detach_onscreens while in power saving. The purpose of the
    detached_onscreens list is to avoid drmModeRmFB implicitly turning off
    the KMS plane and potentially even CRTC, which isn't necessary during
    power saving, since they are intentionally off anyway.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4101
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/5008
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5285>
    (cherry picked from commit af926cffa0702d1fbd0f2b87f9adbfcb8be0e9f6)

commit a48766034d6cc8f843e0d439776c94b2879f1dac
Author: Conn O'Griofa <connogriofa@gmail.com>
Date:   Sat Aug 29 02:44:04 2026 +0100

    stream-source: Set min range of max framerate to variable
    
    !4798 introduced a change that allows negotiation of the PipeWire
    session without a maxFramerate parameter, but breaks the possibility
    of variable rate (0/1) when streaming to a real or virtual monitor that
    does have a refresh rate.
    
    This is relevant for Sunshine game streaming software; when attempting
    to negotiate a variable rate, the maxFramerate will be constrained to
    the host's refresh rate due to spec->frame_rate being filled via
    meta_stream_source_monitor_get_specs() with a non-zero value for
    frame_rate, as users will typically be streaming from a real monitor.
    
    The issue with maxFramerate being constrained is that mutter's pacing
    is very poor, especially when MESA_VK_WSI_PRESENT_MODE is set to anything
    besides fifo (vsync on) on the host, and even if the game itself is
    limited to to screen's refresh rate via software. On a 60fps stream,
    non-fifo modes show an average incoming framerate closer to 58fps
    (with some occasional low drops to the 30-40s), and fifo/vsync mode
    remain much closer to the target, but still exhibits some minor stuttering.
    
    I verified that we are not losing buffers by tracking incoming pw seq
    metadata - there are no discontinuities, so mutter is simply not pushing
    enough frames to reach the target framerate.
    
    By allowing variable rate negotiation, Sunshine's own pacing produces
    much smoother capture performance for all conditions (fifo/vsync or
    otherwise).
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5278>
    (cherry picked from commit a11392612b87e48614fbed9bec8280f825dea2f9)

commit e24ba78cab1a1cf42557672e3f68290b1325d2d3
Author: Pavel Ondračka <pavel.ondracka@gmail.com>
Date:   Thu Aug 27 15:25:48 2026 +0200

    shaped-texture: Disable blending for opaque regions
    
    The opaque-region path is intended to avoid framebuffer blending, but
    commit e5542c3210 removed the explicit no-blend state while changing the
    layer combine function to REPLACE. The combine function controls how a
    fragment is produced but it does not disable blending. So RGBA window
    textures still take the blended path even for client-declared opaque
    regions.
    
    Restore the explicit fixed-function blend state while retaining the
    simpler REPLACE combine shader.
    
    Performance was measured with RV370/r300 driver at 1920x1080. Five
    maximized Wayland windows were created with gnome-shell-perf-helper.
    After a warm-up cycle, the overview was shown and hidden repeatedly and
    frame presentations were measured (with background rendering disabled to
    remove r300-specific unrelated bottleneck). Mean effective presentation
    rate over the measured interval improved from 32.2 to 35.8 FPS (+11.1%)
    while missed vblanks fell from 72.0 to 60.75 (-15.6%). With llvmpipe and
    normal background rendering, delivery was within one frame but Shell
    all-thread CPU time was reduced by 8%.
    
    Fixes: e5542c3210 ("shaped-texture: Use the REPLACE combine function on opaque areas")
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4995
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5274>
    (cherry picked from commit d5e397c2d4f5c35b648fc52edfac2228127e89fd)

commit 13dea059c5c8e831b533838adcdf9bffd9ede15e
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Thu Sep 3 11:53:11 2026 +0200

    tests/wayland: Use meta_wait_for_effects in fullscreen reftest
    
    If there are no effects in progress, on_effects_completed may never be
    called, resulting in a hang.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5292>
    (cherry picked from commit 511f7985cc12b3486a4c919e22523df84924ac01)

commit 7d0de0723686cae57630eca7c9865e012e920b2a
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Sep 2 18:31:22 2026 +0200

    tests/wayland: Use meta_wait_for_effects in stable rounding reftest
    
    If there are no effects in progress, on_effects_completed may never be
    called, resulting in a hang.
    
    This will hopefully fix the test randomly timing out in the
    installed-tests-mutter CI job.
    
    v2:
    * Use meta_wait_for_effects. (Jonas Ådahl)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5292>
    (cherry picked from commit b75aeee08c926baf6a62abd94b01b7d3d6a689e0)

commit d1c518379736432f6f56ad1b32a09c90f5ae730b
Author: Yella Ramya Krishna <ramya.krishna.yella@intel.com>
Date:   Tue Aug 11 15:50:16 2026 +0530

    backends/native: Increase fallback mode refresh rate tolerance to 0.5 Hz
    
    The previous 0.1 Hz tolerance was too tight, causing most
    supported modes to be filtered out. Widen it to 0.5 Hz so that all
    supported fallback resolutions are listed.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4956
    
    Signed-off-by: Yella Ramya Krishna <ramya.krishna.yella@intel.com>
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5238>
    (cherry picked from commit 92ff60c39ab9bd509017dfd4c82e60c7f13574af)

commit c07b328f90f9af117510057fcd9d68f6b81c20ce
Author: Tyler Schicke <tschicke@nvidia.com>
Date:   Tue Aug 11 17:48:21 2026 -0700

    compositor-view/native: Move onscreen secondary_gpu check earlier
    
    The secondary gpu check from commit 2853853c09 only depends on the
    onscreen_native, not the scanout or surface, so it can be done in
    find_scanout_candidate instead. This avoids extra work that would otherwise be
    done just to get to meta_onscreen_native_is_buffer_scanout_compatible and
    realize that the onscreen doesn't support direct scanout.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5250>
    (cherry picked from commit a22902abed8e107cce86ad2c46719d4d24b1a5fa)

commit 699b19f968258c5825408563adcb237e78066948
Author: Tyler Schicke <tschicke@nvidia.com>
Date:   Fri Jul 17 20:56:04 2026 -0700

    onscreen/native: Handle cross GPU buffer scanout
    
    To test if a buffer can be used for direct scanout, a test commit is done with
    the framebuffer ID of the buffer to be checked. This framebuffer ID is scoped to
    the DRM device that the framebuffer belongs to, however when doing the test
    commit, it is checked on the scanout DRM device. On systems with two GPUs, with
    one display plugged into each GPU, it is possible for a buffer rendered on GPU A
    to try to be scanned out on GPU B. In this case, the FB ID from GPU A will be
    used in the test commit on GPU B, which is invalid. Usually this test commit
    will fail and the compositing fallback path will be used, but in the worst case
    the FB ID from GPU A collides with an FB ID from GPU B, and the FB ID on GPU B
    is able to do direct scanout on GPU B. If this happens, the test commit will
    pass for a different surface than was being queried, and the direct scanout path
    will be taken, causing an incorrect and unrelated buffer to be scanned out on
    GPU B.
    
    Fix this by adding a check to the scanout compatibility test path to check if
    the buffer is from a different GPU than the onscreen. Since MetaDrmBuffers for
    client buffers are currently always created for the primary GPU, this can be
    done by checking if the onscreen is for a secondary GPU.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5219>
    (cherry picked from commit 2853853c0923ee878f66f7593dfb951ca417532c)

commit fcfe47c15277f90c28aa9b3bdd8e9da6516016c8
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Wed Aug 5 14:47:02 2026 +0200

    tests/cogl/conform: Fix some leaks
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5225>
    (cherry picked from commit 3a0d74d9fb6b25351610ec3d04da19210f2c3e21)

commit 7c9072413dffa644f73b31d1c07d53f1322dbaed
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Thu Aug 6 11:07:37 2026 +0200

    cogl/context: Don't leak the current and stencil pipelines
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5225>
    (cherry picked from commit f44ae9ef9656afe0dd3a07a3d427140a339b3782)

commit 225298b8ff154389951649af7436eba857b2a604
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Wed Aug 5 14:46:10 2026 +0200

    cogl/pipeline-cache: Dispose cached pipelines before the cache
    
    This avoids interdependent pipelines to look up each other's cache
    entries when the cache entries are already gone.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5225>
    (cherry picked from commit a55301ff1cbe96436f2156f350461d93a93e91d8)

commit a57e8830ca327ab90be80f4937588b8af24250c5
Author: Sebastian Keller <skeller@gnome.org>
Date:   Sat Feb 28 17:55:05 2026 +0100

    cogl/pipeline-layer: Fix big_state leak
    
    The state of `differences` at dispose time is not necessarily indicative
    of whether the layer has had a `big_state` allocated in the past.
    
    This can happen due to the various `cogl_pipeline_set_layer_*` functions
    that might modify the current layer to stop being the authority for a
    given state. This removes the state from `differences`, but does not
    remove the `big_state`, so by the time the layer is disposed, the
    condition will not cause `big_state` to be freed.
    
    This fixes the leak by checking whether `big_state` has been allocated
    rather than whether it was needed for the current state differences.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4934>
    (cherry picked from commit df66795009092fd88d3384d261169921c86839d9)

commit a7c911159b4dd4eef4442be295c3ff6373ceedc8
Author: Christian Glombek <c.glombek@cosa.systems>
Date:   Mon Jul 6 03:53:49 2026 +0200

    color-profile: Plug CdProfile reference leak on finalize
    
    cd_client_find_profile_finish() returns a full reference, so the
    profile looked up during finalize in order to be deleted from colord
    was leaked.
    
    This went unnoticed so far, but with device profiles now also being
    generated for monitors without an EDID, the lookup runs during the
    teardown of most tests and makes LeakSanitizer abort otherwise
    unrelated ones.
    
    Fixes: cc84a45b56 ("color-profile: Create colord profiles")
    Assisted-By: Claude Fable 5
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4961>
    (cherry picked from commit bab5fae212a09f0b2cc8f879261e8954a0c6073a)

commit 2a65d1c4b84289c8c917abf42608e18845848821
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Wed Sep 9 19:55:31 2026 +0200

    wayland/color-management: Fix lifetime of ICC image description
    
    Instead of keeping the ICC creator alive for longer than its resource,
    we use the MetaWaylandImageDescription that we need to create before the
    async process starts anyway.
    
    This requires the ImageDescription object to be ref-counted because both
    the resource and the async process can each happen before one another.
    
    That change then also makes it easy to actually set the resource to NULL
    when it goes away, which previously would just be dangling pointer.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5313>
    (cherry picked from commit 86141ab75b23f10f8b79a2d5fda1d4c1d20c61e2)

commit efe3822e42a16802808d617905ef060744245e55
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Wed Sep 9 19:50:34 2026 +0200

    wayland/color-management: Use a single image desc for ICC creation
    
    Instead of creating two MetaWaylandImageDescription objects, create one,
    keep it in the uninitialized state, and then set_ready or set_failed
    when we're done with async reading of the ICC file.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5313>
    (cherry picked from commit 8459ad1aeac554caa71053d0316af7c69f2f057c)

commit 414da34cfe7864670255fcb9143aee29cbbc5d22
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Wed Sep 9 19:48:10 2026 +0200

    wayland/color-management: Add an initial image description state
    
    The image descriptions (e.g. the ICC one) become ready asynchronously
    and exist in this state until they become either ready or failed. This
    makes that initial state explicit.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5313>
    (cherry picked from commit eead94c544a426ee2bde7c70fec946b42369c054)

commit bd7382a8ba285b6bab7f42dafcfbc74d0fcb2ffe
Author: Sebastian Keller <skeller@gnome.org>
Date:   Thu Aug 27 23:10:11 2026 +0200

    core/session-manager: Fix hash table leak
    
    The result of `gvdb_hash_table_new()` is transfer full.
    
    976 (96 direct, 880 indirect) bytes in 1 blocks are definitely lost in loss record 19,526 of 20,220
       at 0x4875826: malloc (vg_replace_malloc.c:447)
       by 0x5034E45: g_malloc (gmem.c:100)
       by 0x5016216: g_hash_table_new_full (ghash.c:1029)
       by 0x56DD283: gvdb_hash_table_new (gvdb-builder.c:76)
       by 0x55EB76B: snapshot_gvdb_recursively (meta-session-manager.c:370)
       by 0x55EBBC6: meta_session_data_save (meta-session-manager.c:432)
       by 0x55EC2A4: meta_session_manager_save_sync (meta-session-manager.c:535)
       by 0x55E4DF3: meta_context_main_finalize (meta-context-main.c:435)
       by 0x4F08F33: g_object_unref (gobject.c:4910)
       by 0x403A09: main (main.c:731)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5275>
    (cherry picked from commit fd613e79b8d35880aa8c134088d822eec4de11a1)

commit 63ab173a224b5bd7dd249a5534a39ccbe2c62d90
Author: muzaffarmhd <mdmuzaffarprof@gmail.com>
Date:   Mon Mar 16 10:38:15 2026 +0530

    backends: Prevent modifier release from stopping key repeat
    
    - On key release, only cancel the repeat if the released key is the one
      currently driving the repeat.
    
    - If the pressed key is non-repeating, return without disturbing the
      ongoing repeat.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4675
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4974>
    (cherry picked from commit 3fe9b5fb2b3f14698e1880336ea57af023ec09cf)

commit 49a543dad839b6e8a77020e5466ee987746e4eed
Author: Toluwaleke Ogundipe <anonymoux47@gmail.com>
Date:   Sun Aug 9 23:01:23 2026 +0100

    stream-source/monitor: Clean up `ensure_blending_pipeline()`
    
    - Remove unused variable.
    - Add some whitespace for clarity.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5237>
    (cherry picked from commit fdf9e3986331bdd7a9b91e4f478e80d68ecfad52)

commit b409822e2791cedf30e20ff578beaddab685551e
Author: Toluwaleke Ogundipe <anonymoux47@gmail.com>
Date:   Sun Aug 9 22:55:15 2026 +0100

    stream-source/monitor: Fix framebuffer/pipeline leaks
    
    Do not leak the blending framebuffer and pipeline.
    `g_set_object()` takes its own ref, so we must release our own.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5237>
    (cherry picked from commit eff67640a892115661e1a13262ffd32728643bac)

commit 817424e85c3c4ae1a242978c34d210c6fc7b4c0c
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Fri Aug 28 15:13:50 2026 +0200

    stream-source/monitor: Fix direct scanout handling without dma-buf
    
    before_stage_painted needs to ensure a frame will be recorded, since
    stage_painted isn't called with direct scanout.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/3903
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5276>
    (cherry picked from commit 2021ac0c71bf395b3248d35854308961cb9aab14)

commit fdf37389dc6c7327884def1dddd2930d99a1f76b
Author: Gamblit <gnome@gamblit.org>
Date:   Mon Jul 27 00:12:27 2026 -0500

    backend/native Do not keep references to offscreens on detach
    
    Offscreen virtual CRTCs are never scanned out and retaining them creates a VRAM leak.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5197>
    (cherry picked from commit 82ad62795fc72ca5262681ffe100f21534348a58)

commit 08dcb448b39797ad03a6381901a6c000b2424efe
Author: Nathan Saslavsky <nathan.saslavsky@shotover.com>
Date:   Thu Aug 20 18:02:01 2026 -0600

    tests/wayland: Add xdg-foreign imported parent-of destruction test
    
    Unmaps the child surface, destroys the import referencing it, then destroys
    the child.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5041>
    (cherry picked from commit 6b22394ef3d7717a315d2db1178a0cc0f1637a70)

commit e594b455646133299377a4f5ee8f5292f226db81
Author: Nathan Saslavsky <nathan.saslavsky@shotover.com>
Date:   Tue Aug 18 13:19:55 2026 -0600

    wayland/xdg-foreign: Disconnect parent-of handler when the child unmaps
    
    imported_parent_of_unmapped() cleared imported->parent_of but left the
    handler connected, so the import was freed with it still attached.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5041>
    (cherry picked from commit 2a34c964df52fa7e607231763b733bf9cd1c9db6)

commit d0ea1328a9f36e05a21262f12bbd22a351aea545
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Wed Aug 19 14:57:41 2026 +0200

    wayland/xdg-shell: Unset the 'resizing' toplevel state when drag ends
    
    Otherwise clients will consider them being in the 'resizing' state until
    some other unrelated change sends a new configure event without the said
    state included.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4986
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5256>
    (cherry picked from commit b235dc839190237a86ef7a85f10c28a439e6c98a)

commit a82a1a0312ec97d1cbec8dff74315db4b4ca27b5
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Wed Aug 19 14:57:13 2026 +0200

    window-drag: Add 'is_ending()' state method
    
    This will be true when the drag is ending, which will be useful in the
    next commit.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5256>
    (cherry picked from commit fd1ce384329680a634144362350e661e5b3e4457)

commit e15724b7951fa20631aab5cceea220512dc722c3
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Aug 19 17:46:34 2026 +0200

    onscreen/native: Report buffer device file path if ensure_fb_id fails
    
    If the onscreen is for a secondary GPU, the buffer device differs from
    the render device. Reporting the latter was confusing.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5255>
    (cherry picked from commit de8aea793f37d0df78b7668c4f379f65f9adb4ec)

commit e534f361dec58717cbad71ac532a741bd395c312
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Aug 19 17:33:44 2026 +0200

    onscreen/native: Ensure KMS FB in create_secondary_gpu_buffer
    
    If creating a KMS FB fails, fall back to a different format. If we hit
    this later in maybe_post_next_frame, we'd be dead in the water.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4983
    
    v2:
    * Use g_autoptr for buffer_gbm. (Jonas Ådahl)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5255>
    (cherry picked from commit 7f33dc24dca8f6ec01903a1039381f0c348b834f)

commit 54b57a25e421292735636e275ca5d510ee5188ef
Author: Victor C. <34163765+vicajilau@users.noreply.github.com>
Date:   Thu Aug 20 06:37:50 2026 +0200

    tests/stage-view: Check offscreen effects across resource scale changes
    
    Move a container holding an offscreen-redirected actor from a 1.5 scaled
    view to an unscaled one. The actor's own allocation never changes, so it
    never becomes dirty and the effect takes its cached texture path across
    the resource scale change, which is what made it paint at the wrong
    size.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5233>
    (cherry picked from commit 5889d10cad85a0b8026c1c16355a4f34eece80df)

commit dcc9200ec4d2d9ec27c4f8e09662a8462e0f1896
Author: Victor C. <34163765+vicajilau@users.noreply.github.com>
Date:   Thu Aug 20 06:37:50 2026 +0200

    clutter/offscreen-effect: Invalidate cached fbo on resource scale change
    
    The fbo is sized using the ceiled resource scale in pre_paint(), while
    paint_texture() undoes that scaling using the scale current at paint
    time. Nothing forces a re-render when the actor's resource scale
    changes, and clutter_offscreen_effect_paint() reuses the cached fbo
    contents whenever the actor is not dirty, so the cached texture ends up
    painted at the wrong size.
    
    An actor can change resource scale without ever becoming dirty, by being
    moved by an ancestor across stage views with differing ceiled scales.
    A dock sliding out of a 125% monitor into a neighbouring 100% one hits
    exactly that: the texture rendered at ceiled scale 2 gets painted with
    unscale 1/1, comes out twice its size, and spills back over the monitor
    edge until something dirties the actor again.
    
    Add a "real-resource-scale-changed" signal to ClutterActor, emitted for
    every change of the resource scale rather than only for those changing
    its ceiling, and have ClutterOffscreenEffect drop its offscreen when the
    actor it is attached to emits it.
    
    Tracking the unceiled scale also covers the pipeline filter, which is
    picked from fmodf (resource_scale, 1.0) and would otherwise keep a stale
    value for a clean actor whose scale changed within the same ceiling.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4958
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5233>
    (cherry picked from commit 0f3e15e17150438becd2b91adf1e3bcf96edd736)

commit bd90edfcdaf5846e35a523b4ed5d315d34bd45a5
Author: Boogie61 <muhammetali47961@gmail.com>
Date:   Thu Aug 6 22:56:33 2026 +0300

    output: Don't declare a mastering display luminance range
    
    Filling in the mastering display metadata was meant to describe the
    volume the frames are produced in, and the luminance range came along
    with the rest of that description. It turns out to be the part that
    hurts. The PQ default range says the content was mastered on a 10000
    nit display, and sinks that tone map on their own compress against that
    figure. Since 50.4 that shows up as desaturated, low contrast content
    with HDR enabled on a GIGABYTE MO34WQC, a Dell U2723QE, a BenQ PD2706UA
    and an LG UltraGear, on both AMD and NVIDIA.
    
    The chromaticity is the part that was missing. With the primaries and
    the white point kept and both luminance fields left at zero, the panel
    from #4937 is still correct here and the BenQ above is correct again,
    so nothing seen so far needs a luminance figure. What is left describes
    the chromaticity the frames are produced in and claims nothing about how
    bright they are.
    
    Fixes: fa6b3575f4e1 ("output: Fill in mastering display metadata for HDR output")
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/work_items/4952
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5230>
    (cherry picked from commit 35eda8a55e811aa0086fd2b5a33be9e5da9a0b72)

commit e58c910f23fc40c4ba8b6040be1f022887612aad
Author: liuyingjie <yingjie.liu@spacemit.com>
Date:   Thu Aug 6 14:10:50 2026 +0800

    backends: Clear is_primary on non-primary logical monitors
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5228>
    (cherry picked from commit b59dc860bb7eb0283b576e74a24e61cdd9eba068)

commit 93efa25a3a0b5ebc4b9d47485819054c01bd250f
Author: mohansur <MohanSundaram.R@amd.com>
Date:   Tue Aug 4 20:59:04 2026 +0530

    kms/impl-device-simple: Report overlay plane assignment as failed
    
    The overlay case in process_plane_assignment() sets error feedback but
    returns TRUE. The caller only reads feedback on the FALSE path, so the
    feedback leak and the update reports success for a plane
    that was never programmed.
    
    Return FALSE, routing the overlay onto the existing failure path where
    the caller frees the feedback and honours ALLOW_FAIL plane flag.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4948
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5222>
    (cherry picked from commit 04c916b56262cbe2888e532b7352c8978a3f680a)

commit d4651251582e29d83f71e8e3cb64be07644d6150
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Aug 12 17:44:24 2026 +0200

    color-device: Fix colorimetry primaries leak in update_color_state
    
    Noticed in valgrind output:
    
    ==1154444== 224 bytes in 7 blocks are definitely lost in loss record 10,990 of 11,290
    ==1154444==    at 0x484B7D8: malloc (vg_replace_malloc.c:447)
    ==1154444==    by 0x4CB3DD1: g_malloc (gmem.c:100)
    ==1154444==    by 0x4A3E04E: get_color_metadata_from_monitor (meta-color-device.c:716)
    ==1154444==    by 0x4A3E262: update_color_state (meta-color-device.c:758)
    ==1154444==    by 0x4A4059A: do_update (meta-color-device.c:1553)
    ==1154444==    by 0x4A40615: meta_color_device_update (meta-color-device.c:1568)
    ==1154444==    by 0x4A410DD: update_device_properties (meta-color-manager.c:266)
    ==1154444==    by 0x4A4111B: meta_color_manager_monitors_changed (meta-color-manager.c:274)
    ==1154444==    by 0x4A75204: ensure_monitor_color_devices (meta-monitor-manager.c:1283)
    ==1154444==    by 0x4A75267: meta_monitor_manager_notify_monitors_changed (meta-monitor-manager.c:1300)
    ==1154444==    by 0x4A7B142: meta_monitor_manager_rebuild (meta-monitor-manager.c:4139)
    ==1154444==    by 0x4BC7F62: meta_monitor_manager_native_apply_monitors_config (meta-monitor-manager-native.c:305)
    
    v2:
    * Initialize the colorimetry struct to 0. (Sebastian Wick)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5239>
    (cherry picked from commit 41a882845a6b116af12b487bc1b7b235e689af87)

commit fd343c304be32d3fb3cfd634b45af452757d59c7
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Thu Jul 30 01:15:15 2026 +0200

    clutter/color-utils: Add clutter_colorimetry_clear and g_auto support
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5208>
    (cherry picked from commit 940fcf5361ddeadd439b492b6b733deb4bd8ac58)

commit 7423ae82e3816925da1dc6cd67789668d4e52578
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Fri Jul 31 15:03:23 2026 +0200

    DisplayConfig: Document the SDR Native color mode
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5208>
    (cherry picked from commit 445b8b8a419773da32e98a6d3fd2c2809d281a7c)

commit 2405a1fb47fc5d014f5ebe0d4d05681cd724f672
Author: Sebastian Wick <sebastian.wick@redhat.com>
Date:   Thu Jul 30 20:05:39 2026 +0200

    clutter/stage-view: Invalidate viewport when invalidating offscreen
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5208>
    (cherry picked from commit 525644ab1950c274dc462b651d35209d93db9776)

commit 260a1bfc0aac963d6d2f31f77fc0a45b497c371b
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Aug 12 12:28:09 2026 +0200

    backends/native: Fix MetaPointerConstraintImpl leak
    
    set_pointer_constraint uses g_set_object, which takes a reference on
    the MetaPointerConstraintImpl passed in, so
    meta_backend_native_set_pointer_constraint needs to drop the original
    reference.
    
    Found by inspection, confirmed with valgrind:
    
    ==1122581== 256 (128 direct, 128 indirect) bytes in 2 blocks are definitely lost in loss record 11,023 of 11,265
    ==1122581==    at 0x4852DC3: calloc (vg_replace_malloc.c:1616)
    ==1122581==    by 0x4CB2E29: g_malloc0 (gmem.c:133)
    ==1122581==    by 0x4FDF6A5: g_type_create_instance (gtype.c:1882)
    ==1122581==    by 0x4FC351E: g_object_new_internal.part.0 (gobject.c:2671)
    ==1122581==    by 0x4FC4B7D: g_object_new_internal (gobject.c:2668)
    ==1122581==    by 0x4FC4B7D: g_object_new_with_properties (gobject.c:2833)
    ==1122581==    by 0x4FC5AB0: g_object_new (gobject.c:2481)
    ==1122581==    by 0x4BF4E07: meta_pointer_constraint_impl_native_new (meta-pointer-constraint-native.c:700)
    ==1122581==    by 0x4BB0C8D: meta_backend_native_set_pointer_constraint (meta-backend-native.c:407)
    ==1122581==    by 0x4A38181: meta_backend_set_client_pointer_constraint (meta-backend.c:1857)
    ==1122581==    by 0x4B57E73: meta_pointer_confinement_wayland_update (meta-pointer-confinement-wayland.c:87)
    ==1122581==    by 0x4B57FB3: meta_pointer_confinement_wayland_enable (meta-pointer-confinement-wayland.c:137)
    ==1122581==    by 0x4B7F8B8: meta_wayland_pointer_constraint_enable (meta-wayland-pointer-constraints.c:403)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5239>
    (cherry picked from commit fb9aabcbf35754077536078938160bcdc3d6f5e9)

commit 3bb5de5963cc2f70c62c6ca38b489cddb340cd8a
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Wed Aug 12 11:53:47 2026 +0200

    stream-source-monitor: Fix blending color state leak
    
    clutter_color_state_get_blending transfers the returned
    ClutterColorState reference to the caller, so it needs to be disposed
    after use.
    
    Found by inspection, confirmed indirectly by attaching gdb and setting a
    watchpoint on the GObject::ref_count field of the object returned by
    clutter_color_state_get_blending. Without this fix, every
    meta_stream_source_monitor_record_to_framebuffer call increments the
    reference count. With this fix, the reference count always goes back
    down to 1. (This is the case where clutter_color_state_get_blending just
    returns a reference to the color state passed to it)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5239>
    (cherry picked from commit e271b6c20d299f5249686e8d53ce44c0fb834fcb)

commit 11597d052d88d8dba90b420d95e96e81b0ea4381
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Thu Aug 6 18:27:12 2026 +0200

    renderer/native: Don't ensure GPU data when asking for gbm_device
    
    Not necessary anymore, and not desirable, because it would create a
    MetaRenderDevice which wouldn't get disposed afterwards for a secondary
    GPU with no enabled displays.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5229>
    (cherry picked from commit ba571cd542717dbefd8cd5ccf2d8cc045048679f)

commit 3fe3a8b7c491933c67fb98528ab0449221a3cbfb
Author: Michel Dänzer <mdaenzer@redhat.com>
Date:   Thu Aug 6 18:16:47 2026 +0200

    cursor-renderer/native: Maybe defer HW cursor support initialization
    
    If meta_renderer_native_get_gpu_data returns NULL.
    
    Try again after the monitor configuration changed.
    
    This avoids creating a MetaRenderDevice for a secondary GPU with no
    enabled displays from init_hw_cursor_support, which wouldn't get
    disposed afterwards.
    
    v2:
    * Use hash table for priv->deferred_hw_cursor_init. (Jonas Ådahl)
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5229>
    (cherry picked from commit 6f93ce2e9fd00c125a326bf0e87c8bce55715d4c)

commit 36174d2833447ce5dc8fae9b31183a8b47462f91
Author: Toluwaleke Ogundipe <anonymoux47@gmail.com>
Date:   Sun Aug 9 09:57:44 2026 +0100

    clutter/stage-view: Fix offscreen pipeline leak
    
    `g_set_object()` takes its own ref, so we must release our own.
    This was missed in 40eb77cb9797aef6c439bc5283a085beb1618b60.
    
    Fixes: a91fd4a72cd1bd0d985b3c12ce020f64d71810af
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/5235>
    (cherry picked from commit cccc430b3500a79678c50f41191911b3e856ccdd)


https://salsa.debian.org/api/v4/projects/gnome-team%2Fmutter API request failed: 401 Unauthorized at /srv/qa.debian.org/data/vcswatch/vcswatch line 410.
Created: 2026-09-17 Last update: 2026-09-17 14:33
debian/patches: 2 patches to forward upstream low

Among the 5 debian patches available in version 50.4-1 of the package, we noticed the following issues:

  • 2 patches where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2023-02-26 Last update: 2026-08-23 23:00
testing migrations
  • This package will soon be part of the auto-mutter transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
news
[rss feed]
  • [2026-09-17] Accepted mutter 50.5-1 (source) into unstable (Simon McVittie)
  • [2026-09-15] Accepted mutter 51.0-1 (source) into experimental (Jeremy Bícha)
  • [2026-08-31] mutter 50.4-1 MIGRATED to testing (Debian testing watch)
  • [2026-08-23] Accepted mutter 50.4-1 (source) into unstable (Simon McVittie)
  • [2026-08-06] mutter 50.3-1 MIGRATED to testing (Debian testing watch)
  • [2026-08-03] Accepted mutter 51~beta-1 (source amd64) into experimental (Debian FTP Masters) (signed by: Jeremy Bícha)
  • [2026-08-03] Accepted mutter 50.3-1 (source) into unstable (Simon McVittie)
  • [2026-08-02] Accepted mutter 50.2-4 (source) into unstable (Simon McVittie)
  • [2026-06-13] mutter 50.2-3 MIGRATED to testing (Debian testing watch)
  • [2026-06-08] Accepted mutter 50.2-3 (source) into unstable (Simon McVittie)
  • [2026-06-06] Accepted mutter 50.2-2 (source) into unstable (Simon McVittie)
  • [2026-06-04] Accepted mutter 50.2-1 (source) into experimental (Simon McVittie)
  • [2026-04-16] Accepted mutter 50.1-1 (source) into experimental (Simon McVittie)
  • [2026-03-28] Accepted mutter 50.0-1 (source) into experimental (Simon McVittie)
  • [2026-02-19] mutter 49.4-1 MIGRATED to testing (Debian testing watch)
  • [2026-02-16] Accepted mutter 49.4-1 (source) into unstable (Simon McVittie)
  • [2026-02-08] Accepted mutter 50~beta-2 (source) into experimental (Jeremy Bícha)
  • [2026-02-08] Accepted mutter 50~beta-1 (source amd64) into experimental (Debian FTP Masters) (signed by: Jeremy Bícha)
  • [2026-01-30] mutter 49.3-1 MIGRATED to testing (Debian testing watch)
  • [2026-01-27] Accepted mutter 49.3-1 (source) into unstable (Simon McVittie)
  • [2025-12-20] Accepted mutter 48.7-0+deb13u1 (source) into proposed-updates (Debian FTP Masters) (signed by: Simon McVittie)
  • [2025-11-27] mutter 49.2-1 MIGRATED to testing (Debian testing watch)
  • [2025-11-24] Accepted mutter 49.2-1 (source) into unstable (Simon McVittie)
  • [2025-11-06] mutter 49.1.1-2 MIGRATED to testing (Debian testing watch)
  • [2025-10-31] Accepted mutter 49.1.1-2 (source) into unstable (Simon McVittie)
  • [2025-10-27] Accepted mutter 49.1.1-1 (source) into experimental (Jeremy Bícha)
  • [2025-10-15] Accepted mutter 49.1-1 (source) into experimental (Simon McVittie)
  • [2025-09-26] Accepted mutter 49.0-3 (source) into experimental (Simon McVittie)
  • [2025-09-21] mutter 48.5-1 MIGRATED to testing (Debian testing watch)
  • [2025-09-18] Accepted mutter 48.5-1 (source) into unstable (Simon McVittie)
  • 1
  • 2
bugs [bug history graph]
  • all: 40
  • RC: 0
  • I&N: 36
  • M&W: 4
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian
  • buildd: logs, exp, reproducibility
  • popcon
  • browse source code
  • other distros
  • screenshots
  • l10n (-, 79)
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 51~beta-1ubuntu2
  • 204 bugs (5 patches)
  • patches for 51~beta-1ubuntu2

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing