source: gnome/platform/mutter.xml@ 274ac683

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 274ac683 was d37d7c5, checked in by Xi Ruoyao <xry111@…>, 13 months ago

mutter: Demote Sysprof to optional

Well, "Recommended" should mean "if you don't know what it is, then you
need it". But a profiler is just a contrary.

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