source: gnome/platform/mutter.xml@ ac60f17f

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/soup3 xry111/xf86-video-removal
Last change on this file since ac60f17f was ac60f17f, checked in by Pierre Labastie <pierre.labastie@…>, 20 months ago

Fix mutter dependencies for tests

Also don't make a difference between systemd and sysv for tests.
There are none...

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