glfs/gnome/platform/mutter.xml
Pierre Labastie 3592a6e8ed mutter: change command explanations
We need to have <parameter> for what is used in the meson command.
Also change the test instructions so that it is clear that xvfb-run
needs to be installed before running meson.
2022-01-13 22:02:10 +01:00

281 lines
8.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY mutter-download-http "&gnome-download-http;/mutter/&gnome-41;/mutter-&mutter-version;.tar.xz">
<!ENTITY mutter-download-ftp "&gnome-download-ftp;/mutter/&gnome-41;/mutter-&mutter-version;.tar.xz">
<!ENTITY mutter-md5sum "14325de1366970d28d140feff4f79101">
<!ENTITY mutter-size "2.6 MB">
<!ENTITY mutter-buildsize "176 MB">
<!ENTITY mutter-time "2.2 SBU (Using parallelism=4)">
]>
<sect1 id="mutter" xreflabel="Mutter-&mutter-version;">
<?dbhtml filename="mutter.html"?>
<sect1info>
<date>$Date$</date>
</sect1info>
<title>Mutter-&mutter-version;</title>
<indexterm zone="mutter">
<primary sortas="a-Mutter">Mutter</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Mutter</title>
<para>
<application>Mutter</application> is the window manager for
<application>GNOME</application>. It is not invoked directly,
but from <application>GNOME Session</application> (on a
machine with a hardware accelerated video driver).
</para>
&lfs110a_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&mutter-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&mutter-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &mutter-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &mutter-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &mutter-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &mutter-time;
</para>
</listitem>
</itemizedlist>
<!--
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required download:
<ulink url="&sources-anduin-http;/mutter/xvfb-run"/>
</para>
</listitem>
</itemizedlist>
-->
<bridgehead renderas="sect3">Mutter Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<!-- now using internal shipped clutter and cogl copies -->
<!-- <xref linkend="clutter"/>, -->
<xref linkend="gnome-settings-daemon"/>,
<xref linkend="graphene"/>,
<xref linkend="libxcvt"/>,
<xref linkend="libxkbcommon"/>,
<xref linkend="pipewire"/>, and
<xref linkend="zenity"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="desktop-file-utils"/>,
<xref linkend="gobject-introspection"/>,
<xref linkend="startup-notification"/>, and
<xref linkend="sysprof"/>
</para>
<bridgehead renderas="sect4">Recommended (Required to
build the Wayland compositor)</bridgehead>
<para role="recommended">
<xref linkend="libinput"/>,
<xref linkend="wayland"/>,
<xref linkend="wayland-protocols"/>, and
<xref linkend="xwayland"/>.
Additionally, <xref linkend="gtk3"/> needs to be built with
<application>Wayland</application> support.
</para>
<bridgehead renderas="sect4"
revision="sysv">Recommended (Runtime)</bridgehead>
<para role="recommended" revision="sysv">
<xref linkend="blocaled" role="runtime"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="xorg-server"/> (for X11 sessions)
</para>
<!-- NOTE: Mutter compiles git versions of COGL and Clutter for it's own
internal use. This is because the wayland support upstream isn't advanced
enough for the graphics stack used in Mutter. -->
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/mutter"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Mutter</title>
<!--
<para>
First, install an additional tool that is required by meson as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput remap="pre">install -v -m755 ../xvfb-run /usr/bin</userinput></screen>
-->
<para>
Install <application>Mutter</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
meson --prefix=/usr --buildtype=debugoptimized -Dtests=false .. &amp;&amp;
ninja</userinput></screen>
<!--
<para>
To test the results, issue:
<command>dbus-run-session ninja test</command>. The tests
require an active X session to run correctly. It is not necessary to
run a separate D-bus session if not in a GNOME session, but it
provides a clean environment in any case. One test,
<filename>native-headless</filename>, is known to fail.
</para>
-->
<para>
The test suite requires an external program called
<command>xvfb-run</command>. If you wish to run the tests, you should
download and install it before running <command>meson</command>.
You can obtain it from
<ulink url="&sources-anduin-http;/mutter/xvfb-run">xvfb-run</ulink>, and
install it in <filename class="directory">/usr/bin</filename>.
You should also remove the <parameter>-Dtests=false</parameter> from
the <command>meson</command> command. To run the tests, issue:
<command>dbus-run-session ninja test</command>. Note that the tests
require an active X session to run correctly, and that
<filename>native-headless</filename> is known to fail.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--buildtype=debugoptimized</parameter>: Override the
default buildtype (<quote>debug</quote>), which would produce
unoptimized binaries. The test suite of this package needs debug
to be enabled.
</para>
<para>
<parameter>-Dtests=false</parameter>: Prevents building the tests,
and removes a hard requirement on <command>xvfb-run</command>.
If you wish to run the tests, read the test suite instructions above.
Note that you will need
<ulink url="&sources-anduin-http;/mutter/xvfb-run">xvfb-run</ulink>
installed in <filename class="directory">/usr/bin</filename>.
</para>
<para>
<option>-Dprofiler=false</option>: Use this option if
<application>Sysprof</application> is not installed, and you don't
want meson to download <application>Sysprof</application> source
code.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
mutter
</seg>
<seg>
libmutter-9.so and
libmutter-test-9.so
</seg>
<seg>
/usr/{lib,include,libexec/installed-tests,share/{installed-tests}}/mutter-9
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="mutter-prog">
<term><command>mutter</command></term>
<listitem>
<para>
is a <application>Clutter</application> based compositing
<application>GTK+</application> Window Manager
</para>
<indexterm zone="mutter mutter-prog">
<primary sortas="b-mutter">mutter</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libmutter">
<term><filename class="libraryfile">libmutter-9.so</filename></term>
<listitem>
<para>
contains the <application>Mutter</application> API functions
</para>
<indexterm zone="mutter libmutter">
<primary sortas="c-libmutter">libmutter-9.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>