source: x/installing/xorg-server.xml@ beb3539

12.1 ken/TL2024 lazarus plabs/newcss python3.11 rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since beb3539 was beb3539, checked in by Bruce Dubbs <bdubbs@…>, 5 months ago

Typos

  • Property mode set to 100644
File size: 14.0 KB
RevLine 
[3f72a148]1<?xml version="1.0" encoding="ISO-8859-1"?>
[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 " ">
[199fb1e]9 <!ENTITY xorg-server-md5sum "d225da0ee16ed7e1616d17bea80ba06c">
10 <!ENTITY xorg-server-size "4.7 MB">
11 <!ENTITY xorg-server-buildsize "147 MB (with tests)">
12 <!ENTITY xorg-server-time "0.4 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
[f84ad2e]37 &lfs120_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,
82 Fluxbox, or Sawfish).
83 </para>
84 <para>
85 Optional patch:
[beb3539]86 <ulink url="&patch-root;/xorg-server-&xorg-server-version;-tearfree_backport-10.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">
[d5e731d]103 <phrase revision="sysv"><xref role="runtime"
104 linkend="elogind"/> (runtime),</phrase>
[623b3bc]105 <xref linkend="libepoxy"/> (needed for glamor),
[efbfa24]106 <xref linkend="libtirpc"/>,
[d5e731d]107 <phrase revision="systemd"><xref role="runtime"
108 linkend="systemd"/> (runtime),</phrase>
109 and <xref role='runtime' linkend='xorg-libinput-driver'/> (runtime)
[597ac4bd]110 </para>
[53a89e5]111
[b1e3537]112 <bridgehead renderas="sect4">Optional</bridgehead>
[a7ec376]113 <para role="optional">
[e71a98d9]114 <xref role="runtime" linkend="acpid"/> (runtime),
[2f4014b]115 <xref linkend="doxygen"/> (to build API documentation),
[caec3e22]116 <xref linkend="fop"/> (to build documentation),
[751dd1e]117 <xref linkend="libunwind"/>,
[94b42903]118 <xref linkend="nettle"/>,
119 <xref linkend="libgcrypt"/>,
[f9387090]120 <xref linkend="xcb-util-keysyms"/>,
[9bff4bc]121 <xref linkend="xcb-util-image"/>,
122 <xref linkend="xcb-util-renderutil"/>,
[ab5ea1f1]123 <xref linkend="xcb-util-wm"/> (all four to build Xephyr),
[caec3e22]124 <xref linkend="xmlto"/> (to build documentation),
[c844a60]125 <xref linkend="xkeyboard-config"/> (for tests),
[c53fe5a7]126 <ulink url="https://gitlab.freedesktop.org/xorg/test/rendercheck">rendercheck</ulink> (for tests), and
[caec3e22]127 <ulink url="https://www.x.org/archive/individual/doc/">xorg-sgml-doctools</ulink> (to build documentation)
[2f4014b]128 </para>
[797182d]129 </sect2>
130
131 <sect2 role="kernel" id="xorg-server-kernel">
132 <title>Kernel Configuration</title>
133
134 <para>
[0c76f3cf]135 The traditional Device Dependent X (DDX) drivers have been removed
[797182d]136 from BLFS in favor of the &modesetting_drv; driver which will be
137 built as a part of this package. To use the &modesetting_drv; driver,
138 the kernel must provide a Direct Rendering Manager (DRM) driver for
139 your GPU.
140 </para>
141
142 <para>
143 If your GPU supports 3D acceleration and <xref linkend='mesa'/>
144 provides a Gallium3D driver for utilizing its 3D capability, you
145 should have already enabled the necessary kernel configuration options
146 in <xref linkend='mesa-kernel'/>. Otherwise, you need to find the
147 kernel configuration option of the DRM driver for the GPU and enable
148 it. Notably, the virtual GPUs provided by some virtual machine
149 managers:
150 </para>
151
[6043559]152 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
153 href="xorg-server-kernel.xml"/>
[797182d]154
155 <para>
156 If the kernel does not provide a DRM driver for your GPU, on most x86
157 systems the <quote>simple frame buffer</quote> DRM driver running on
158 VESA or UEFI frame buffer can be used as a fallback. Enable the
159 following options in the kernel configurations if you don't have a
160 dedicated DRM driver for the GPU, or you want to keep the simple
161 frame buffer driver as a fallback in case the dedicated driver fails:
162 </para>
163
[6043559]164 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
165 href="xorg-server-simpledrm-kernel.xml"/>
[797182d]166
167 <para>
168 To allow the kernel to print debug messages at an early boot stage,
169 <option>CONFIG_DRM</option> and <option>CONFIG_DRM_SIMPLEDRM</option>
170 should not be built as kernel modules unless an initramfs will be
171 used.
172 </para>
173
174 <para>
175 If you want to use the simple frame buffer driver on a system booted
176 via BIOS (instead of UEFI), add the following line before the first
177 <literal>menuentry</literal> block in the
178 <filename>/boot/grub/grub.cfg</filename> file to initialize the VESA
179 frame buffer:
180 </para>
181
182<screen><literal>set gfxpayload=<replaceable>1024x768x32</replaceable></literal></screen>
183
184 <para>
185 You may replace <literal>1024</literal>, <literal>768</literal>, and
186 <literal>32</literal> with a resolution and color depth setting
187 suitable for your monitor.
188 </para>
189
190 <para>
191 If all of these DRM drivers do not work for you and you need to use
192 a DDX driver with a non-DRM kernel GPU driver (usually named
193 <option>CONFIG_FB_*</option> in the kernel configuration, or existing
194 as out-tree kernel modules), or you need an device specific
195 functionality requiring a DDX driver, consult
196 <ulink url="&BLFS113;">a prior version of BLFS</ulink>, or
[b952db2]197 <ulink url="&BLFS76;">an even prior version</ulink> for more DDX
[797182d]198 drivers.
199 </para>
[9ba5bd9]200
[797182d]201 <indexterm zone="xorg-server xorg-server-kernel">
202 <primary sortas="d-xorg-server">xorg-server</primary>
203 </indexterm>
[5e8be1c]204 </sect2>
[10eeae12]205
[3f72a148]206 <sect2 role="installation">
207 <title>Installation of Xorg Server</title>
[27bcf01]208
[a1ea6d4e]209 <para>
210 First, if you need the TearFree option to work around screen tearing,
211 apply the backported patch:
212 </para>
213
[beb3539]214<screen><userinput remap="pre">patch -Np1 -i ../xorg-server-&xorg-server-version;-tearfree_backport-10.patch</userinput></screen>
[a1ea6d4e]215
[52a90a3]216 <para>
217 Install the server by running the following commands:
218 </para>
[3f72a148]219
[ab5ea1f1]220<screen><userinput>mkdir build &amp;&amp;
[c53fe5a7]221cd build &amp;&amp;
[ab5ea1f1]222
[91318eb]223meson setup .. \
224 --prefix=$XORG_PREFIX \
[f3b995a]225 --localstatedir=/var \
[c97d35e]226 -Dglamor=true \
[ab5ea1f1]227 -Dxkb_output_dir=/var/lib/xkb &amp;&amp;
228ninja</userinput></screen>
[597ac4bd]229
[2f4014b]230 <para>
[ab5ea1f1]231 To test the results, issue: <command>ninja test</command>. You
[f885719]232 will need to run <command>ldconfig</command> as the <systemitem
233 class="username">root</systemitem> user first or some tests may fail.
[2f4014b]234 </para>
[ad54ac8]235
[2f4014b]236 <para>
237 Now as the <systemitem class="username">root</systemitem>
238 user:
239 </para>
[3f72a148]240
[ab5ea1f1]241<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
[2f4014b]242mkdir -pv /etc/X11/xorg.conf.d &amp;&amp;
[ed84837]243install -v -d -m1777 /tmp/.{ICE,X11}-unix &amp;&amp;
[468d722]244cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
[be9c663]245<literal>/tmp/.ICE-unix dir 1777 root root
246/tmp/.X11-unix dir 1777 root root</literal>
[468d722]247EOF</userinput></screen>
[3f72a148]248
[ab5ea1f1]249<screen role="root" revision="systemd"><userinput>ninja install &amp;&amp;
[597ac4bd]250mkdir -pv /etc/X11/xorg.conf.d</userinput></screen>
251
[3f72a148]252 </sect2>
253
254 <sect2 role="commands">
255 <title>Command Explanations</title>
[0e806de]256
[fad8db2]257 <para>
[c97d35e]258 <parameter>-Dglamor=true</parameter>: Ensure building the Glamor
[797182d]259 module. It's needed to build the &modesetting_drv; driver
[0c76f3cf]260 which replaces the traditional Device Dependent X (DDX) drivers.
[c97d35e]261 </para>
262
263 <para>
264 <option>-Dsuid_wrapper=true</option>: Builds the suid-root
265 wrapper for legacy DDX driver support on rootless xserver systems.
[fad8db2]266 </para>
[27373006]267
[51dfb3e]268 <para>
[ab5ea1f1]269 <option>-Dsystemd_logind=false</option>:
[27373006]270 This switch disables <phrase revision="systemd">systemd-logind</phrase>
[c53fe5a7]271 <phrase revision="sysv">elogind</phrase> integration, allowing Xorg Server
[27373006]272 to work without having the <phrase revision="systemd">systemd</phrase>
[51dfb3e]273 <phrase revision="elogind">elogind</phrase> PAM module configured.
[597ac4bd]274 </para>
[0e806de]275
[597ac4bd]276 <para revision="sysv">
[2f4014b]277 <command>cat &gt;&gt; /etc/sysconfig/createfiles...</command>: This
278 command creates the <filename class="directory">/tmp/.ICE-unix</filename>
279 and <filename class="directory">/tmp/.X11-unix</filename> directories at
280 startup, and ensures that the permissions and ownership are correct as
281 required by the server.
282 </para>
[468d722]283
[9bff4bc]284 <para>
[c53fe5a7]285 <option>-Dxephyr=true</option>: This option allows building Xephyr if its
286 dependencies are met.
[9bff4bc]287 </para>
288
[3f72a148]289 </sect2>
290
[7ab35da]291 <sect2 role="content">
292 <title>Contents</title>
293
294 <segmentedlist>
295 <segtitle>Installed Programs</segtitle>
[95e8211]296 <segtitle>Installed Libraries</segtitle>
[7ab35da]297 <segtitle>Installed Directories</segtitle>
298
299 <seglistitem>
[2f4014b]300 <seg>
[ab5ea1f1]301 gtf, X, Xnest, Xorg, Xvfb, and optionally Xephyr
[2f4014b]302 </seg>
[95e8211]303 <seg>
[ab5ea1f1]304 several under $XORG_PREFIX/lib/xorg/modules/ including the
[797182d]305 &modesetting_drv; driver
[95e8211]306 </seg>
[2f4014b]307 <seg>
[ab5ea1f1]308 /etc/X11/xorg.conf.d,
309 $XORG_PREFIX/include/xorg,
310 $XORG_PREFIX/lib/xorg, and
311 $XORG_PREFIX/share/X11/xorg.conf.d
[2f4014b]312 </seg>
[ab5ea1f1]313
[7ab35da]314 </seglistitem>
315 </segmentedlist>
316
317 <variablelist>
318 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
319 <?dbfo list-presentation="list"?>
320 <?dbhtml list-presentation="table"?>
[0e806de]321
[7ab35da]322 <varlistentry id="gtf-x7">
323 <term><command>gtf</command></term>
324 <listitem>
[2f4014b]325 <para>
[4c24eb0a]326 calculates VESA GTF mode lines
[2f4014b]327 </para>
[5faf7f7e]328 <indexterm zone="xorg-server gtf-x7">
[7ab35da]329 <primary sortas="b-gtf">gtf</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
[0e806de]333
[7ab35da]334 <varlistentry id="X-x7">
335 <term><command>X</command></term>
336 <listitem>
[2f4014b]337 <para>
[4c24eb0a]338 is a symbolic link to Xorg
[2f4014b]339 </para>
[5faf7f7e]340 <indexterm zone="xorg-server X-x7">
[7ab35da]341 <primary sortas="b-X">X</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
[0e806de]345
[9bff4bc]346 <varlistentry id="Xephyr-x7">
347 <term><command>Xephyr</command></term>
348 <listitem>
349 <para>
[4c24eb0a]350 is a nested X server which supports modern X extensions
[9bff4bc]351 </para>
352 <indexterm zone="xorg-server Xephyr-x7">
353 <primary sortas="b-Xephyr">Xephyr</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
[7ab35da]358 <varlistentry id="Xnest-x7">
359 <term><command>Xnest</command></term>
360 <listitem>
[2f4014b]361 <para>
[4c24eb0a]362 is a nested X server
[2f4014b]363 </para>
[5faf7f7e]364 <indexterm zone="xorg-server Xnest-x7">
[7ab35da]365 <primary sortas="b-Xnest">Xnest</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="Xorg-x7">
371 <term><command>Xorg</command></term>
372 <listitem>
[2f4014b]373 <para>
[4c24eb0a]374 is the X11R7 X Server
[2f4014b]375 </para>
[5faf7f7e]376 <indexterm zone="xorg-server Xorg-x7">
[7ab35da]377 <primary sortas="b-Xorg">Xorg</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="Xvfb-x7">
383 <term><command>Xvfb</command></term>
384 <listitem>
[2f4014b]385 <para>
[4c24eb0a]386 is the virtual framebuffer X server for X Version 11
[2f4014b]387 </para>
[5faf7f7e]388 <indexterm zone="xorg-server Xvfb-x7">
[7ab35da]389 <primary sortas="b-Xvfb">Xvfb</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
[0e806de]393
[9bff4bc]394 <varlistentry id="modesetting_drv-x7">
395 <term><filename class="libraryfile">modesetting_drv.so</filename></term>
396 <listitem>
397 <para>
398 provides a video driver for machines using Kernel Mode Setting (KMS).
399 This will use glamor if that has been enabled and the hardware offers
[4c24eb0a]400 acceleration
[9bff4bc]401 </para>
402 <indexterm zone="xorg-server modesetting_drv-x7">
403 <primary sortas="c-modesetting_drv">modesetting_drv.so</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
[7ab35da]408 </variablelist>
409
410 </sect2>
411
[3f72a148]412</sect1>
Note: See TracBrowser for help on using the repository browser.