source: gnome/platform/mutter.xml@ 23c672d

12.1 gimp3 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 23c672d was e1e58be, checked in by Pierre Labastie <pierre.labastie@…>, 10 months ago

Remove all ftp urls

neither firefox nor epiphany can download them, and they are not
well maintained, because rarely tested.
This is WIP because the "(HTTP)" part of "Download (HTTP)" will
need to be removed too.
But let's see what users think first...

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