source: x/installing/xwayland.xml

trunk
Last change on this file was 6efb7af, checked in by Bruce Dubbs <bdubbs@…>, 12 days ago

Update to xwayland-23.2.6.

  • Property mode set to 100644
File size: 9.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 xwayland-download-http "&xorg-download-http;/xserver/xwayland-&xwayland-version;.tar.xz">
8 <!ENTITY xwayland-download-ftp " ">
9 <!ENTITY xwayland-md5sum "8f2bb6789e22b5ea1f1f19694267e539">
10 <!ENTITY xwayland-size "1.2 MB">
11 <!ENTITY xwayland-buildsize "27 MB (add 362 MB for tests)">
12 <!ENTITY xwayland-time "0.2 SBU (with parallelism=4; add 1.7 SBU for tests, not including clone time)">
13]>
14
15<sect1 id="xwayland" xreflabel="Xwayland-&xwayland-version;">
16 <?dbhtml filename="xwayland.html"?>
17
18
19 <title>Xwayland-&xwayland-version;</title>
20
21 <indexterm zone="xwayland">
22 <primary sortas="a-xwayland">xwayland</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Xwayland</title>
27
28 <para>
29 The <application>Xwayland</application> package is an Xorg server
30 running on top of the wayland server. It has been separated from the
31 main Xorg server package. It allows running X clients inside a
32 wayland session.
33 </para>
34
35 &lfs121_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&xwayland-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&xwayland-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &xwayland-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &xwayland-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &xwayland-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &xwayland-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">Xwayland Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <xref linkend="libxcvt"/>,
76 <xref linkend="pixman"/>,
77 <xref linkend="wayland-protocols"/>,
78 <xref role='runtime' linkend="xorg7-app"/> (runtime), and
79 <xref linkend="xorg7-font"/> (only font-util)
80 </para>
81
82 <bridgehead renderas="sect4">Recommended</bridgehead>
83 <para role="recommended">
84 <xref linkend="libepoxy"/>,
85 <xref linkend="libtirpc"/>, and
86 <xref linkend="mesa"/>
87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <xref linkend="git"/> (to download packages needed for the tests),
92 <xref linkend="libei"/>,
93 <xref linkend="libgcrypt"/>,
94 <xref linkend="nettle"/>,
95 <xref linkend="xmlto"/>,
96 <xref linkend="xorg7-legacy"/>
97 (only bdftopcf, for building fonts required for the tests),
98 <ulink url="https://gitlab.freedesktop.org/xorg/test/rendercheck">rendercheck</ulink> (for tests), and
99 <ulink url="https://wayland.pages.freedesktop.org/weston/">weston</ulink> (for tests)
100 </para>
101
102 </sect2>
103
104 <sect2 role="installation">
105 <title>Installation of Xwayland</title>
106
107 <para>
108 Install <application>xwayland</application> by running the following
109 commands:
110 </para>
111
112<screen><userinput>sed -i '/install_man/,$d' meson.build &amp;&amp;
113
114mkdir build &amp;&amp;
115cd build &amp;&amp;
116
117meson setup --prefix=$XORG_PREFIX \
118 --buildtype=release \
119 -Dxkb_output_dir=/var/lib/xkb \
120 .. &amp;&amp;
121ninja</userinput></screen>
122
123 <para>
124 Building the test framework needs some work. First,
125 <ulink url="https://wayland.pages.freedesktop.org/weston/">weston</ulink>
126 brings in several dependencies, but the number can be reduced by
127 disabling unneeded features. The <command>meson</command> command
128 for a stripped down build of <application>weston</application> is shown
129 in <ulink
130 url="https://gitlab.freedesktop.org/xorg/xserver/-/blob/xwayland-22.1/.gitlab-ci/debian-install.sh">
131 Upstream continuous integration build</ulink>.
132<!-- keep 22.1 above: they used to build it in gitlab-ci because debian
133 had an obsolete version of weston, but now they take weston from
134 debian so the command to build it has been removed. -->
135 </para>
136<!--
137 <para>
138 Furthermore, an X server needs to be running during the build of
139 <application>xts</application>. If not running the tests in a
140 graphical environment, you'll need to enable <command>Xvfb</command>
141 by removing the <parameter>-Dxvfb=false</parameter> above. The
142 instructions below expect this has been done.
143 </para>
144-->
145 <para>
146 Running the tests involves downloading two other frameworks, in addition
147 to the mentioned optional dependencies:
148 </para>
149
150<screen remap="test"><userinput>mkdir tools &amp;&amp;
151pushd tools &amp;&amp;
152
153git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1 &amp;&amp;
154cat &gt; piglit/piglit.conf &lt;&lt; EOF &amp;&amp;
155<literal>[xts]
156path=$(pwd)/xts
157EOF</literal>
158
159git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1 &amp;&amp;
160
161export DISPLAY=:22 &amp;&amp;
162../hw/vfb/Xvfb $DISPLAY &amp;
163VFB_PID=$! &amp;&amp;
164cd xts &amp;&amp;
165CFLAGS=-fcommon ./autogen.sh &amp;&amp;
166make &amp;&amp;
167kill $VFB_PID &amp;&amp;
168unset DISPLAY VFB_PID &amp;&amp;
169popd</userinput></screen>
170
171 <para>
172 Then the tests can be run with:
173 </para>
174
175<screen remap="test"><userinput>XTEST_DIR=$(pwd)/tools/xts PIGLIT_DIR=$(pwd)/tools/piglit ninja test</userinput></screen>
176
177 <!-- The xfontset tests fail on my system -renodr -->
178 <para>
179 Now, as the <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
183cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
184<literal>/tmp/.X11-unix dir 1777 root root</literal>
185EOF</userinput></screen>
186
187<screen role="root" revision="systemd"><userinput>ninja install</userinput></screen>
188
189 <para>
190 If <xref linkend='xorg-server'/> is not installed and you do not plan
191 to install it later, you can install <command>Xvfb</command> from this
192 package. As the &root; user:
193 </para>
194
195<screen role="nodump"><userinput>install -vm755 hw/vfb/Xvfb /usr/bin</userinput></screen>
196
197 </sect2>
198
199 <sect2 role="commands">
200 <title>Command Explanations</title>
201
202 <para>
203 <command>sed -i '/install_man/,$d' meson.build</command>: Prevents
204 installing a manual page for <command>Xserver</command>,
205 which is also provided by <xref linkend='xorg-server'/>. Remove this
206 command if <xref linkend='xorg-server'/> is not installed and you
207 don't plan to install it later.
208 </para>
209
210 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
211 href="../../xincludes/meson-buildtype-release.xml"/>
212<!--
213 <para>
214 <parameter>-Dxvfb=false</parameter>: Prevents building the
215 <command>xvfb</command> program, which is also installed by
216 <xref linkend="xorg-server"/>. Remove this option if you do not plan to
217 install the X server.
218 </para>
219
220 <para>
221 <command>mkdir -pv /etc/X11/xorg.conf.d</command>: This directory is
222 needed to put configuration files for Xwayland. This command ensures
223 that it exists, as some applications might use it without first
224 creating it.
225 </para>
226-->
227 <para revision="sysv">
228 <command>cat &gt;&gt; /etc/sysconfig/createfiles...</command>: This
229 command creates the <filename class="directory">/tmp/.X11-unix</filename>
230 directory at startup, and ensures that the permissions and ownership
231 are correct as required by applications using Xwayland.
232 </para>
233
234 </sect2>
235
236 <sect2 role="content">
237 <title>Contents</title>
238
239 <segmentedlist>
240 <segtitle>Installed Program</segtitle>
241 <segtitle>Installed Library</segtitle>
242 <segtitle>Installed Directory</segtitle>
243
244 <seglistitem>
245 <seg>
246 Xwayland
247 </seg>
248 <seg>
249 None
250 </seg>
251 <seg>
252 None
253 </seg>
254 </seglistitem>
255 </segmentedlist>
256
257 <variablelist>
258 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
259 <?dbfo list-presentation="list"?>
260 <?dbhtml list-presentation="table"?>
261
262 <varlistentry id="Xwayland">
263 <term><command>Xwayland</command></term>
264 <listitem>
265 <para>
266 Allows X clients to run under wayland
267 </para>
268 <indexterm zone="xwayland Xwayland">
269 <primary sortas="b-Xwayland">Xwayland</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273 </variablelist>
274 </sect2>
275</sect1>
Note: See TracBrowser for help on using the repository browser.