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

12.0 12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since cefe20d was b952db2, checked in by Xi Ruoyao <xry111@…>, 14 months ago

xorg-server: "a even" -> "an even"

  • Property mode set to 100644
File size: 13.7 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 xorg-server-download-http "&xorg-download-http;/xserver/xorg-server-&xorg-server-version;.tar.xz">
8 <!ENTITY xorg-server-download-ftp "&xorg-download-ftp;/xserver/xorg-server-&xorg-server-version;.tar.xz">
9 <!ENTITY xorg-server-md5sum "79a6eb04b1b17ad6c7aab46da73944e8">
10 <!ENTITY xorg-server-size "4.8 MB">
11 <!ENTITY xorg-server-buildsize "188 MB (with tests)">
12 <!ENTITY xorg-server-time "0.6 SBU (using parallelism=4; with tests)">
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">
17]>
18
19<sect1 id="xorg-server" xreflabel="Xorg-Server-&xorg-server-version;">
20 <?dbhtml filename="xorg-server.html"?>
21
22
23 <title>Xorg-Server-&xorg-server-version;</title>
24
25 <indexterm zone="xorg-server">
26 <primary sortas="a-xorg-server">xorg-server</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Xorg Server</title>
31
32 <para>
33 The <application>Xorg</application> Server is the core
34 of the X Window system.
35 </para>
36
37 &lfs113_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&xorg-server-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&xorg-server-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &xorg-server-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &xorg-server-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &xorg-server-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &xorg-server-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Xorg Server Dependencies</bridgehead>
74
75 <bridgehead renderas="sect4">Required</bridgehead>
76 <para role="required">
77 <xref linkend="libxcvt"/>,
78 <xref linkend="pixman"/>,
79 <xref linkend="xorg7-font"/> (only font-util), and at runtime:
80 <xref role="runtime" linkend="xkeyboard-config"/>
81 </para>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended">
85 <phrase revision="sysv"><xref role="runtime"
86 linkend="elogind"/> (runtime),</phrase>
87 <xref linkend="libepoxy"/> (needed for glamor),
88 <xref linkend="libtirpc"/>,
89 <phrase revision="systemd"><xref role="runtime"
90 linkend="systemd"/> (runtime),</phrase>
91 and <xref role='runtime' linkend='xorg-libinput-driver'/> (runtime)
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <xref role="runtime" linkend="acpid"/> (runtime),
97 <xref linkend="doxygen"/> (to build API documentation),
98 <xref linkend="fop"/> (to build documentation),
99 <xref linkend="libunwind"/>,
100 <xref linkend="nettle"/>,
101 <xref linkend="libgcrypt"/>,
102 <xref linkend="xcb-util-keysyms"/>,
103 <xref linkend="xcb-util-image"/>,
104 <xref linkend="xcb-util-renderutil"/>,
105 <xref linkend="xcb-util-wm"/> (all four to build Xephyr),
106 <xref linkend="xmlto"/> (to build documentation),
107 <xref linkend="xkeyboard-config"/> (for tests),
108 <ulink url="https://gitlab.freedesktop.org/xorg/test/rendercheck">rendercheck</ulink> (for tests), and
109 <ulink url="https://www.x.org/archive/individual/doc/">xorg-sgml-doctools</ulink> (to build documentation)
110 </para>
111 </sect2>
112
113 <sect2 role="kernel" id="xorg-server-kernel">
114 <title>Kernel Configuration</title>
115
116 <para>
117 The traditional Device Dependant X (DDX) drivers have been removed
118 from BLFS in favor of the &modesetting_drv; driver which will be
119 built as a part of this package. To use the &modesetting_drv; driver,
120 the kernel must provide a Direct Rendering Manager (DRM) driver for
121 your GPU.
122 </para>
123
124 <para>
125 If your GPU supports 3D acceleration and <xref linkend='mesa'/>
126 provides a Gallium3D driver for utilizing its 3D capability, you
127 should have already enabled the necessary kernel configuration options
128 in <xref linkend='mesa-kernel'/>. Otherwise, you need to find the
129 kernel configuration option of the DRM driver for the GPU and enable
130 it. Notably, the virtual GPUs provided by some virtual machine
131 managers:
132 </para>
133
134<screen><literal>Device Drivers ---&gt;
135 Graphics support ---&gt;
136 &lt;*/M&gt; Direct Rendering Manager (XFree86 ... support) ---&gt; [CONFIG_DRM]
137 &lt; /*/M&gt; DRM driver for VMware Virtual GPU [CONFIG_DRM_VMWGFX]
138 &lt; /*/M&gt; DRM Support for bochs dispi vga interface (qemu stdvga) [CONFIG_DRM_BOCHS]
139 &lt; /*/M&gt; Virtual Box Graphics Card [CONFIG_DRM_VBOXVIDEO]</literal></screen>
140
141 <para>
142 If the kernel does not provide a DRM driver for your GPU, on most x86
143 systems the <quote>simple frame buffer</quote> DRM driver running on
144 VESA or UEFI frame buffer can be used as a fallback. Enable the
145 following options in the kernel configurations if you don't have a
146 dedicated DRM driver for the GPU, or you want to keep the simple
147 frame buffer driver as a fallback in case the dedicated driver fails:
148 </para>
149
150<screen><literal>Device Drivers ---&gt;
151 Firmware Drivers ---&gt;
152 [*] Mark VGA/VBE/EFI FB as generic system framebuffer [CONFIG_SYSFB_SIMPLEFB]
153 Graphics support ---&gt;
154 &lt;*&gt; Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM]
155 &lt;*&gt; Simple framebuffer driver [CONFIG_DRM_SIMPLEDRM]</literal></screen>
156
157 <para>
158 To allow the kernel to print debug messages at an early boot stage,
159 <option>CONFIG_DRM</option> and <option>CONFIG_DRM_SIMPLEDRM</option>
160 should not be built as kernel modules unless an initramfs will be
161 used.
162 </para>
163
164 <para>
165 If you want to use the simple frame buffer driver on a system booted
166 via BIOS (instead of UEFI), add the following line before the first
167 <literal>menuentry</literal> block in the
168 <filename>/boot/grub/grub.cfg</filename> file to initialize the VESA
169 frame buffer:
170 </para>
171
172<screen><literal>set gfxpayload=<replaceable>1024x768x32</replaceable></literal></screen>
173
174 <para>
175 You may replace <literal>1024</literal>, <literal>768</literal>, and
176 <literal>32</literal> with a resolution and color depth setting
177 suitable for your monitor.
178 </para>
179
180 <para>
181 If all of these DRM drivers do not work for you and you need to use
182 a DDX driver with a non-DRM kernel GPU driver (usually named
183 <option>CONFIG_FB_*</option> in the kernel configuration, or existing
184 as out-tree kernel modules), or you need an device specific
185 functionality requiring a DDX driver, consult
186 <ulink url="&BLFS113;">a prior version of BLFS</ulink>, or
187 <ulink url="&BLFS76;">an even prior version</ulink> for more DDX
188 drivers.
189 </para>
190
191 <indexterm zone="xorg-server xorg-server-kernel">
192 <primary sortas="d-xorg-server">xorg-server</primary>
193 </indexterm>
194 </sect2>
195
196 <sect2 role="installation">
197 <title>Installation of Xorg Server</title>
198
199 <para>
200 Install the server by running the following commands:
201 </para>
202
203<screen><userinput>mkdir build &amp;&amp;
204cd build &amp;&amp;
205
206meson setup .. \
207 --prefix=$XORG_PREFIX \
208 --localstatedir=/var \
209 -Dglamor=true \
210 -Dxkb_output_dir=/var/lib/xkb &amp;&amp;
211ninja</userinput></screen>
212
213 <para>
214 To test the results, issue: <command>ninja test</command>. You
215 will need to run <command>ldconfig</command> as the <systemitem
216 class="username">root</systemitem> user first or some tests may fail.
217 </para>
218
219 <para>
220 Now as the <systemitem class="username">root</systemitem>
221 user:
222 </para>
223
224<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
225mkdir -pv /etc/X11/xorg.conf.d &amp;&amp;
226install -v -d -m1777 /tmp/.{ICE,X11}-unix &amp;&amp;
227cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
228<literal>/tmp/.ICE-unix dir 1777 root root
229/tmp/.X11-unix dir 1777 root root</literal>
230EOF</userinput></screen>
231
232<screen role="root" revision="systemd"><userinput>ninja install &amp;&amp;
233mkdir -pv /etc/X11/xorg.conf.d</userinput></screen>
234
235 </sect2>
236
237 <sect2 role="commands">
238 <title>Command Explanations</title>
239
240 <para>
241 <parameter>-Dglamor=true</parameter>: Ensure building the Glamor
242 module. It's needed to build the &modesetting_drv; driver
243 which replaces the traditional Device Dependant X (DDX) drivers.
244 </para>
245
246 <para>
247 <option>-Dsuid_wrapper=true</option>: Builds the suid-root
248 wrapper for legacy DDX driver support on rootless xserver systems.
249 </para>
250
251 <para>
252 <option>-Dsystemd_logind=false</option>:
253 This switch disables <phrase revision="systemd">systemd-logind</phrase>
254 <phrase revision="sysv">elogind</phrase> integration, allowing Xorg Server
255 to work without having the <phrase revision="systemd">systemd</phrase>
256 <phrase revision="elogind">elogind</phrase> PAM module configured.
257 </para>
258
259 <para revision="sysv">
260 <command>cat &gt;&gt; /etc/sysconfig/createfiles...</command>: This
261 command creates the <filename class="directory">/tmp/.ICE-unix</filename>
262 and <filename class="directory">/tmp/.X11-unix</filename> directories at
263 startup, and ensures that the permissions and ownership are correct as
264 required by the server.
265 </para>
266
267 <para>
268 <option>-Dxephyr=true</option>: This option allows building Xephyr if its
269 dependencies are met.
270 </para>
271
272 </sect2>
273
274 <sect2 role="content">
275 <title>Contents</title>
276
277 <segmentedlist>
278 <segtitle>Installed Programs</segtitle>
279 <segtitle>Installed Libraries</segtitle>
280 <segtitle>Installed Directories</segtitle>
281
282 <seglistitem>
283 <seg>
284 gtf, X, Xnest, Xorg, Xvfb, and optionally Xephyr
285 </seg>
286 <seg>
287 several under $XORG_PREFIX/lib/xorg/modules/ including the
288 &modesetting_drv; driver
289 </seg>
290 <seg>
291 /etc/X11/xorg.conf.d,
292 $XORG_PREFIX/include/xorg,
293 $XORG_PREFIX/lib/xorg, and
294 $XORG_PREFIX/share/X11/xorg.conf.d
295 </seg>
296
297 </seglistitem>
298 </segmentedlist>
299
300 <variablelist>
301 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
302 <?dbfo list-presentation="list"?>
303 <?dbhtml list-presentation="table"?>
304
305 <varlistentry id="gtf-x7">
306 <term><command>gtf</command></term>
307 <listitem>
308 <para>
309 calculates VESA GTF mode lines
310 </para>
311 <indexterm zone="xorg-server gtf-x7">
312 <primary sortas="b-gtf">gtf</primary>
313 </indexterm>
314 </listitem>
315 </varlistentry>
316
317 <varlistentry id="X-x7">
318 <term><command>X</command></term>
319 <listitem>
320 <para>
321 is a symbolic link to Xorg
322 </para>
323 <indexterm zone="xorg-server X-x7">
324 <primary sortas="b-X">X</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328
329 <varlistentry id="Xephyr-x7">
330 <term><command>Xephyr</command></term>
331 <listitem>
332 <para>
333 is a nested X server which supports modern X extensions
334 </para>
335 <indexterm zone="xorg-server Xephyr-x7">
336 <primary sortas="b-Xephyr">Xephyr</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="Xnest-x7">
342 <term><command>Xnest</command></term>
343 <listitem>
344 <para>
345 is a nested X server
346 </para>
347 <indexterm zone="xorg-server Xnest-x7">
348 <primary sortas="b-Xnest">Xnest</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="Xorg-x7">
354 <term><command>Xorg</command></term>
355 <listitem>
356 <para>
357 is the X11R7 X Server
358 </para>
359 <indexterm zone="xorg-server Xorg-x7">
360 <primary sortas="b-Xorg">Xorg</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="Xvfb-x7">
366 <term><command>Xvfb</command></term>
367 <listitem>
368 <para>
369 is the virtual framebuffer X server for X Version 11
370 </para>
371 <indexterm zone="xorg-server Xvfb-x7">
372 <primary sortas="b-Xvfb">Xvfb</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="modesetting_drv-x7">
378 <term><filename class="libraryfile">modesetting_drv.so</filename></term>
379 <listitem>
380 <para>
381 provides a video driver for machines using Kernel Mode Setting (KMS).
382 This will use glamor if that has been enabled and the hardware offers
383 acceleration
384 </para>
385 <indexterm zone="xorg-server modesetting_drv-x7">
386 <primary sortas="c-modesetting_drv">modesetting_drv.so</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 </variablelist>
392
393 </sect2>
394
395</sect1>
Note: See TracBrowser for help on using the repository browser.