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-47.2,
graphene-1.10.8, libei-1.3.0, libxcvt-0.1.3, libxkbcommon-1.7.0, and pipewire-1.2.7
Recommended
desktop-file-utils-0.28, GLib-2.82.4 (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.39, and Xwayland-24.1.4
Recommended (Runtime)
blocaled-0.7
Optional
dbusmock-0.34.2 (required for tests),
Xorg-Server-21.1.15 (for X11 sessions),
sysprof, Xvfb (from Xorg-Server-21.1.15 or Xwayland-24.1.4), 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 clutter_tests=false \
-D profiler=false \
.. &&
ninja
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
Now run the test suite:
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.
Command Explanations
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-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
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 enabled and it is
needed by gnome-shell
test suite
|