source: gnome/platform/mutter.xml@ b3d57664

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since b3d57664 was 83abfed, checked in by Douglas R. Reno <renodr@…>, 16 months ago

Update to mutter-43.3

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