source: x/installing/xwayland.xml@ 8b5b257a

trunk
Last change on this file since 8b5b257a was d4dc5bae, checked in by Bruce Dubbs <bdubbs@…>, 5 weeks ago

Tag Chapter 24 - Graphical Environments and related packages.

  • Property mode set to 100644
File size: 8.1 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 "312c5cf17d1b147df1b787fd170958e1">
10 <!ENTITY xwayland-size "1.2 MB">
11 <!ENTITY xwayland-buildsize "28 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 &lfs122_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 .. \
118 --prefix=$XORG_PREFIX \
119 --buildtype=release \
120 -D xkb_output_dir=/var/lib/xkb &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 Running the tests involves downloading two other frameworks, in addition
139 to the mentioned optional dependencies:
140 </para>
141
142<screen remap="test"><userinput>mkdir tools &amp;&amp;
143pushd tools &amp;&amp;
144
145git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1 &amp;&amp;
146cat &gt; piglit/piglit.conf &lt;&lt; EOF &amp;&amp;
147<literal>[xts]
148path=$(pwd)/xts
149EOF</literal>
150
151git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1 &amp;&amp;
152
153export DISPLAY=:22 &amp;&amp;
154../hw/vfb/Xvfb $DISPLAY &amp;
155VFB_PID=$! &amp;&amp;
156cd xts &amp;&amp;
157CFLAGS=-fcommon ./autogen.sh &amp;&amp;
158make &amp;&amp;
159kill $VFB_PID &amp;&amp;
160unset DISPLAY VFB_PID &amp;&amp;
161popd</userinput></screen>
162
163 <para>
164 Then the tests can be run with:
165 </para>
166
167<screen remap="test"><userinput>XTEST_DIR=$(pwd)/tools/xts PIGLIT_DIR=$(pwd)/tools/piglit ninja test</userinput></screen>
168
169 <!-- The xfontset tests fail on my system -renodr -->
170 <para>
171 Now, as the <systemitem class="username">root</systemitem> user:
172 </para>
173
174<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
175cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
176<literal>/tmp/.X11-unix dir 1777 root root</literal>
177EOF</userinput></screen>
178
179<screen role="root" revision="systemd"><userinput>ninja install</userinput></screen>
180
181 <para>
182 If <xref linkend='xorg-server'/> is not installed and you do not plan
183 to install it later, you can install <command>Xvfb</command> from this
184 package. As the &root; user:
185 </para>
186
187<screen role="nodump"><userinput>install -vm755 hw/vfb/Xvfb /usr/bin</userinput></screen>
188
189 </sect2>
190
191 <sect2 role="commands">
192 <title>Command Explanations</title>
193
194 <para>
195 <command>sed -i '/install_man/,$d' meson.build</command>: Prevents
196 installing a manual page for <command>Xserver</command>,
197 which is also provided by <xref linkend='xorg-server'/>. Remove this
198 command if <xref linkend='xorg-server'/> is not installed and you
199 don't plan to install it later.
200 </para>
201
202 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
203 href="../../xincludes/meson-buildtype-release.xml"/>
204
205 <para revision="sysv">
206 <command>cat &gt;&gt; /etc/sysconfig/createfiles...</command>: This
207 command creates the <filename class="directory">/tmp/.X11-unix</filename>
208 directory at startup, and ensures that the permissions and ownership
209 are correct as required by applications using Xwayland.
210 </para>
211
212 </sect2>
213
214 <sect2 role="content">
215 <title>Contents</title>
216
217 <segmentedlist>
218 <segtitle>Installed Program</segtitle>
219 <segtitle>Installed Library</segtitle>
220 <segtitle>Installed Directory</segtitle>
221
222 <seglistitem>
223 <seg>
224 Xwayland
225 </seg>
226 <seg>
227 None
228 </seg>
229 <seg>
230 None
231 </seg>
232 </seglistitem>
233 </segmentedlist>
234
235 <variablelist>
236 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
237 <?dbfo list-presentation="list"?>
238 <?dbhtml list-presentation="table"?>
239
240 <varlistentry id="Xwayland">
241 <term><command>Xwayland</command></term>
242 <listitem>
243 <para>
244 Allows X clients to run under wayland
245 </para>
246 <indexterm zone="xwayland Xwayland">
247 <primary sortas="b-Xwayland">Xwayland</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251 </variablelist>
252 </sect2>
253</sect1>
Note: See TracBrowser for help on using the repository browser.