source: x/installing/xorg7.xml@ 4ff4e9a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 4ff4e9a was 4ff4e9a, checked in by DJ Lucas <dj@…>, 18 years ago

Added Xorg-7.0

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5695 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 21.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="xorg7" xreflabel="X.org-&xorg7-version;">
9 <?dbhtml filename="xorg7.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14<!-- <keywordset>
15 <keyword role="package">X11R&xorg7-version;-src.tar</keyword>
16 <keyword role="ftpdir">Xorg7</keyword>
17 </keywordset>
18########## Need a way to fix this on the mirrors ##########
19##### Maybe a single tarball is the way to handle it ######
20-->
21
22
23 </sect1info>
24
25 <title>Xorg-&xorg7-version;</title>
26
27 <indexterm zone="xorg7">
28 <primary sortas="a-xorg7">Xorg</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to Xorg</title>
33
34 <para><application>Xorg</application> is a freely redistributable,
35 open-source implementation of the <application>X</application> Window
36 System. This system provides a client/server interface between display
37 hardware (the mouse, keyboard, and video displays) and the desktop
38 environment, while also providing both the windowing infrastructure and a
39 standardized application interface (API).</para>
40
41 <bridgehead renderas="sect3">Xorg Dependencies</bridgehead>
42
43 <bridgehead renderas="sect4">Required</bridgehead>
44 <para role="required"><xref linkend="fontconfig"/>,
45 <xref linkend="libdrm"/>,
46 <xref linkend="libpng"/>, and
47 <xref linkend="pkgconfig"/>.</para>
48
49 <bridgehead renderas="sect4">Optional</bridgehead>
50 <para role="optional"><xref linkend="linux-pam"/>.</para>
51
52 <bridgehead renderas="sect3">Xorg Download and Installation Instructions</bridgehead>
53
54 <para>With the new modular build system, is no longer possible to download
55 the entire package in a single file. In fact, there may be upto 200 files
56 that need to be fetched from the download location. To assist with
57 such a large task, it is strongly recommended to install
58 <xref linkend="wget"/> for downloading the needed files. A complete
59 <application>wget</application> script is available for each section at
60 <ulink
61 url="http://anduin.linuxfromscratch.org/sources/BLFS/svn/x/wget/"/>.</para>
62
63 <para>Givin the number of packages availible, deciding which packages you
64 need to install for your particular setup may seem a bit overwhelming at
65 first. Take a look at<ulink
66 url="http://lists.x.org/archives/xorg-modular/2005-November/000801.html">
67 this thread</ulink> to get an idea of what you will need. If you are
68 unsure, simply install all packages at the cost of extra diskspace.</para>
69
70 <para>Additionally, because of the large number of repetative commands,
71 you are encouraged to script the build. For most sections, you can use
72 the following commands to compile and install all packages in your build
73 directory:</para>
74
75<screen>for package in *.tar.bz2
76do
77 packagedir=`echo $package | sed 's/.tar.bz2//'`
78 tar -xf $package &amp;&amp;
79 cd $packagedir &amp;&amp;
80 ./configure $XORG_CONFIG &amp;&amp;
81 make &amp;&amp;
82 make install
83 if [ $? -ne 0 ]; then
84 break #stop the build if the previous command failed
85 fi
86 cd .. &amp;&amp;
87 rm -rf $packagedir
88done 2&gt;&amp;1 | tee -a ../xorg-compile.log #log the entire loop</screen>
89
90 </sect2>
91
92 <sect2>
93 <title>Setting up the Xorg Build Environment</title>
94
95 <para>First, you'll need to create a working directory:</para>
96
97<screen><userinput>mkdir xc &amp;&amp;
98cd xc</userinput></screen>
99
100 <para>As with previous releases of the X Windows System, it may be
101 desireable to install <application>Xorg</application> into an alternate
102 prefix. This is no longer common practice among linux distributions.
103 The common installation prefix for <application>Xorg</application> on
104 linux is <filename class="directory">/usr</filename>. There is no standard
105 alternate prefix, nor is there any exception in the current revision of
106 the Filesystem Hierarcy Standard for Release 7 of the X Windows System.
107 Alan Coopersmith of Sun Microsystems, has recently stated
108 "At Sun, we were using <filename class="directory">/usr/X11</filename> and
109 plan to stick with it." Only the
110 <filename class="directory">/opt/*</filename> prefix or the
111 <filename class="directory">/usr</filename> prefix adhere to the current
112 FHS guidelines.</para>
113
114 <para>Choose your installation prefix, and set the
115 <parameter>XORG_PREFIX</parameter> variable with the following
116 command:</para>
117
118<screen><userinput>export XORG_PREFIX="<replaceable>[/usr]</replaceable>"</userinput></screen>
119
120 <para>Throughout these instructions, you will use the same three
121 configure switches for all of the packages. Create the
122 <parameter>XORG_CONFIG</parameter> varialbe to use for substitution:</para>
123
124<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var"</userinput></screen>
125
126 </sect2>
127
128 <sect2>
129 <title>Xorg Protocol Headers</title>
130
131 <indexterm zone="xorg7">
132 <primary sortas="a-xorg7-proto">Xorg Protocol Headers</primary>
133 </indexterm>
134
135 <para>The <application>Xorg</application> protocol headers provide the
136 header files required to build the system, and to allow other
137 applications to build against the installed X Window system.</para>
138
139 <para><application>Xorg</application> Proto packages can be downloaded
140 individually from <ulink
141 url="http://xorg.freedesktop.org/releases/X11R7.0/src/proto/"/>.</para>
142
143 <sect3 role="installation">
144 <title>Installation of Xorg Protocol Headers</title>
145
146 <para>Install the <application>Xorg</application> protocol headers
147 by running the following commands for each package to be installed.</para>
148
149<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
150make &amp;&amp;
151make install</userinput></screen>
152
153 </sect3>
154
155 </sect2>
156
157 <sect2>
158 <title>Xorg Utilities</title>
159
160 <indexterm zone="xorg7">
161 <primary sortas="a-xorg7-data">Xorg Utilities</primary>
162 </indexterm>
163
164 <para>The <application>Xorg</application> utility packages provide
165 needed utilities, not for the <application>Xorg</application>
166 installation itself, but for other applications that make use of
167 legacy X11R6 installation methods.</para>
168
169 <para><application>Xorg</application> Utility packages can be downloaded
170 individually from <ulink
171 url="http://xorg.freedesktop.org/releases/X11R7.0/src/util/"/>.</para>
172
173 <sect3 role="installation">
174 <title>Installation of Xorg Utilities</title>
175
176 <para>Install first, the <application>xorg-cf-files</application> package
177 with the following commands:</para>
178
179<screen><userinput>sed -i "s@/usr/X11R6@$XORG_PREFIX@" site.def &amp;&amp;
180sed -i "s@/usr/X11R6@$XORG_PREFIX@" X11.tmpl &amp;&amp;
181./configure $XORG_CONFIG --with-config-dir=$XORG_PREFIX/lib/X11/config &amp;&amp;
182make &amp;&amp;
183make install</userinput></screen>
184
185 <para>Next, install the <application>Imake</application> package with
186 these commands:</para>
187
188<screen><userinput>./configure $XORG_CONFIG --with-config-dir=$XORG_PREFIX/lib/X11/config &amp;&amp;
189make &amp;&amp;
190make install</userinput></screen>
191
192
193 <para>Finally, build the three remaining packages with the standard build
194 commands:</para>
195
196
197<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
198make &amp;&amp;
199make install</userinput></screen>
200
201 </sect3>
202
203 </sect2>
204
205 <sect2>
206 <title>Xorg Libraries</title>
207
208 <indexterm zone="xorg7">
209 <primary sortas="a-xorg7-lib">Xorg Libraries</primary>
210 </indexterm>
211
212 <para>The <application>Xorg</application> libraries provide library
213 routines that are used within all X Window applications.</para>
214
215 <para><application>Xorg</application> Library packages can be downloaded
216 individually from <ulink
217 url="http://xorg.freedesktop.org/releases/X11R7.0/src/lib/"/>.</para>
218
219 <sect3>
220 <title>Meeting Library Dependencies</title>
221
222 <para>These 17 libraries are a core part of the X Windows Sytem and
223 must be built in the order provided:</para>
224
225<screen>xtrans-X11R7.0-1.0.0.tar.bz2
226libXau-X11R7.0-1.0.0.tar.bz2
227libXdmcp-X11R7.0-1.0.0.tar.bz2
228libX11-X11R7.0-1.0.0.tar.bz2
229libXext-X11R7.0-1.0.0.tar.bz2
230libICE-X11R7.0-1.0.0.tar.bz2
231libSM-X11R7.0-1.0.0.tar.bz2
232libXt-X11R7.0-1.0.0.tar.bz2
233libXmu-X11R7.0-1.0.0.tar.bz2
234libXpm-X11R7.0-3.5.4.2.tar.bz2
235libXp-X11R7.0-1.0.0.tar.bz2
236libXfixes-X11R7.0-3.0.1.2.tar.bz2
237libXrender-X11R7.0-0.9.0.2.tar.bz2
238libfontenc-X11R7.0-1.0.1.tar.bz2
239libxkbfile-X11R7.0-1.0.1.tar.bz2
240libXprintUtil-X11R7.0-1.0.1.tar.bz2
241libXv-X11R7.0-1.0.1.tar.bz2</screen>
242
243 </sect3>
244
245 <sect3 role="installation">
246 <title>Installation of Xorg Libraries</title>
247
248 <para>Install the libraries by running the following commands for each
249 of the chosen packages:</para>
250
251<para><screen><userinput>./configure $XORG_CONFIG &amp;&amp;
252make &amp;&amp;
253make install</userinput></screen></para>
254
255 </sect3>
256
257 <sect3 role="configuration">
258 <title>Configuration of Xorg Libraries</title>
259
260 <para>If you've chosen to install <application>Xorg</application> into
261 <filename class="directory">/usr</filename>, then no furthur
262 configuration is necessary and you can skip the rest of this section.
263 If you've opted for an alternate prefix, you should create two symlinks
264 to satisfy the expected environment of several packages.
265 Execute the following commands as the root user:</para>
266
267<screen role="root"><userinput>ln -sv $XORG_PREFIX/lib/X11 /usr/lib/X11 &amp;&amp;
268ln -sv $XORG_PREFIX/include/X11 /usr/include/X11</userinput></screen>
269
270 <para>As with other libraries, as the root user, you must add
271 <filename class="directory">$XORG_PREFIX/lib</filename> to
272 <filename>/etc/ld.so.conf</filename> and execute
273 <command>/sbin/ldconfig</command>.</para>
274
275 </sect3>
276
277 </sect2>
278
279 <sect2>
280 <title>Xorg Data</title>
281
282 <indexterm zone="xorg7">
283 <primary sortas="a-xorg7-data">Xorg Data</primary>
284 </indexterm>
285
286 <para>The <application>Xorg</application> data packages provide
287 static data such as images and keymaps to the
288 <application>Xorg</application> applications.</para>
289
290 <para><application>Xorg</application> Data packages can be downloaded
291 individually from <ulink
292 url="http://xorg.freedesktop.org/releases/X11R7.0/src/data/"/>.</para>
293
294 <sect3 role="installation">
295 <title>Installation of Xorg Data</title>
296
297 <para>First, install the xbitmap package by running the following
298 commands:</para>
299
300<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
301make &amp;&amp;
302make install</userinput></screen>
303
304 <note><para>At this point, you should continue to the applications
305 installation. After the applications installation has completed, you
306 can use the same instructions above to install the xcursor-themes and
307 xkb-data packages.</para></note>
308
309 </sect3>
310
311 </sect2>
312
313 <sect2>
314 <title>Xorg Applications</title>
315
316 <indexterm zone="xorg7">
317 <primary sortas="a-xorg7-app">Xorg Applications</primary>
318 </indexterm>
319
320 <note><para>You must install <xref linkend="MesaLib"/> before you install
321 Xorg Applications.</para></note>
322
323 <para>The <application>Xorg</application> applications provide the
324 expected applications availible in previous X Window
325 implementations.</para>
326
327 <para><application>Xorg</application> applications can be downloaded
328 individually from <ulink
329 url="http://xorg.freedesktop.org/releases/X11R7.0/src/app/"/>.</para>
330
331 <sect3 role="installation">
332 <title>Installation of Xorg Applications</title>
333
334 <para>Install the applications by running the following commands for each
335 chosen package:</para>
336
337<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
338make &amp;&amp;
339make install</userinput></screen>
340
341 <note><para>The luit package should not be compiled at this point. You
342 should install the luit application after the fonts have been installed.
343 When compiling the luit package, you will need to change a hard
344 coded reference to /usr/X11R6 in parser.h. Use the command
345 "<command>sed -i 's@/usr/X11R6@$XORG_PREFIX@' parser.h</command>" from
346 the top level of the package source directory.</para></note>
347
348 </sect3>
349
350 </sect2>
351
352 <sect2>
353 <title>Xorg Fonts</title>
354
355 <indexterm zone="xorg7">
356 <primary sortas="a-xorg7-fonts">Xorg Fonts</primary>
357 </indexterm>
358
359 <para>The <application>Xorg</application> font packages provide
360 needed fonts to the <application>Xorg</application> applications.</para>
361
362 <para><application>Xorg</application> Font packages can be downloaded
363 individually from <ulink
364 url="http://xorg.freedesktop.org/releases/X11R7.0/src/font/"/>.</para>
365
366 <sect3 role="installation">
367 <title>Installation of Xorg Fonts</title>
368
369 <para>Create a fonts direcorty and a symlink so that the fonts
370 installed in /usr/share/fonts can be accessible by the old fontpath
371 $XORG_PREFIX/lib/X11/fonts:</para>
372
373<screen><userinput> mkdir -p /usr/share/fonts &amp;&amp;
374ln -s -v ../../../share/fonts $XORG_PREFIX/lib/X11/</userinput></screen>
375
376 <para>Run the following commands for each package:</para>
377
378<note><para>You should install encoding and font-util before all others</para></note>
379
380
381<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
382make &amp;&amp;
383make install</userinput></screen>
384
385 </sect3>
386
387 </sect2>
388
389 <sect2>
390 <title>Xorg Server</title>
391
392 <indexterm zone="xorg7">
393 <primary sortas="a-xorg7-server">Xorg Server</primary>
394 </indexterm>
395
396 <para>The <application>Xorg</application> Server is the core
397 of the X Window system.</para>
398
399 <para>The Xorg Server is a single download. Get it from
400 <ulink url="http://xorg.freedesktop.org/releases/X11R7.0/src/xserver/xorg-server-X11R7.0-1.0.1.tar.bz2"/>.</para>
401
402 <sect3 role="installation">
403 <title>Installation of Xorg Server</title>
404
405 <note><para>You must have the <application>Mesa</application> source
406 directory availible when building the
407 <application>Xorg-server</application></para></note>
408
409 <para>Install the server by running the following commands:</para>
410
411<screen><userinput>sed -i "s@*/@*/\n#include &lt;linux/types.h&gt;\n@" \
412 hw/xfree86/os-support/linux/lnx_agp.c &amp;&amp;
413./configure --prefix=$XORG_PREFIX --sysconfdir=/etc \
414 --localstatedir=/var --with-mesa-source='../../Mesa-&mesalib-version;' \
415 --with-fontdir=/usr/share/fonts \
416 --with-module-dir=$XORG_PREFIX/lib/modules &amp;&amp;
417make &amp;&amp;
418make install</userinput></screen>
419
420 </sect3>
421
422 </sect2>
423
424 <sect2>
425 <title>Xorg Drivers</title>
426
427 <indexterm zone="xorg7">
428 <primary sortas="a-xorg7-driver">Xorg Drivers</primary>
429 </indexterm>
430
431 <para>The <application>Xorg</application> drivers provide the means
432 for the xserver to take advantage of installed hardware.</para>
433
434 <para><application>Xorg</application> Driver packages can be downloaded
435 individually from <ulink
436 url="http://xorg.freedesktop.org/releases/X11R7.0/src/driver/"/>.</para>
437
438 <sect3 role="installation">
439 <title>Installation of Xorg Drivers</title>
440
441 <warning><para>It is very important not to build display drivers that
442 cannot be used on your hardware. For instance, do not build Sun drivers
443 for an x86 PC as the Sun drivers will expect to see SPARC symbols
444 exported from the kernel. Failure to follow this warning will result
445 in a display lockup, which requires a hard reboot, when configuring
446 <application>Xorg</application> for the first time.</para></warning>
447
448 <para>Install the drivers by running the following commands for each
449 package:</para>
450
451<screen><userinput>./configure $XORG_CONFIG \
452 --with-xorg-module-dir=$XORG_PREFIX/lib/modules &amp;&amp;
453make &amp;&amp;
454make install</userinput></screen>
455
456 </sect3>
457
458 </sect2>
459
460 <sect2 role="configuration" id='xorg7-config'>
461 <title>Configuring Xorg</title>
462
463 <para>Make certain that you have executed <command>ldconfig</command> and
464 create the <filename>xorg.conf</filename> file with:</para>
465
466<screen><userinput>cd ~ &amp;&amp;
467Xorg -configure</userinput></screen>
468
469 <para>The screen will go black and you may hear some clicking of the monitor.
470 This command will create a file, <filename>xorg.conf.new</filename> in your
471 home directory.</para>
472
473 <indexterm zone="xorg7 xorg7-config">
474 <primary sortas="e-etc-X11-xorg-conf">/etc/X11/xorg.conf</primary>
475 </indexterm>
476
477 <para>Edit <filename>xorg.conf.new</filename> to suit your system. The
478 details of the file are located in the xorg.conf man page. Some things
479 you may want to do are:</para>
480
481 <itemizedlist>
482 <listitem>
483 <para>Section "Files". Change the order of the font paths searched.
484 You may want to put 100dpi fonts ahead of 75dpi fonts if your system
485 normally comes up closer to 100 dots per inch. You may want to remove
486 some font directories completely.</para>
487 </listitem>
488 <listitem>
489 <para>Section "Module". If you are going to install NVidia
490 drivers, remove the "dri" line.</para>
491 </listitem>
492 <listitem>
493 <para>Sections "InputDevice". You may want to change the
494 keyboard autorepeat rate by adding
495 <option>Option "Autorepeat" "250 30"</option>.</para>
496 </listitem>
497 <listitem>
498 <para>Section "Monitor". Specify the <option>VertRefresh</option>
499 and <option>HorizSync</option> values if the system does not
500 automatically detect the monitor and its values.</para>
501 </listitem>
502 <listitem>
503 <para>Section "Device". You may want to set some of the options
504 available for your selected video driver. A description of the driver
505 parameters is in the man page for your driver.</para>
506 </listitem>
507 <listitem><para>Section "Screen". Add a DefaultDepth statement such as:
508 <option>DefaultDepth 24</option>. In the SubSection for your
509 default depth, add a modes line such as:
510 <option>Modes "1600x1200" "1280x1024" "1024x768"</option>. The first
511 mode listed will normally be the starting resolution.</para>
512 </listitem>
513 </itemizedlist>
514
515 <para>Test the system with:</para>
516
517<screen><userinput>X -config ~/xorg.conf.new</userinput></screen>
518
519 <para>You will only get a gray background with an X-shaped mouse cursor,
520 but it confirms the system is working. Exit with
521 <keycap>Control+Alt+Backspace</keycap>. If the system does not work, take
522 a look at <filename>/var/log/Xorg.0.log</filename> to see what went
523 wrong.</para>
524
525 <para>Move the configuration file to its final location:</para>
526
527<screen role="root"><userinput>mv ~/xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
528
529 <para>Create <filename>.xinitrc</filename>:</para>
530
531<screen><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
532<literal># Begin .xinitrc file
533xterm -g 80x40+0+0 &amp;
534xclock -g 100x100-0+0 &amp;
535twm</literal>
536EOF</userinput></screen>
537
538 <para>This provides an initial screen with a small clock that is
539 managed by a simple window manager, Tab Window Manager. For details of
540 <command>twm</command>, see the man page.</para>
541
542 <note><para>The above file is the default configuration for Xorg. Xorg's
543 distrubuition no longer includes xterm, as such the startx will fail if
544 you have not yet installed <xref linkend="xterm2"/>.</para></note>
545
546 <indexterm zone="xorg7 xorg7-config">
547 <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
548 </indexterm>
549
550 <note>
551 <para>When needed, <application>Xorg</application> creates the directory
552 <filename>/tmp/.ICE-unix</filename> if it does not exist. If this
553 directory is not owned by <systemitem class="username">root</systemitem>,
554 <application>Xorg</application> delays startup by a few seconds and also
555 appends a warning to the logfile. This also affects startup of other
556 applications. To improve performance, it is advisable to manually create
557 the directory before <application>Xorg</application> uses it. Add the
558 file creation to <filename>/etc/sysconfig/createfiles</filename> that is
559 sourced by the <filename>/etc/rc.d/init.d/cleanfs</filename> startup
560 script.</para>
561
562<screen role="root"><userinput>cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
563<literal>/tmp/.ICE-unix dir 1777 root root</literal>
564EOF</userinput></screen>
565
566 </note>
567
568 <indexterm zone="xorg7 xorg7-config">
569 <primary
570 sortas="e-etc-sysconfig-createfiles">/etc/sysconfig/createfiles</primary>
571 </indexterm>
572
573 <para>Start <application>X</application> with:</para>
574
575<screen><userinput>startx</userinput></screen>
576
577 <para>to get a basic functional <application>X Window
578 System</application>.</para>
579
580 <para>At this point, you should check out <xref linkend='x-setup'/> for
581 the necessary configuration to make <application>X</application> fully
582 functional. Additionally, you can have a look at <xref linkend='x-config'/>
583 for information on fine tuning your <application>X</application>
584 configuration.</para>
585
586 <para>For a list of the package contents and a description of the commands,
587 see the sections in the <xref linkend='xfree86-contents'/>.</para>
588
589 </sect2>
590
591</sect1>
Note: See TracBrowser for help on using the repository browser.