source: x/installing/xorg-server.xml@ 8ad99f0f

lazarus trunk
Last change on this file since 8ad99f0f was d8b200ef, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Update to xorg-server-21.1.13.

  • Property mode set to 100644
File size: 15.1 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[3f72a148]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[72f9c9a1]7 <!ENTITY xorg-server-download-http "&xorg-download-http;/xserver/xorg-server-&xorg-server-version;.tar.xz">
[e1e58be]8 <!ENTITY xorg-server-download-ftp " ">
[d8b200ef]9 <!ENTITY xorg-server-md5sum "69dbed93746d0af6b46de76d711614e4">
[2399f36]10 <!ENTITY xorg-server-size "4.7 MB">
11 <!ENTITY xorg-server-buildsize "147 MB (with tests)">
[a278ddb]12 <!ENTITY xorg-server-time "0.3 SBU (using parallelism=4; with tests)">
[797182d]13 <!ENTITY modesetting_drv
14 "<filename class='libraryfile'>modesetting_drv</filename>">
15 <!ENTITY BLFS113 "https://www.linuxfromscratch.org/blfs/view/11.3/x/x7driver.html">
16 <!ENTITY BLFS76 "https://www.linuxfromscratch.org/blfs/view/7.6/x/x7driver.html">
[3f72a148]17]>
18
[5faf7f7e]19<sect1 id="xorg-server" xreflabel="Xorg-Server-&xorg-server-version;">
20 <?dbhtml filename="xorg-server.html"?>
[3f72a148]21
22
23 <title>Xorg-Server-&xorg-server-version;</title>
24
[5faf7f7e]25 <indexterm zone="xorg-server">
[2f4014b]26 <primary sortas="a-xorg-server">xorg-server</primary>
[3f72a148]27 </indexterm>
28
[5e8be1c]29 <sect2 role="package">
[2f4014b]30 <title>Introduction to Xorg Server</title>
[5e8be1c]31
[2f4014b]32 <para>
33 The <application>Xorg</application> Server is the core
34 of the X Window system.
35 </para>
[5e8be1c]36
[b9874725]37 &lfs121_checked;
[3b69a2aa]38
[5e8be1c]39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
[2f4014b]42 <para>
43 Download (HTTP): <ulink url="&xorg-server-download-http;"/>
44 </para>
[5e8be1c]45 </listitem>
46 <listitem>
[2f4014b]47 <para>
48 Download (FTP): <ulink url="&xorg-server-download-ftp;"/>
49 </para>
[5e8be1c]50 </listitem>
51 <listitem>
[2f4014b]52 <para>
53 Download MD5 sum: &xorg-server-md5sum;
54 </para>
[5e8be1c]55 </listitem>
56 <listitem>
[2f4014b]57 <para>
58 Download size: &xorg-server-size;
59 </para>
[5e8be1c]60 </listitem>
61 <listitem>
[2f4014b]62 <para>
63 Estimated disk space required: &xorg-server-buildsize;
64 </para>
[5e8be1c]65 </listitem>
66 <listitem>
[2f4014b]67 <para>
68 Estimated build time: &xorg-server-time;
69 </para>
[5e8be1c]70 </listitem>
71 </itemizedlist>
[51dfb3e]72
[a1ea6d4e]73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 With the removal of the xf86-video-* drivers, the TearFree option
78 is no longer functional. To work around this, upstream has added the
79 TearFree option to the default modesetting driver. This patch
80 backports this feature. Apply this patch if you are going to use Xorg
81 in an environment without a compositor (such as TWM, IceWM, Openbox,
[c13c0f7]82 or Fluxbox).
[a1ea6d4e]83 </para>
84 <para>
85 Optional patch:
[a278ddb]86 <ulink url="&patch-root;/xorg-server-&xorg-server-version;-tearfree_backport-1.patch"/>
[a1ea6d4e]87 </para>
88 </listitem>
89 </itemizedlist>
90
[5e8be1c]91 <bridgehead renderas="sect3">Xorg Server Dependencies</bridgehead>
92
93 <bridgehead renderas="sect4">Required</bridgehead>
[2f4014b]94 <para role="required">
[ab5ea1f1]95 <xref linkend="libxcvt"/>,
96 <xref linkend="pixman"/>,
[9eac457]97 <xref linkend="xorg7-font"/> (only font-util), and at runtime:
[e71a98d9]98 <xref role="runtime" linkend="xkeyboard-config"/>
[2f4014b]99 </para>
[5e8be1c]100
[53a89e5]101 <bridgehead renderas="sect4">Recommended</bridgehead>
[51dfb3e]102 <para role="recommended">
[ed594245]103 <phrase revision="sysv"><xref linkend='dbus'/>,
104 <xref role="runtime" linkend="elogind"/> (runtime;
105 <systemitem class='library'>libelogind</systemitem> also referred
106 at build time but it's not really useful),</phrase>
[623b3bc]107 <xref linkend="libepoxy"/> (needed for glamor),
[efbfa24]108 <xref linkend="libtirpc"/>,
[d5e731d]109 <phrase revision="systemd"><xref role="runtime"
110 linkend="systemd"/> (runtime),</phrase>
111 and <xref role='runtime' linkend='xorg-libinput-driver'/> (runtime)
[597ac4bd]112 </para>
[53a89e5]113
[ed594245]114 <!-- TODO: Add -Dsystemd_logind=yes explicitly (like -Dglamor=true) to
115 make this more clear for BLFS 12.2. Now (Feb 16 2024) this package
116 is already under 12.1 freeze. -->
117 <note>
118 <para>
119 Although it's possible to<phrase revision='sysv'> build this package
120 without <xref linkend='dbus'/> installed or</phrase> run the Xorg
121 server without
122 <phrase revision='sysv'><xref linkend='elogind'/></phrase><phrase
123 revision='systemd'><xref linkend='systemd'/>
124 (rebuilt with PAM)</phrase> functioning, it would require running
125 the Xorg server as the &root; user or Xorg server will malfunction
126 or even fail to start. The BLFS editors strongly discourage
127 skipping <phrase revision='sysv'>these two
128 dependencies</phrase><phrase revision='systemd'>this
129 dependency</phrase>. Do not attempt to do so unless you really know
130 what you are doing.
131 </para>
132 </note>
133
[b1e3537]134 <bridgehead renderas="sect4">Optional</bridgehead>
[a7ec376]135 <para role="optional">
[e71a98d9]136 <xref role="runtime" linkend="acpid"/> (runtime),
[2f4014b]137 <xref linkend="doxygen"/> (to build API documentation),
[caec3e22]138 <xref linkend="fop"/> (to build documentation),
[751dd1e]139 <xref linkend="libunwind"/>,
[94b42903]140 <xref linkend="nettle"/>,
141 <xref linkend="libgcrypt"/>,
[f9387090]142 <xref linkend="xcb-util-keysyms"/>,
[9bff4bc]143 <xref linkend="xcb-util-image"/>,
144 <xref linkend="xcb-util-renderutil"/>,
[ab5ea1f1]145 <xref linkend="xcb-util-wm"/> (all four to build Xephyr),
[caec3e22]146 <xref linkend="xmlto"/> (to build documentation),
[c844a60]147 <xref linkend="xkeyboard-config"/> (for tests),
[c53fe5a7]148 <ulink url="https://gitlab.freedesktop.org/xorg/test/rendercheck">rendercheck</ulink> (for tests), and
[caec3e22]149 <ulink url="https://www.x.org/archive/individual/doc/">xorg-sgml-doctools</ulink> (to build documentation)
[2f4014b]150 </para>
[797182d]151 </sect2>
152
153 <sect2 role="kernel" id="xorg-server-kernel">
154 <title>Kernel Configuration</title>
155
156 <para>
[0c76f3cf]157 The traditional Device Dependent X (DDX) drivers have been removed
[797182d]158 from BLFS in favor of the &modesetting_drv; driver which will be
159 built as a part of this package. To use the &modesetting_drv; driver,
160 the kernel must provide a Direct Rendering Manager (DRM) driver for
161 your GPU.
162 </para>
163
164 <para>
165 If your GPU supports 3D acceleration and <xref linkend='mesa'/>
166 provides a Gallium3D driver for utilizing its 3D capability, you
167 should have already enabled the necessary kernel configuration options
168 in <xref linkend='mesa-kernel'/>. Otherwise, you need to find the
169 kernel configuration option of the DRM driver for the GPU and enable
170 it. Notably, the virtual GPUs provided by some virtual machine
171 managers:
172 </para>
173
[6043559]174 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
175 href="xorg-server-kernel.xml"/>
[797182d]176
177 <para>
178 If the kernel does not provide a DRM driver for your GPU, on most x86
179 systems the <quote>simple frame buffer</quote> DRM driver running on
180 VESA or UEFI frame buffer can be used as a fallback. Enable the
181 following options in the kernel configurations if you don't have a
182 dedicated DRM driver for the GPU, or you want to keep the simple
183 frame buffer driver as a fallback in case the dedicated driver fails:
184 </para>
185
[6043559]186 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
187 href="xorg-server-simpledrm-kernel.xml"/>
[797182d]188
189 <para>
190 To allow the kernel to print debug messages at an early boot stage,
191 <option>CONFIG_DRM</option> and <option>CONFIG_DRM_SIMPLEDRM</option>
192 should not be built as kernel modules unless an initramfs will be
193 used.
194 </para>
195
196 <para>
197 If you want to use the simple frame buffer driver on a system booted
198 via BIOS (instead of UEFI), add the following line before the first
199 <literal>menuentry</literal> block in the
200 <filename>/boot/grub/grub.cfg</filename> file to initialize the VESA
201 frame buffer:
202 </para>
203
204<screen><literal>set gfxpayload=<replaceable>1024x768x32</replaceable></literal></screen>
205
206 <para>
207 You may replace <literal>1024</literal>, <literal>768</literal>, and
208 <literal>32</literal> with a resolution and color depth setting
209 suitable for your monitor.
210 </para>
211
212 <para>
213 If all of these DRM drivers do not work for you and you need to use
214 a DDX driver with a non-DRM kernel GPU driver (usually named
215 <option>CONFIG_FB_*</option> in the kernel configuration, or existing
216 as out-tree kernel modules), or you need an device specific
217 functionality requiring a DDX driver, consult
218 <ulink url="&BLFS113;">a prior version of BLFS</ulink>, or
[d8b200ef]219 <ulink url="&BLFS76;">an even earlier prior version</ulink> for more DDX
[797182d]220 drivers.
221 </para>
[9ba5bd9]222
[797182d]223 <indexterm zone="xorg-server xorg-server-kernel">
224 <primary sortas="d-xorg-server">xorg-server</primary>
225 </indexterm>
[5e8be1c]226 </sect2>
[10eeae12]227
[3f72a148]228 <sect2 role="installation">
229 <title>Installation of Xorg Server</title>
[27bcf01]230
[a1ea6d4e]231 <para>
232 First, if you need the TearFree option to work around screen tearing,
233 apply the backported patch:
234 </para>
235
[a278ddb]236<screen><userinput remap="pre">patch -Np1 -i ../xorg-server-&xorg-server-version;-tearfree_backport-1.patch</userinput></screen>
[a1ea6d4e]237
[52a90a3]238 <para>
239 Install the server by running the following commands:
240 </para>
[3f72a148]241
[ab5ea1f1]242<screen><userinput>mkdir build &amp;&amp;
[c53fe5a7]243cd build &amp;&amp;
[ab5ea1f1]244
[91318eb]245meson setup .. \
246 --prefix=$XORG_PREFIX \
[f3b995a]247 --localstatedir=/var \
[c97d35e]248 -Dglamor=true \
[ab5ea1f1]249 -Dxkb_output_dir=/var/lib/xkb &amp;&amp;
250ninja</userinput></screen>
[597ac4bd]251
[2f4014b]252 <para>
[ab5ea1f1]253 To test the results, issue: <command>ninja test</command>. You
[f885719]254 will need to run <command>ldconfig</command> as the <systemitem
255 class="username">root</systemitem> user first or some tests may fail.
[2f4014b]256 </para>
[ad54ac8]257
[2f4014b]258 <para>
259 Now as the <systemitem class="username">root</systemitem>
260 user:
261 </para>
[3f72a148]262
[ab5ea1f1]263<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
[2f4014b]264mkdir -pv /etc/X11/xorg.conf.d &amp;&amp;
[ed84837]265install -v -d -m1777 /tmp/.{ICE,X11}-unix &amp;&amp;
[468d7225]266cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
[be9c663]267<literal>/tmp/.ICE-unix dir 1777 root root
268/tmp/.X11-unix dir 1777 root root</literal>
[468d7225]269EOF</userinput></screen>
[3f72a148]270
[ab5ea1f1]271<screen role="root" revision="systemd"><userinput>ninja install &amp;&amp;
[597ac4bd]272mkdir -pv /etc/X11/xorg.conf.d</userinput></screen>
273
[3f72a148]274 </sect2>
275
276 <sect2 role="commands">
277 <title>Command Explanations</title>
[0e806de]278
[fad8db2]279 <para>
[c97d35e]280 <parameter>-Dglamor=true</parameter>: Ensure building the Glamor
[797182d]281 module. It's needed to build the &modesetting_drv; driver
[0c76f3cf]282 which replaces the traditional Device Dependent X (DDX) drivers.
[c97d35e]283 </para>
284
285 <para>
286 <option>-Dsuid_wrapper=true</option>: Builds the suid-root
287 wrapper for legacy DDX driver support on rootless xserver systems.
[fad8db2]288 </para>
[ed594245]289<!-- commented out because this option defaults to auto
[51dfb3e]290 <para>
[ab5ea1f1]291 <option>-Dsystemd_logind=false</option>:
[27373006]292 This switch disables <phrase revision="systemd">systemd-logind</phrase>
[c53fe5a7]293 <phrase revision="sysv">elogind</phrase> integration, allowing Xorg Server
[27373006]294 to work without having the <phrase revision="systemd">systemd</phrase>
[51dfb3e]295 <phrase revision="elogind">elogind</phrase> PAM module configured.
[597ac4bd]296 </para>
[ed594245]297-->
[597ac4bd]298 <para revision="sysv">
[2f4014b]299 <command>cat &gt;&gt; /etc/sysconfig/createfiles...</command>: This
300 command creates the <filename class="directory">/tmp/.ICE-unix</filename>
301 and <filename class="directory">/tmp/.X11-unix</filename> directories at
302 startup, and ensures that the permissions and ownership are correct as
303 required by the server.
304 </para>
[468d7225]305
[9bff4bc]306 <para>
[c53fe5a7]307 <option>-Dxephyr=true</option>: This option allows building Xephyr if its
308 dependencies are met.
[9bff4bc]309 </para>
310
[3f72a148]311 </sect2>
312
[7ab35da]313 <sect2 role="content">
314 <title>Contents</title>
315
316 <segmentedlist>
317 <segtitle>Installed Programs</segtitle>
[95e8211]318 <segtitle>Installed Libraries</segtitle>
[7ab35da]319 <segtitle>Installed Directories</segtitle>
320
321 <seglistitem>
[2f4014b]322 <seg>
[ab5ea1f1]323 gtf, X, Xnest, Xorg, Xvfb, and optionally Xephyr
[2f4014b]324 </seg>
[95e8211]325 <seg>
[ab5ea1f1]326 several under $XORG_PREFIX/lib/xorg/modules/ including the
[797182d]327 &modesetting_drv; driver
[95e8211]328 </seg>
[2f4014b]329 <seg>
[ab5ea1f1]330 /etc/X11/xorg.conf.d,
331 $XORG_PREFIX/include/xorg,
332 $XORG_PREFIX/lib/xorg, and
333 $XORG_PREFIX/share/X11/xorg.conf.d
[2f4014b]334 </seg>
[ab5ea1f1]335
[7ab35da]336 </seglistitem>
337 </segmentedlist>
338
339 <variablelist>
340 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
341 <?dbfo list-presentation="list"?>
342 <?dbhtml list-presentation="table"?>
[0e806de]343
[7ab35da]344 <varlistentry id="gtf-x7">
345 <term><command>gtf</command></term>
346 <listitem>
[2f4014b]347 <para>
[4c24eb0a]348 calculates VESA GTF mode lines
[2f4014b]349 </para>
[5faf7f7e]350 <indexterm zone="xorg-server gtf-x7">
[7ab35da]351 <primary sortas="b-gtf">gtf</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
[0e806de]355
[7ab35da]356 <varlistentry id="X-x7">
357 <term><command>X</command></term>
358 <listitem>
[2f4014b]359 <para>
[4c24eb0a]360 is a symbolic link to Xorg
[2f4014b]361 </para>
[5faf7f7e]362 <indexterm zone="xorg-server X-x7">
[7ab35da]363 <primary sortas="b-X">X</primary>
364 </indexterm>
365 </listitem>
366 </varlistentry>
[0e806de]367
[9bff4bc]368 <varlistentry id="Xephyr-x7">
369 <term><command>Xephyr</command></term>
370 <listitem>
371 <para>
[4c24eb0a]372 is a nested X server which supports modern X extensions
[9bff4bc]373 </para>
374 <indexterm zone="xorg-server Xephyr-x7">
375 <primary sortas="b-Xephyr">Xephyr</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
[7ab35da]380 <varlistentry id="Xnest-x7">
381 <term><command>Xnest</command></term>
382 <listitem>
[2f4014b]383 <para>
[4c24eb0a]384 is a nested X server
[2f4014b]385 </para>
[5faf7f7e]386 <indexterm zone="xorg-server Xnest-x7">
[7ab35da]387 <primary sortas="b-Xnest">Xnest</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="Xorg-x7">
393 <term><command>Xorg</command></term>
394 <listitem>
[2f4014b]395 <para>
[4c24eb0a]396 is the X11R7 X Server
[2f4014b]397 </para>
[5faf7f7e]398 <indexterm zone="xorg-server Xorg-x7">
[7ab35da]399 <primary sortas="b-Xorg">Xorg</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404 <varlistentry id="Xvfb-x7">
405 <term><command>Xvfb</command></term>
406 <listitem>
[2f4014b]407 <para>
[4c24eb0a]408 is the virtual framebuffer X server for X Version 11
[2f4014b]409 </para>
[5faf7f7e]410 <indexterm zone="xorg-server Xvfb-x7">
[7ab35da]411 <primary sortas="b-Xvfb">Xvfb</primary>
412 </indexterm>
413 </listitem>
414 </varlistentry>
[0e806de]415
[9bff4bc]416 <varlistentry id="modesetting_drv-x7">
417 <term><filename class="libraryfile">modesetting_drv.so</filename></term>
418 <listitem>
419 <para>
420 provides a video driver for machines using Kernel Mode Setting (KMS).
421 This will use glamor if that has been enabled and the hardware offers
[4c24eb0a]422 acceleration
[9bff4bc]423 </para>
424 <indexterm zone="xorg-server modesetting_drv-x7">
425 <primary sortas="c-modesetting_drv">modesetting_drv.so</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
[7ab35da]430 </variablelist>
431
432 </sect2>
433
[3f72a148]434</sect1>
Note: See TracBrowser for help on using the repository browser.