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 11.3 platform.
Download (HTTP): https://download.gnome.org/sources/mutter/43/mutter-43.3.tar.xz
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/mutter/43/mutter-43.3.tar.xz
Download MD5 sum: aba8f5170a27fe7d24f07a3b2fdf2725
Download size: 2.7 MB
Estimated disk space required: 151 MB (without tests)
Estimated build time: 0.6 SBU (Using parallelism=4, add 1.0 SBU for tests)
gnome-settings-daemon-43.0, graphene-1.10.8, libxcvt-0.1.2, libxkbcommon-1.5.0, and pipewire-0.3.66
desktop-file-utils-0.26, gobject-introspection-1.74.0, startup-notification-0.12, and sysprof-3.46.0
libinput-1.22.1, Wayland-1.21.0, wayland-protocols-1.31, and Xwayland-22.1.8. Additionally, GTK+-3.24.36 needs to be built with Wayland support.
dbusmock-0.28.7 (required for tests), Xorg-Server-21.1.7 (for X11 sessions)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/mutter
Install Mutter by running the following commands:
mkdir build && cd build && meson --prefix=/usr --buildtype=debugoptimized -Dtests=false .. && ninja
The test suite requires debug functions to be enabled in the build,
and an external program called xvfb-run. If you wish to run the
tests, you should download and install it before running
meson. You can obtain
it from xvfb-run,
and install it with executable permissions in /usr/bin
. xvfb-run needs Xvfb at runtime, and Xvfb can be installed from either
Xorg-Server-21.1.7 or Xwayland-22.1.8. You should also replace
-Dtests=false
in the
meson command, with
-Dtests=true
. The test
suite requires the mutter schema to be installed on the system, so
it is better to run the tests after installing the package.
You can also test basic functions of Mutter following the section called “Starting Mutter”, after installing it.
Now, as the root
user:
ninja install
If you wish to run the tests, remove the reference to Zenity which is not a part of BLFS from one test:
sed 's/zenity --[a-z]*/gtk3-demo/' -i ../src/tests/x11-test.sh
Now run the test suite:
HOME= ninja test
The tests require an active X or wayland session. The native-unit
test is known to fail. A lot of tests
will fail if the opengl rendering is not done in hardware. Don't
make any mouse or keyboard input while the test suite is running or
some tests may fail.
--buildtype=debugoptimized
:
Override the default buildtype (“debug”),
which would produce unoptimized binaries. It's used instead of
--buildtype=release
to work around an
issue causing gnome-shell to crash.
-Dtests=false
: Prevents
building the tests, and removes a hard requirement on xvfb-run.
-Dprofiler=false
: Use this option if
Sysprof is not installed, and you
don't want meson to download Sysprof source code.
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.