source: x/installing/xwayland.xml@ 6c6b4190

11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 6c6b4190 was 6c6b4190, checked in by Pierre Labastie <pierre.labastie@…>, 6 months ago

Fix xwayland and gdm for non xorg GNOME on sysv

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