Mutter-45.1
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).
Note
Development versions of BLFS may not build or run
some packages properly if LFS or dependencies have been updated
since the most recent stable versions of the books.
Package Information
Mutter Dependencies
Required
gnome-settings-daemon-45.0,
graphene-1.10.8,
libei-1.1.0,
libxcvt-0.1.2,
libxkbcommon-1.6.0, and
pipewire-1.0.0
Recommended
desktop-file-utils-0.27,
gobject-introspection-1.78.1, and
startup-notification-0.12
Recommended (Required to
build the Wayland compositor)
libinput-1.24.0,
Wayland-1.22.0,
wayland-protocols-1.32, and
Xwayland-23.2.2
Optional
dbusmock-0.29.1 (required for tests),
Xorg-Server-21.1.9 (for X11 sessions), and
sysprof
Installation of Mutter
Install Mutter by running the following
commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dtests=false \
-Dprofiler=false \
.. &&
ninja
The test suite requires 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.9 or Xwayland-23.2.2.
You should also replace -Dtests=false
in the
meson command, with
-Dtests=true -Dclutter_tests=false
. 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]*/gtk4-demo/' -i ../src/tests/x11-test.sh
Now run the test suite:
ninja test
The tests require an active X or wayland session.
One test named
input-capture
is known to fail.
A few other tests may fail depending on the configuration.
Don't make any mouse or keyboard input while the test suite is
running or some tests may fail.
Command Explanations
--buildtype=release
: Specify a buildtype
suitable for stable releases of the package, as the default may
produce unoptimized binaries.
-Dtests=false
: Prevents building the tests,
and removes a hard requirement on xvfb-run.
-Dprofiler=false
: Allow building this package
without Sysprof. Remove this option if
you've installed Sysprof and want to
analysis the rendering performance of
Mutter.
-Dtests=true -Dclutter_tests=false
: Building all the
tests but the tests for the shipped Clutter
library. The Clutter tests are known to
fail with --buildtype=release
.
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-13.so and libmutter-test-13.so (optional)
Installed Directories:
/usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-13
Short Descriptions
mutter |
is a Clutter based compositing
GTK+ Window Manager
|
libmutter-13.so
|
contains the Mutter API functions
|
libmutter-test-13.so
|
contains the Mutter test suite API
functions; this library is only installed if the test suite of
this package is enabled and it is needed by
gnome-shell test suite
|