source: gnome/platform/mutter.xml@ 920e139

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 920e139 was 0b4d98d, checked in by Douglas R. Reno <renodr@…>, 10 months ago

Archive sysprof.

It's optional for the packages that use it, and they only use it to
provide additional support for profiling.

Sysprof now requires two more packages which are specific to it, so
let's archive it.

  • Property mode set to 100644
File size: 12.2 KB
RevLine 
[2e704d1b]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[463b544e]7 <!ENTITY mutter-download-http "&gnome-download-http;/mutter/&gnome-44;/mutter-&mutter-version;.tar.xz">
8 <!ENTITY mutter-download-ftp "&gnome-download-ftp;/mutter/&gnome-44;/mutter-&mutter-version;.tar.xz">
[7d53a90]9 <!ENTITY mutter-md5sum "985f14046cbff834f5f7ba4e1bce4bad">
[e792566]10 <!ENTITY mutter-size "2.7 MB">
11 <!ENTITY mutter-buildsize "99 MB (with tests)">
[7d53a90]12 <!ENTITY mutter-time "0.6 SBU (Using parallelism=4; add 1.4 SBU for tests)">
[2e704d1b]13]>
14
[51dfb3e]15<sect1 id="mutter" xreflabel="Mutter-&mutter-version;">
[2e704d1b]16 <?dbhtml filename="mutter.html"?>
17
18
19 <title>Mutter-&mutter-version;</title>
20
21 <indexterm zone="mutter">
22 <primary sortas="a-Mutter">Mutter</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Mutter</title>
27
28 <para>
29 <application>Mutter</application> is the window manager for
30 <application>GNOME</application>. It is not invoked directly,
31 but from <application>GNOME Session</application> (on a
32 machine with a hardware accelerated video driver).
33 </para>
34
[c71450c]35 &lfs120_checked;
[2e704d1b]36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&mutter-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&mutter-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &mutter-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &mutter-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &mutter-buildsize;
62 </para>
63 </listitem>
[e792566]64 <listitem>
[2e704d1b]65 <para>
66 Estimated build time: &mutter-time;
67 </para>
68 </listitem>
69 </itemizedlist>
[e1d37d8]70
[2e704d1b]71 <bridgehead renderas="sect3">Mutter Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
[5d1a066]75 <xref linkend="gnome-settings-daemon"/>,
[2c80efe]76 <xref linkend="graphene"/>,
[88e7954]77 <xref linkend="libxcvt"/>,
[e1d37d8]78 <xref linkend="libxkbcommon"/>, and
79 <xref linkend="pipewire"/>
[2e704d1b]80 </para>
81
82 <bridgehead renderas="sect4">Recommended</bridgehead>
83 <para role="recommended">
[078db5b6]84 <xref linkend="desktop-file-utils"/>,
[d37d7c5]85 <xref linkend="gobject-introspection"/>, and
86 <xref linkend="startup-notification"/>
[2e704d1b]87 </para>
88
89 <bridgehead renderas="sect4">Recommended (Required to
90 build the Wayland compositor)</bridgehead>
91 <para role="recommended">
92 <xref linkend="libinput"/>,
[8558044]93 <xref linkend="wayland"/>,
[2e704d1b]94 <xref linkend="wayland-protocols"/>, and
[7d53a90]95 <xref linkend="xwayland"/>
[2e704d1b]96 </para>
97
[2126b9e]98 <bridgehead renderas="sect4"
99 revision="sysv">Recommended (Runtime)</bridgehead>
100 <para role="recommended" revision="sysv">
101 <xref linkend="blocaled" role="runtime"/>
102 </para>
103
[88e7954]104 <bridgehead renderas="sect4">Optional</bridgehead>
105 <para role="optional">
[1760143]106 <xref linkend="python-dbusmock"/> (required for tests),
[0b4d98d]107 <!--<xref linkend="sysprof"/>,-->
108 <xref linkend="xorg-server"/> (for X11 sessions), and
109 <ulink url="&sysprof-url;">sysprof</ulink>
[88e7954]110 </para>
111
[460609c]112 <!-- NOTE: Mutter compiles shipped Cogl and Clutter for it's own
[e792566]113 internal use. This is because upstream have decided that Cogl and
[460609c]114 Clutter should be only used by Mutter in the future, so the development
115 of Cogl and Clutter is now performed in the Mutter repository. The
[e792566]116 "standalone" Cogl and Clutter are considered obsolete now and we have
117 archived them. -->
[0129a2f5]118
[2e704d1b]119 </sect2>
120
121 <sect2 role="installation">
122 <title>Installation of Mutter</title>
[1a8fb18]123
[2e704d1b]124 <para>
125 Install <application>Mutter</application> by running the following
126 commands:
127 </para>
128
[dcea4e3]129<screen><userinput>mkdir build &amp;&amp;
[77fb6ffc]130cd build &amp;&amp;
[dcea4e3]131
[91318eb]132meson setup --prefix=/usr \
[463b544e]133 --buildtype=release \
[91318eb]134 -Dtests=false \
[d37d7c5]135 -Dprofiler=false \
[91318eb]136 .. &amp;&amp;
[dcea4e3]137ninja</userinput></screen>
[2e704d1b]138
[477bc4a]139<!--
[2e704d1b]140 <para>
[74db4f4]141 To test the results, issue:
142 <command>dbus-run-session ninja test</command>. The tests
143 require an active X session to run correctly. It is not necessary to
144 run a separate D-bus session if not in a GNOME session, but it
[1a8fb18]145 provides a clean environment in any case. One test,
146 <filename>native-headless</filename>, is known to fail.
[2e704d1b]147 </para>
[477bc4a]148 -->
[ac60f17f]149 <!-- there are no added problems in sysv, AFAICT. Running the tests is
150 not easy whatever the init system. But using the instructions below in
151 a gnome session on sysv works (no test failure)...
[8b152256]152 <para revision='sysv'>
[15d6673a]153 This package does not come with a test suite that runs properly in the
[8b152256]154 SystemV environment.
[477bc4a]155 </para>
[ac60f17f]156 -->
[afea77c]157
[ac60f17f]158 <para>
[460609c]159 The test suite requires an
[8b152256]160 external program called <command>xvfb-run</command>. If you wish to run
161 the tests, you should download and install it before running
162 <command>meson</command>.
[1fe05eb]163
[8b152256]164 You can obtain it from <ulink
165 url="&sources-anduin-http;/mutter/xvfb-run">xvfb-run</ulink>, and install
166 it with executable permissions in <filename
167 class="directory">/usr/bin</filename>. <command>xvfb-run</command> needs
168 <command>Xvfb</command> at runtime, and <command>Xvfb</command> can be
169 installed from either <xref linkend='xorg-server'/> or <xref
170 linkend='xwayland'/>.
[1fe05eb]171
[3fbdcfc]172 You should also replace <parameter>-Dtests=false</parameter> in the
173 <command>meson</command> command, with
[460609c]174 <parameter>-Dtests=true -Dclutter_tests=false</parameter>. The test
[8b152256]175 suite requires the mutter schema to be installed on the system, so it is
[ac60f17f]176 better to run the tests after installing the package.
177 </para>
[8b152256]178
[afea77c]179 <para>
180 You can also test basic functions of <application>Mutter</application>
181 following <xref linkend='mutter-starting'/>, after installing it.
182 </para>
183
[2e704d1b]184 <para>
185 Now, as the <systemitem class="username">root</systemitem> user:
186 </para>
187
[dcea4e3]188<screen role="root"><userinput>ninja install</userinput></screen>
[2e704d1b]189
[e3c278d]190 <para>
191 If you wish to run the tests, remove the reference to
192 <application>Zenity</application> which is not a part of BLFS
193 from one test:
194 </para>
195
[460609c]196<screen role='test'><userinput>sed 's/zenity --[a-z]*/gtk4-demo/' -i ../src/tests/x11-test.sh</userinput></screen>
[e3c278d]197
198 <para>
199 Now run the test suite:
200 </para>
201
[1760143]202 <!-- Without "HOME=" one test can fail with certain monitor
203 configuration in $HOME/.config/monitors.xml. -->
[e3c278d]204<screen role='test'><userinput>HOME= ninja test</userinput></screen>
205
[ac60f17f]206 <para>
[e3c278d]207 The tests require an active X or wayland session.
[ca6a44f4]208 Two tests named
[460609c]209 <!-- https://gitlab.gnome.org/GNOME/mutter/-/issues/2848 -->
[ca6a44f4]210 <filename>cogl-test-framebuffer-get-bits-gl3</filename> and
211 <!-- This needs a pipewire daemon running. As at Aug 2023
212 the method to run a pipewire daemon is not in BLFS
213 (but in editor notes), so claim this a known failure. -->
214 <filename>native-unit</filename> are known to fail.
215 A few other tests may fail depending on the configuration.
[1760143]216 Don't make any mouse or keyboard input while the test suite is
217 running or some tests may fail.
[34726a0]218 </para>
[460609c]219
[2e704d1b]220 </sect2>
221
[adf17153]222 <sect2 role="commands">
223 <title>Command Explanations</title>
224
[69f58f5e]225 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
226 href="../../xincludes/meson-buildtype-release.xml"/>
[463b544e]227
[3592a6e]228 <para>
229 <parameter>-Dtests=false</parameter>: Prevents building the tests,
[185b3090]230 and removes a hard requirement on <command>xvfb-run</command>.
[3592a6e]231 </para>
232
[1ff2d21]233 <para>
[d37d7c5]234 <parameter>-Dprofiler=false</parameter>: Allow building this package
235 without <application>Sysprof</application>. Remove this option if
236 you've installed <application>Sysprof</application> and want to
237 analysis the rendering performance of
238 <application>Mutter</application>.
[1ff2d21]239 </para>
[477bc4a]240
[460609c]241 <para>
[e792566]242 <option>-Dtests=true -Dclutter_tests=false</option>: Building all the
[460609c]243 tests but the tests for the shipped <application>Clutter</application>
244 library. The <application>Clutter</application> tests are known to
245 fail with <option>--buildtype=release</option>.
246 </para>
247
[adf17153]248 </sect2>
249
[afea77c]250 <sect2 role="starting" id="mutter-starting">
251 <title>Starting Mutter</title>
252
[460609c]253 <!-- Mutter as a Wayland compositor works with recent mutter releases.
[afea77c]254 IIRC mutter can also be used as a X window manager: just replace
255 "twm" with "mutter &dash;&dash;x11" in xinitrc. But I've not tested
256 such a configuration recently (I don't build Xorg Server or xinit
257 these days. -->
258
259 <para>
260 <application>Mutter</application> is normally used as a component of
261 <application>gnome-shell</application>, but it can be used as a
262 standalone Wayland compositor too. To run
263 <application>Mutter</application> as a Wayland compositor, in a
264 virtual console, issue:
265 </para>
266
267 <screen role='nodump'><userinput>mutter --wayland -- vte-2.91</userinput></screen>
268
269 <para>
270 Replace <command>vte-2.91</command> with the command line for the
271 first application you want in the Wayland session. Note that once this
272 application exits, the Wayland session will be terminated.
273 </para>
274
275 <para>
276 <application>Mutter</application> can also function as a nested
277 compositor in another Wayland session. In a terminal emulator, issue:
278 </para>
279
280 <screen role='nodump'><userinput>MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080 mutter --wayland --nested -- vte-2.91</userinput></screen>
281
282 <para>
283 Replace <replaceable>1920x1080</replaceable> with the size you want
284 for the nested Wayland session.
285 </para>
286 </sect2>
287
[2e704d1b]288 <sect2 role="content">
289 <title>Contents</title>
290
291 <segmentedlist>
292 <segtitle>Installed Programs</segtitle>
293 <segtitle>Installed Libraries</segtitle>
294 <segtitle>Installed Directories</segtitle>
295
296 <seglistitem>
297 <seg>
298 mutter
299 </seg>
300 <seg>
[460609c]301 libmutter-12.so and libmutter-test-12.so (optional)
[2e704d1b]302 </seg>
303 <seg>
[463b544e]304 /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-12
[2e704d1b]305 </seg>
306 </seglistitem>
307 </segmentedlist>
308
309 <variablelist>
310 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
311 <?dbfo list-presentation="list"?>
312 <?dbhtml list-presentation="table"?>
313
314 <varlistentry id="mutter-prog">
315 <term><command>mutter</command></term>
316 <listitem>
317 <para>
318 is a <application>Clutter</application> based compositing
[4c24eb0a]319 <application>GTK+</application> Window Manager
[2e704d1b]320 </para>
321 <indexterm zone="mutter mutter-prog">
322 <primary sortas="b-mutter">mutter</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="libmutter">
[463b544e]328 <term><filename class="libraryfile">libmutter-12.so</filename></term>
[2e704d1b]329 <listitem>
330 <para>
[4c24eb0a]331 contains the <application>Mutter</application> API functions
[2e704d1b]332 </para>
333 <indexterm zone="mutter libmutter">
[463b544e]334 <primary sortas="c-libmutter">libmutter-12.so</primary>
[2e704d1b]335 </indexterm>
336 </listitem>
337 </varlistentry>
338
[460609c]339 <varlistentry id="libmutter-test">
340 <term><filename class="libraryfile">libmutter-test-12.so</filename></term>
341 <listitem>
342 <para>
343 contains the <application>Mutter</application> test suite API
344 functions; this library is only installed if the test suite of
345 this package is enabled and it is needed by
346 <application>gnome-shell</application> test suite
347 </para>
348 <indexterm zone="mutter libmutter-test">
349 <primary sortas="c-libmutter-test">libmutter-test-12.so</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353
[2e704d1b]354 </variablelist>
355
356 </sect2>
357
358</sect1>
Note: See TracBrowser for help on using the repository browser.