Generated by GPT-5-mini| Mutter (window manager) | |
|---|---|
| Name | Mutter |
| Title | Mutter (window manager) |
| Developer | GNOME Project |
| Released | 2007 |
| Programming language | C, C++ |
| Operating system | Linux, BSD |
| License | GNU Lesser General Public License |
Mutter (window manager) Mutter is a compositor and window manager initially developed for the GNOME Project's GNOME Shell and later adopted by several Linux and BSD desktop environments. It combines a compositing manager with a window manager built on Clutter (software) and GTK, providing hardware-accelerated rendering and Wayland support. Mutter serves as a core component in desktop stacks such as GNOME, and interacts with display servers, drivers, and toolkits to manage windows, compositing, and input.
Mutter originated as a replacement for traditional stacking managers used by GNOME 2 and was designed to support compositing effects for GNOME Shell in GNOME 3. It integrates with display protocols such as X.Org Server and Wayland and works alongside projects like Mesa (software) and X.Org Foundation. Developers from organizations including Red Hat, Canonical (company), SUSE, and contributors associated with Freedesktop.org have influenced its roadmap. Mutter's role is analogous to other compositors like Muffin (software), KWin, and Compton (software), while leveraging libraries such as GObject and GLib.
Mutter's architecture combines a scene graph renderer, input handling, and window management logic. The renderer historically relied on Clutter (software) for scene graph abstractions and used OpenGL via GLX or EGL provided by Mesa (software) and vendor drivers from NVIDIA or Intel Corporation. For Wayland, Mutter includes a Wayland compositor implementation conforming to Wayland (protocol), using protocols defined by wayland-protocols and cooperating with libinput for input devices. Key components include the shell integration for GNOME Shell, window actors, buffer management using Shared memory and DRM interfaces, and extensions to XWayland for X11 client compatibility. Mutter exposes APIs through libraries used by projects such as GNOME Control Center and GNOME Settings Daemon.
Mutter provides window compositing, desktop effects, window tiling and stacking policies, and input focus models used by GNOME Shell, Mutter-based desktops, and extensions from projects like GNOME Extensions. It supports dynamic monitor configuration via RANDR on X.Org and KMS on Wayland, multi-seat setups relevant to systemd, and touch and tablet input from devices supported in libinput and evdev. Accessibility integrations involve components such as AT-SPI and assistive technologies like Orca (software). Mutter accommodates high-DPI displays using scaling features adopted by GTK and Xft, and supports drag-and-drop, clipboard coordination with Selection (X Window System), and window decorations when cooperating with client-side decoration toolkits like GTK+ and Qt.
Mutter was created by developers including contributors associated with the GNOME Foundation to provide a modern compositor for GNOME 3, replacing the previous Metacity manager. Its evolution involved upstream collaboration with projects such as Clutter (software), and it has seen contributions from engineers at Red Hat, Canonical (company), and community contributors coordinated through platforms like GitLab and mailing lists hosted by GNOME. Major milestones include the adoption of Wayland support in response to Wayland (protocol) development, integration with Mutter-based shells in GNOME Shell releases, and ongoing refactors to reduce dependencies on Clutter while leveraging libwnck and lower-level graphics APIs. Security and stability fixes have been tracked through issue trackers and coordinated with distribution maintainers from Debian, Fedora Project, and Arch Linux.
Mutter is integrated as the default compositor in GNOME Shell and is packaged by distributions such as Fedora Linux, Ubuntu, Debian, openSUSE, and community spins including Pop!_OS. Desktop environments or shells can reuse Mutter or forks like Muffin (software) used by Cinnamon (desktop environment). System integrators combine Mutter with display servers (X.Org Server or Wayland (protocol)), compositor helpers like XWayland, and input stacks including libinput and evdev. Administrators interact with Mutter indirectly via configuration tools such as GNOME Control Center and extension frameworks like GNOME Extensions, while developers utilize debugging tools including gdb, Valgrind, and graphics debuggers from Intel Corporation and NVIDIA.
Mutter's performance depends on graphics drivers, kernel components such as Linux kernel, and rendering stacks like Mesa (software). On systems with mature drivers from vendors like Intel Corporation and AMD, Mutter delivers smooth animations and low-latency input; on systems relying on proprietary drivers or poor EGL implementations, users have reported tearing, high CPU usage, or latency that prompted comparisons with KWin and standalone compositors like Compton (software). Critics have highlighted complexity in configuration compared to legacy managers like Metacity and challenges during the transition from X11 to Wayland that affected compositors, display servers and applications including X.Org Server clients. Ongoing development aims to address performance regressions and increase robustness through collaboration with driver vendors and distributions such as Fedora Project and Canonical (company).
Category:GNOME Category:Compositors Category:Linux window managers