source: gnome/platform/mutter.xml@ 3f2db3a6

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 3f2db3a6 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

  • Property mode set to 100644
File size: 11.6 KB
Line 
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
7 <!ENTITY mutter-download-http "&gnome-download-http;/mutter/&gnome-42;/mutter-&mutter-version;.tar.xz">
8 <!ENTITY mutter-download-ftp "&gnome-download-ftp;/mutter/&gnome-42;/mutter-&mutter-version;.tar.xz">
9 <!ENTITY mutter-md5sum "18b6f716ba0f6b899ed2edb08ab4ca68">
10 <!ENTITY mutter-size "2.6 MB">
11 <!ENTITY mutter-buildsize "130 MB (without tests)">
12 <!ENTITY mutter-time "0.5 SBU (Using parallelism=4)">
13 <!ENTITY mutter-time-systemd "0.5 SBU (Using parallelism=4, add 1.0 SBU for tests)">
14]>
15
16<sect1 id="mutter" xreflabel="Mutter-&mutter-version;">
17 <?dbhtml filename="mutter.html"?>
18
19
20 <title>Mutter-&mutter-version;</title>
21
22 <indexterm zone="mutter">
23 <primary sortas="a-Mutter">Mutter</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Mutter</title>
28
29 <para>
30 <application>Mutter</application> is the window manager for
31 <application>GNOME</application>. It is not invoked directly,
32 but from <application>GNOME Session</application> (on a
33 machine with a hardware accelerated video driver).
34 </para>
35
36 &lfs112_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&mutter-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&mutter-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &mutter-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &mutter-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &mutter-buildsize;
63 </para>
64 </listitem>
65 <listitem revision='sysv'>
66 <para>
67 Estimated build time: &mutter-time;
68 </para>
69 </listitem>
70 <listitem revision='systemd'>
71 <para>
72 Estimated build time: &mutter-time-systemd;
73 </para>
74 </listitem>
75 </itemizedlist>
76 <!--
77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing="compact">
79 <listitem>
80 <para>
81 Recommended patch:
82 <ulink url="&patch-root;/mutter-&mutter-version;-consolidated_fixes-1.patch"/>
83 </para>
84 </listitem>
85 </itemizedlist>
86 -->
87 <bridgehead renderas="sect3">Mutter Dependencies</bridgehead>
88
89 <bridgehead renderas="sect4">Required</bridgehead>
90 <para role="required">
91 <!-- now using internal shipped clutter and cogl copies -->
92 <!-- <xref linkend="clutter"/>, -->
93 <xref linkend="gnome-settings-daemon"/>,
94 <xref linkend="graphene"/>,
95 <xref linkend="libxcvt"/>,
96 <xref linkend="libxkbcommon"/>,
97 <xref linkend="pipewire"/>, and
98 <xref linkend="zenity"/>
99 </para>
100
101 <bridgehead renderas="sect4">Recommended</bridgehead>
102 <para role="recommended">
103 <xref linkend="desktop-file-utils"/>,
104 <xref linkend="gobject-introspection"/>,
105 <xref linkend="startup-notification"/>, and
106 <xref linkend="sysprof"/>
107 </para>
108
109 <bridgehead renderas="sect4">Recommended (Required to
110 build the Wayland compositor)</bridgehead>
111 <para role="recommended">
112 <xref linkend="libinput"/>,
113 <xref linkend="wayland"/>,
114 <xref linkend="wayland-protocols"/>, and
115 <xref linkend="xwayland"/>.
116 Additionally, <xref linkend="gtk3"/> needs to be built with
117 <application>Wayland</application> support.
118 </para>
119
120 <bridgehead renderas="sect4"
121 revision="sysv">Recommended (Runtime)</bridgehead>
122 <para role="recommended" revision="sysv">
123 <xref linkend="blocaled" role="runtime"/>
124 </para>
125
126 <bridgehead renderas="sect4">Optional</bridgehead>
127 <para role="optional">
128 <xref linkend="python-dbusmock"/> (required for tests) and
129 <xref linkend="xorg-server"/> (for X11 sessions)
130 </para>
131
132 <!-- NOTE: Mutter compiles git versions of COGL and Clutter for it's own
133 internal use. This is because the wayland support upstream isn't advanced
134 enough for the graphics stack used in Mutter. -->
135
136 <para condition="html" role="usernotes">User Notes:
137 <ulink url="&blfs-wiki;/mutter"/>
138 </para>
139
140 </sect2>
141
142 <sect2 role="installation">
143 <title>Installation of Mutter</title>
144 <!--
145 <para>
146 First, apply a patch that fixes annoying bugs found after GNOME 42
147 release:
148 </para>
149
150<screen><userinput>patch -Np1 -i ../mutter-&mutter-version;-consolidated_fixes-1.patch</userinput></screen>
151-->
152 <para>
153 Install <application>Mutter</application> by running the following
154 commands:
155 </para>
156
157<screen><userinput>mkdir build &amp;&amp;
158cd build &amp;&amp;
159
160meson --prefix=/usr --buildtype=debugoptimized -Dtests=false .. &amp;&amp;
161ninja</userinput></screen>
162
163<!--
164 <para>
165 To test the results, issue:
166 <command>dbus-run-session ninja test</command>. The tests
167 require an active X session to run correctly. It is not necessary to
168 run a separate D-bus session if not in a GNOME session, but it
169 provides a clean environment in any case. One test,
170 <filename>native-headless</filename>, is known to fail.
171 </para>
172 -->
173 <!-- there are no added problems in sysv, AFAICT. Running the tests is
174 not easy whatever the init system. But using the instructions below in
175 a gnome session on sysv works (no test failure)...
176 <para revision='sysv'>
177 This package does not come with a test suite that runs properly in the
178 SystemV environment.
179 </para>
180 -->
181
182 <para>
183 The test suite requires debug functions to be enabled in the build, and an
184 external program called <command>xvfb-run</command>. If you wish to run
185 the tests, you should download and install it before running
186 <command>meson</command>.
187
188 You can obtain it from <ulink
189 url="&sources-anduin-http;/mutter/xvfb-run">xvfb-run</ulink>, and install
190 it with executable permissions in <filename
191 class="directory">/usr/bin</filename>. <command>xvfb-run</command> needs
192 <command>Xvfb</command> at runtime, and <command>Xvfb</command> can be
193 installed from either <xref linkend='xorg-server'/> or <xref
194 linkend='xwayland'/>.
195
196 You should also replace <parameter>-Dtests=false</parameter> in the
197 <command>meson</command> command, with
198 <parameter>-Dtests=true</parameter>. The test
199 suite requires the mutter schema to be installed on the system, so it is
200 better to run the tests after installing the package.
201 </para>
202
203 <para>
204 You can also test basic functions of <application>Mutter</application>
205 following <xref linkend='mutter-starting'/>, after installing it.
206 </para>
207
208 <para>
209 Now, as the <systemitem class="username">root</systemitem> user:
210 </para>
211
212<screen role="root"><userinput>ninja install</userinput></screen>
213
214 <para>
215 The tests can now be run: issue
216 <command>ninja test</command>. The tests
217 require an active X or wayland session.
218 The <filename>native-unit</filename> is known to fail.
219 A lot of tests will fail if the opengl rendering is not done in hardware.
220 </para>
221 </sect2>
222
223 <sect2 role="commands">
224 <title>Command Explanations</title>
225
226 <!-- https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5512
227 If debug is disabled, the "assertion 'CLUTTER_IS_ACTOR (self)'
228 failed" message will turn into a crash. Enabling debug is just a
229 work around, it's not a proper fix. -->
230 <para>
231 <parameter>--buildtype=debugoptimized</parameter>: Override the
232 default buildtype (<quote>debug</quote>), which would produce
233 unoptimized binaries. It's used instead of
234 <option>--buildtype=release</option> to work around an issue
235 causing gnome-shell to crash.
236 </para>
237<!--
238 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
239 href="../../xincludes/meson-buildtype-release.xml"/>
240-->
241 <para>
242 <parameter>-Dtests=false</parameter>: Prevents building the tests,
243 and removes a hard requirement on <command>xvfb-run</command>.
244 </para>
245
246 <para>
247 <option>-Dprofiler=false</option>: Use this option if
248 <application>Sysprof</application> is not installed, and you don't
249 want meson to download <application>Sysprof</application> source
250 code.
251 </para>
252
253 </sect2>
254
255 <sect2 role="starting" id="mutter-starting">
256 <title>Starting Mutter</title>
257
258 <!-- Mutter as a Wayland compositor Works with mutter-42.4 and 43.0.
259 IIRC mutter can also be used as a X window manager: just replace
260 "twm" with "mutter &dash;&dash;x11" in xinitrc. But I've not tested
261 such a configuration recently (I don't build Xorg Server or xinit
262 these days. -->
263
264 <para>
265 <application>Mutter</application> is normally used as a component of
266 <application>gnome-shell</application>, but it can be used as a
267 standalone Wayland compositor too. To run
268 <application>Mutter</application> as a Wayland compositor, in a
269 virtual console, issue:
270 </para>
271
272 <screen role='nodump'><userinput>mutter --wayland -- vte-2.91</userinput></screen>
273
274 <para>
275 Replace <command>vte-2.91</command> with the command line for the
276 first application you want in the Wayland session. Note that once this
277 application exits, the Wayland session will be terminated.
278 </para>
279
280 <para>
281 <application>Mutter</application> can also function as a nested
282 compositor in another Wayland session. In a terminal emulator, issue:
283 </para>
284
285 <screen role='nodump'><userinput>MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080 mutter --wayland --nested -- vte-2.91</userinput></screen>
286
287 <para>
288 Replace <replaceable>1920x1080</replaceable> with the size you want
289 for the nested Wayland session.
290 </para>
291 </sect2>
292
293 <sect2 role="content">
294 <title>Contents</title>
295
296 <segmentedlist>
297 <segtitle>Installed Programs</segtitle>
298 <segtitle>Installed Libraries</segtitle>
299 <segtitle>Installed Directories</segtitle>
300
301 <seglistitem>
302 <seg>
303 mutter
304 </seg>
305 <seg>
306 libmutter-10.so
307 </seg>
308 <seg>
309 /usr/{lib,include,libexec/installed-tests,share/{,installed-tests}}/mutter-10
310 </seg>
311 </seglistitem>
312 </segmentedlist>
313
314 <variablelist>
315 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
316 <?dbfo list-presentation="list"?>
317 <?dbhtml list-presentation="table"?>
318
319 <varlistentry id="mutter-prog">
320 <term><command>mutter</command></term>
321 <listitem>
322 <para>
323 is a <application>Clutter</application> based compositing
324 <application>GTK+</application> Window Manager
325 </para>
326 <indexterm zone="mutter mutter-prog">
327 <primary sortas="b-mutter">mutter</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="libmutter">
333 <term><filename class="libraryfile">libmutter-9.so</filename></term>
334 <listitem>
335 <para>
336 contains the <application>Mutter</application> API functions
337 </para>
338 <indexterm zone="mutter libmutter">
339 <primary sortas="c-libmutter">libmutter-9.so</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 </variablelist>
345
346 </sect2>
347
348</sect1>
Note: See TracBrowser for help on using the repository browser.