#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 33. GNOME Libraries and Desktop

- Prev

  gnome-control-center-47.4

- Next

  gnome-shell-47.4

- Up
- Home

# Mutter-47.5

## Introduction to Mutter

Mutter is the window manager for GNOME. It is not invoked directly, but from GNOME Session (on a machine with a hardware accelerated video driver).

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://download.gnome.org/sources/mutter/47/mutter-47.5.tar.xz

- Download MD5 sum: c899a4fed30ce1a99f0e17567b59cfb9

- Download size: 6.5 MB

- Estimated disk space required: 72 MB (with tests)

- Estimated build time: 0.5 SBU (Using parallelism=4; add 1.4 SBU for tests)

### Mutter Dependencies

#### Required

gnome-settings-daemon-47.2, graphene-1.10.8, libei-1.3.0, libxcvt-0.1.3, libxkbcommon-1.8.0, and pipewire-1.2.7

#### Recommended

desktop-file-utils-0.28, GLib-2.82.5 (with GObject Introspection), libdisplay-info-0.2.0, and startup-notification-0.12

#### Recommended (Required to build the Wayland compositor)

libinput-1.27.1, Wayland-1.23.0, wayland-protocols-1.40, and Xwayland-24.1.6

#### Recommended (Runtime)

blocaled-0.7

#### Optional

dbusmock-0.34.3 (required for tests), Xorg-Server-21.1.16 (for X11 sessions), sysprof, Xvfb (from Xorg-Server-21.1.16 or Xwayland-24.1.6), xvfb-run, and zenity (the X11 tests would only run with all of the last three)

## Installation of Mutter

Install Mutter by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup --prefix=/usr       \
                --buildtype=release \
                -D tests=disabled   \
                -D profiler=false   \
                ..                  &&
    ninja

If you want to run the test suite, ensure dbusmock-0.34.3 is installed and issue:

    meson configure -D tests=enabled -D clutter_tests=false &&
    ninja test

The tests require an active X or wayland session. Some tests are flaky (especially under a high system load) so if a test fails you can try to re-run it alone with the meson test `<test name>` command. A few tests may fail depending on some system configuration. Don't make any mouse or keyboard input while the test suite is running or some tests may fail. You can also test basic functions of Mutter following the section called “Starting Mutter,” after installing it.

Now, as the `root` user:

    ninja install

## Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

`-D tests=disabled`: Allow building the package without dbusmock-0.34.3 installed. It'll be overridden with meson configure if running the test suite.

`-D clutter_tests=false`: Disable the tests for the shipped Clutter library. The Clutter tests are known to fail with `--buildtype=release`.

`-D profiler=false`: Allows building this package without Sysprof. Remove this option if you've installed Sysprof and want to analyze the rendering performance of Mutter.

`-D libdisplay_info=disabled`: This allows building this package without libdisplay-info-0.2.0 installed.

## Starting Mutter

Mutter is normally used as a component of gnome-shell, but it can be used as a standalone Wayland compositor too. To run Mutter as a Wayland compositor, in a virtual console, issue:

    mutter --wayland -- vte-2.91

Replace vte-2.91 with the command line for the first application you want in the Wayland session. Note that once this application exits, the Wayland session will be terminated.

Mutter can also function as a nested compositor in another Wayland session. In a terminal emulator, issue:

    MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080 mutter --wayland --nested -- vte-2.91

Replace `1920x1080` with the size you want for the nested Wayland session.

## Contents

Installed Programs: mutter
Installed Libraries: libmutter-15.so and libmutter-test-15.so (optional)
Installed Directories: /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-15

### Short Descriptions

mutter | is a Clutter based compositing GTK+ Window Manager
`libmutter-15.so` | contains the Mutter API functions
`libmutter-test-15.so` | contains the Mutter test suite API functions; this library is only installed if the test suite of this package is run and it is needed by the gnome-shell test suite

- Prev

  gnome-control-center-47.4

- Next

  gnome-shell-47.4

- Up
- Home