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 | <!ENTITY xfree86-download-http "http://gnu.kookel.org/ftp/XFree86/&xfree86-version;/source/">
|
---|
8 | <!ENTITY xfree86-download-ftp "ftp://ftp.xfree86.org/pub/XFree86/&xfree86-version;/source/">
|
---|
9 | <!ENTITY xfree86-md5sum "ftp://ftp.xfree86.org/pub/XFree86/&xfree86-version;/source/SUMS.md5sum">
|
---|
10 | <!ENTITY xfree86-size "51 MB">
|
---|
11 | <!ENTITY xfree86-buildsize "775 MB">
|
---|
12 | <!ENTITY xfree86-time "12 SBU">
|
---|
13 | ]>
|
---|
14 |
|
---|
15 | <sect1 id="xfree86" xreflabel="XFree86-&xfree86-version;">
|
---|
16 | <?dbhtml filename="xfree86.html" ?>
|
---|
17 |
|
---|
18 | <sect1info>
|
---|
19 | <othername>$LastChangedBy$</othername>
|
---|
20 | <date>$Date$</date>
|
---|
21 | <keywordset>
|
---|
22 | <keyword role="package">XFree86-&xfree86-version;-src-1.tar</keyword>
|
---|
23 | <keyword role="ftpdir">XFree86</keyword>
|
---|
24 | </keywordset>
|
---|
25 | </sect1info>
|
---|
26 |
|
---|
27 | <title>XFree86-&xfree86-version;</title>
|
---|
28 |
|
---|
29 | <indexterm zone="xfree86">
|
---|
30 | <primary sortas="a-xfree86">XFree86</primary>
|
---|
31 | </indexterm>
|
---|
32 |
|
---|
33 | <sect2 role="package">
|
---|
34 | <title>Introduction to XFree86</title>
|
---|
35 |
|
---|
36 | <para><application>XFree86</application> is a freely redistributable
|
---|
37 | open-source implementation of the <application>X Window
|
---|
38 | System</application>. <application>XFree86</application> provides a
|
---|
39 | client/server interface between display hardware (the mouse, keyboard,
|
---|
40 | and video displays) and the desktop environment, while also providing
|
---|
41 | both the windowing infrastructure and a standardized application
|
---|
42 | interface (API).</para>
|
---|
43 |
|
---|
44 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
45 | <itemizedlist spacing="compact">
|
---|
46 | <listitem>
|
---|
47 | <para>Download (HTTP): <ulink url="&xfree86-download-http;"/></para>
|
---|
48 | </listitem>
|
---|
49 | <listitem>
|
---|
50 | <para>Download (FTP): <ulink url="&xfree86-download-ftp;"/></para>
|
---|
51 | </listitem>
|
---|
52 | <listitem>
|
---|
53 | <para>Download MD5 sum: &xfree86-md5sum;</para>
|
---|
54 | </listitem>
|
---|
55 | <listitem>
|
---|
56 | <para>Download size: &xfree86-size;</para>
|
---|
57 | </listitem>
|
---|
58 | <listitem>
|
---|
59 | <para>Estimated disk space required: &xfree86-buildsize;</para>
|
---|
60 | </listitem>
|
---|
61 | <listitem>
|
---|
62 | <para>Estimated build time: &xfree86-time;</para>
|
---|
63 | </listitem>
|
---|
64 | </itemizedlist>
|
---|
65 |
|
---|
66 | <bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
---|
67 | <itemizedlist spacing='compact'>
|
---|
68 | <listitem>
|
---|
69 | <para>Required patch: <ulink
|
---|
70 | url="&patch-root;/XFree86-&xfree86-version;-kernel_headers-1.patch"/>
|
---|
71 | </para>
|
---|
72 | </listitem>
|
---|
73 | </itemizedlist>
|
---|
74 |
|
---|
75 | <bridgehead renderas="sect3">XFree86 Dependencies</bridgehead>
|
---|
76 |
|
---|
77 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
78 | <para role="required"><xref linkend="libpng"/></para>
|
---|
79 |
|
---|
80 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
81 | <para role="optional"><xref linkend="linux-pam"/>; the
|
---|
82 | following packages are included in the <application>XFree86</application>
|
---|
83 | package, however they are updated more often than the
|
---|
84 | <application>XFree86</application> package and are highly recommended:
|
---|
85 | <xref linkend="expat"/>, <xref linkend="freetype2"/>,
|
---|
86 | <xref linkend="fontconfig"/>.</para>
|
---|
87 |
|
---|
88 | <note>
|
---|
89 | <para>If you choose not to install <application>expat</application>,
|
---|
90 | <application>FreeType2</application>, and
|
---|
91 | <application>Fontconfig</application>, the
|
---|
92 | <filename>host.def</filename> file below will have to be modified to
|
---|
93 | instruct <application>XFree86</application> to build them.</para>
|
---|
94 | </note>
|
---|
95 |
|
---|
96 | <bridgehead renderas="sect3">Download Instructions</bridgehead>
|
---|
97 |
|
---|
98 | <para>There are several files that need to be fetched from the download
|
---|
99 | location:</para>
|
---|
100 |
|
---|
101 | <itemizedlist spacing='compact'>
|
---|
102 | <listitem>
|
---|
103 | <para><filename>XFree86-&xfree86-version;-src-1.tgz</filename></para>
|
---|
104 | </listitem>
|
---|
105 | <listitem>
|
---|
106 | <para><filename>XFree86-&xfree86-version;-src-2.tgz</filename></para>
|
---|
107 | </listitem>
|
---|
108 | <listitem>
|
---|
109 | <para><filename>XFree86-&xfree86-version;-src-3.tgz</filename></para>
|
---|
110 | </listitem>
|
---|
111 | <listitem>
|
---|
112 | <para><filename>XFree86-&xfree86-version;-src-4.tgz</filename></para>
|
---|
113 | </listitem>
|
---|
114 | <listitem>
|
---|
115 | <para><filename>XFree86-&xfree86-version;-src-5.tgz</filename></para>
|
---|
116 | </listitem>
|
---|
117 | <listitem>
|
---|
118 | <para><filename>XFree86-&xfree86-version;-src-6.tgz</filename></para>
|
---|
119 | </listitem>
|
---|
120 | <listitem>
|
---|
121 | <para><filename>XFree86-&xfree86-version;-src-7.tgz</filename></para>
|
---|
122 | </listitem>
|
---|
123 | </itemizedlist>
|
---|
124 |
|
---|
125 | <para>The first three packages are the <application>XFree86</application>
|
---|
126 | programs, the fourth and fifth are fonts, the sixth is normal documentation,
|
---|
127 | and the seventh is hardcopy documentation. There are also two packages
|
---|
128 | <filename>doctools-1.3.x.tgz</filename>, which contain programs to
|
---|
129 | regenerate hardcopy documentation, and <filename>utils-1.1.x.tgz</filename>,
|
---|
130 | which contain <application>GNU TAR</application> and
|
---|
131 | <application>zlib</application> which are already installed on an
|
---|
132 | LFS system.</para>
|
---|
133 |
|
---|
134 | <para>To check your downloads for integrity, download the
|
---|
135 | <filename>SUMS.md5sum</filename> file. Then:</para>
|
---|
136 |
|
---|
137 | <screen><userinput>md5sum -c SUMS.md5sum</userinput></screen>
|
---|
138 |
|
---|
139 | <para>The only errors you should see are for <filename>README</filename>,
|
---|
140 | <filename>doctools-1.3.x.tgz</filename>, <filename>utils-1.1.x.tgz</filename>
|
---|
141 | and <filename>XFree86-xtest-4.0.x.tar.bz2</filename> files if you did not
|
---|
142 | download them.</para>
|
---|
143 |
|
---|
144 | <!--
|
---|
145 | <para>The fixes subdirectory also has a <filename>SUMS.md5sum</filename>. Note that
|
---|
146 | this is the same filename as the sums for the main sources, so you need to rename the
|
---|
147 | file if you download it. Otherwise, you can just look at it and use it to
|
---|
148 | check against the patch files:</para>
|
---|
149 | <screen><userinput><command>md5sum 4.3.0-4.3.0.1.diff.gz</command></userinput>
|
---|
150 | <userinput><command>md5sum fontfile.diff</command></userinput></screen>
|
---|
151 |
|
---|
152 | <para>After unpacking the <filename>X430src-?.tgz</filename> files and uncompressing the
|
---|
153 | diff file, change to the <filename class="directory">xc</filename> directory and run:</para>
|
---|
154 |
|
---|
155 | <screen><userinput><command>patch -Np1 -i ../4.3.0-4.3.0.1.diff</command></userinput>
|
---|
156 | <userinput><command>pushd lib/font/fontfile/</command></userinput>
|
---|
157 | <userinput><command>patch -N -i ../../../../fontfile.diff</command></userinput>
|
---|
158 | <userinput><command>popd</command></userinput></screen>
|
---|
159 | -->
|
---|
160 |
|
---|
161 | </sect2>
|
---|
162 |
|
---|
163 | <sect2 role="kernel" id='xfree86-kernel'>
|
---|
164 | <title>Kernel Configuration</title>
|
---|
165 |
|
---|
166 | <para>If you have an Intel P6 (Pentium Pro, Pentium II and later), it is
|
---|
167 | recommended that you compile MTRR (Memory Type Range Registers) support
|
---|
168 | into the kernel. The kernel can map Cyrix and AMD CPUs to the MTRR
|
---|
169 | interface, so selecting this option is useful for those processors also.
|
---|
170 | This option is found in the "Processor type and features" menu. It can
|
---|
171 | increase performance of image write operations 2.5 times or more on PCI
|
---|
172 | or AGP video cards.</para>
|
---|
173 |
|
---|
174 | <indexterm zone="xfree86 xfree86-kernel">
|
---|
175 | <primary sortas="d-xfree86">XFree86</primary>
|
---|
176 | </indexterm>
|
---|
177 |
|
---|
178 | <para>In the "Character Devices" section, enable AGP Support and select
|
---|
179 | the chipset support on your motherboard. If you do not know the chipset,
|
---|
180 | you may select all the chip types at the expense of extra kernel size.
|
---|
181 | You can usually determine your motherboard's chipset by running the
|
---|
182 | command <command>lspci</command>, a program from the
|
---|
183 | <xref linkend="pciutils"/> package.</para>
|
---|
184 |
|
---|
185 | <para>In the "Character Devices" section, <emphasis>disable</emphasis>
|
---|
186 | Direct Rendering Manager unless you have a Direct Rendering Infrastructure
|
---|
187 | (DRI) supported video card. A complete list of DRI supported video cards
|
---|
188 | can be found at <ulink url="http://dri.sourceforge.net" /> in the Status
|
---|
189 | section. Currently, supported cards include those from 3dfx (Voodoo,
|
---|
190 | Banshee), 3Dlabs, ATI (Rage Pro, Rage 128, Radeon 7X00, Radeon 2), Intel
|
---|
191 | (i810, i815), and Matrox (G200, G400, G450).</para>
|
---|
192 |
|
---|
193 | <para>Additionally NVidia provides their own closed source binary drivers,
|
---|
194 | which do not make use of DRI. If you intend to use these drivers, do not
|
---|
195 | enable DRI.</para>
|
---|
196 |
|
---|
197 | <para>If you made any changes to the kernel configuration, recompile and
|
---|
198 | install the new kernel.</para>
|
---|
199 |
|
---|
200 | </sect2>
|
---|
201 |
|
---|
202 | <sect2 role="installation">
|
---|
203 | <title>Installation of XFree86</title>
|
---|
204 |
|
---|
205 | <sect3>
|
---|
206 | <title>Setting Up a Shadow Directory</title>
|
---|
207 |
|
---|
208 | <para>When building <application>XFree86</application>, you should create
|
---|
209 | a shadow directory of symbolic links for the compiled code. To do that,
|
---|
210 | first make <command>lndir</command>. Starting from the
|
---|
211 | <filename class='directory'>xc</filename> directory:</para>
|
---|
212 |
|
---|
213 | <screen><userinput>pushd config/util &&
|
---|
214 | make -f Makefile.ini lndir</userinput></screen>
|
---|
215 |
|
---|
216 | <para>Now, as the <systemitem class="username">root</systemitem>
|
---|
217 | user:</para>
|
---|
218 |
|
---|
219 | <screen role="root"><userinput>cp -v lndir /usr/bin/</userinput></screen>
|
---|
220 |
|
---|
221 | <para>And back as an unprivileged user:</para>
|
---|
222 |
|
---|
223 | <screen><userinput>popd</userinput></screen>
|
---|
224 |
|
---|
225 | <para>Now create the shadow tree:</para>
|
---|
226 |
|
---|
227 | <screen><userinput>mkdir ../xcbuild &&
|
---|
228 | cd ../xcbuild &&
|
---|
229 | lndir ../xc</userinput></screen>
|
---|
230 |
|
---|
231 | </sect3>
|
---|
232 |
|
---|
233 | <sect3>
|
---|
234 | <title>Creating 'host.def'</title>
|
---|
235 |
|
---|
236 | <para>Although <application>XFree86</application> will compile without
|
---|
237 | a <filename>host.def</filename> file, the following file is recommended
|
---|
238 | for customizing the installation. Start from the
|
---|
239 | <filename class="directory">xcbuild</filename> directory.</para>
|
---|
240 |
|
---|
241 | <note>
|
---|
242 | <para>The <filename>host.def</filename> file is a
|
---|
243 | <application>C</application> file, not the usual configuration file.
|
---|
244 | If you make any changes, be sure the comment characters (/* and */)
|
---|
245 | are balanced. Most of the entries in the file below are commented
|
---|
246 | out with the default settings shown.</para>
|
---|
247 | </note>
|
---|
248 |
|
---|
249 | <screen><userinput>cat > config/cf/host.def << "EOF"
|
---|
250 | <literal>/* Begin XFree86 host.def file */
|
---|
251 |
|
---|
252 | /* System Related Information. If you read and configure only one
|
---|
253 | * section then it should be this one. The Intel architecture defaults
|
---|
254 | * are set for a i686 and higher. Axp is for the Alpha architecture
|
---|
255 | * and Ppc is for the Power PC. Note that there have been reports that
|
---|
256 | * the Ppc optimization line causes segmentation faults during build.
|
---|
257 | * If that happens, try building without the DefaultGcc2PpcOpt line. */
|
---|
258 |
|
---|
259 | /* #define DefaultGcc2i386Opt -O2 -fomit-frame-pointer -march=i686 */
|
---|
260 | /* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
|
---|
261 | /* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
|
---|
262 |
|
---|
263 | /* The following definitions are normally set properly by XFree86's
|
---|
264 | * scripts. You can uncomment them if you want to make sure. *********/
|
---|
265 |
|
---|
266 | /* #define HasMTRRSupport YES */ /* Enabled in kernel; */
|
---|
267 | /* see kernel docs */
|
---|
268 | /* #define HasMMXSupport NO */ /* Any i586 or above */
|
---|
269 | /* #define HasKatmaiSupport NO */ /* PIII SSE instructions */
|
---|
270 | /* #define Has3DNowSupport NO */ /* AMD instructions */
|
---|
271 |
|
---|
272 |
|
---|
273 | /* This setting reduces compile time a little by omitting rarely used
|
---|
274 | * input devices. You can find the complete list in
|
---|
275 | * config/cf/xfree86.cf *********************************************/
|
---|
276 |
|
---|
277 | #define XInputDrivers mouse void
|
---|
278 |
|
---|
279 | /* VIDEO DRIVERS ****************************************************/
|
---|
280 |
|
---|
281 | /* If you are sure you only want the drivers for one or a few video
|
---|
282 | * cards, you can delete the drivers you do not want. ***************/
|
---|
283 |
|
---|
284 |
|
---|
285 | #define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
|
---|
286 | neomagic i740 tdfx savage \
|
---|
287 | cirrus vmware tseng trident chips apm \
|
---|
288 | GlideDriver fbdev i128 nsc \
|
---|
289 | ati i810 DevelDrivers ark \
|
---|
290 | cyrix siliconmotion \
|
---|
291 | vesa vga \
|
---|
292 | dummy XF86OSCardDrivers XF86ExtraCardDrivers
|
---|
293 |
|
---|
294 |
|
---|
295 | /* USER AND SYSTEM DEFAULT PATHS *************************************/
|
---|
296 |
|
---|
297 | /* These settings set the PATH variables used by xdm. See README for */
|
---|
298 | /* detailed description and modify the following as per your need. ***/
|
---|
299 |
|
---|
300 | /* #define DefaultSystemPath \
|
---|
301 | /usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin */
|
---|
302 | /* #define DefaultUserPath /usr/bin:/bin:/usr/X11R6/bin */
|
---|
303 |
|
---|
304 | /* FONT SERVER AND LIBRARY SETTINGS **********************************/
|
---|
305 |
|
---|
306 | /* These settings are the defaults **********************************/
|
---|
307 |
|
---|
308 | /* #define BuildFontServer YES */ /*For Ghostscript Print Server*/
|
---|
309 | /* #define SharedLibFont YES */
|
---|
310 | /* #define CompressAllFonts YES */
|
---|
311 | /* #define GzipFontCompression YES */
|
---|
312 |
|
---|
313 | /* These settings ensure we use our libraries ************************/
|
---|
314 | #define HasFreetype2 YES
|
---|
315 | #define HasFontconfig YES
|
---|
316 | #define HasExpat YES
|
---|
317 | #define HasLibpng YES
|
---|
318 | #define HasZlib YES
|
---|
319 |
|
---|
320 | /* The font path can be redefined in the XF86Config file *************/
|
---|
321 |
|
---|
322 | /*
|
---|
323 | #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,\
|
---|
324 | $(FONTDIR)/100dpi/,$(FONTDIR)/Type1,$(FONTDIR)/local,\
|
---|
325 | $(FONTDIR)/TrueType,$(FONTDIR)/CID,$(FONTDIR)/Speedo
|
---|
326 | */
|
---|
327 |
|
---|
328 |
|
---|
329 | /* INTERNATIONAL FONTS. Change to YES if you need any of them. These
|
---|
330 | * are the defaults. **************************************************/
|
---|
331 |
|
---|
332 | /* #define BuildCyrillicFonts NO */
|
---|
333 | /* #define BuildArabicFonts NO */
|
---|
334 | /* #define BuildISO8859_6Fonts NO */
|
---|
335 | /* #define BuildGreekFonts NO */
|
---|
336 | /* #define BuildISO8859_7Fonts NO */
|
---|
337 | /* #define BuildHebrewFonts NO */
|
---|
338 | /* #define BuildISO8859_8Fonts NO */
|
---|
339 | /* #define BuildKOI8_RFonts NO */
|
---|
340 | /* #define BuildJapaneseFonts NO */
|
---|
341 | /* #define BuildJISX0201Fonts NO */
|
---|
342 | /* #define BuildKoreanFonts NO */
|
---|
343 | /* #define BuildChineseFonts NO */
|
---|
344 |
|
---|
345 | /* DOCUMENTATION SETTINGS ********************************************/
|
---|
346 |
|
---|
347 | /* These setting are the defaults. ***********************************/
|
---|
348 |
|
---|
349 | /* #define BuildLinuxDocHtml NO */ /* X Docs in Html format */
|
---|
350 | /* #define BuildLinuxDocPS NO */ /* PostScript format */
|
---|
351 | /* #define BuildAllSpecsDocs NO */ /* Various docs */
|
---|
352 | /* #define BuildHtmlManPages NO */
|
---|
353 |
|
---|
354 | /* GENERAL SETTINGS: You generally want to leave these alone when
|
---|
355 | * building X on an LFS system ***************************************/
|
---|
356 |
|
---|
357 | #define GccWarningOptions -pipe /* Speed up compiles */
|
---|
358 | #define TermcapLibrary -lncurses
|
---|
359 | #define XprtServer YES /* Needed by realplayer */
|
---|
360 | #define XnestServer YES
|
---|
361 | #define XAppLoadDir EtcX11Directory/app-defaults
|
---|
362 | #define VarLibDir /var/lib
|
---|
363 | #define XFree86Devel NO
|
---|
364 | #define FSUseSyslog YES
|
---|
365 | #define ThreadedX YES
|
---|
366 | #define HasPam NO
|
---|
367 | #define SystemManDirectory /usr/share/man /*Instead of /usr/man*/
|
---|
368 | #define HasLibCrypt YES
|
---|
369 | #define InstallXinitConfig YES
|
---|
370 | #define InstallXdmConfig YES
|
---|
371 | #define ForceNormalLib YES
|
---|
372 | #define BuildSpecsDocs NO
|
---|
373 |
|
---|
374 | /* End XFree86 host.def file */</literal>
|
---|
375 | EOF</userinput></screen>
|
---|
376 |
|
---|
377 | <para>Edit the file for your hardware and desires.</para>
|
---|
378 |
|
---|
379 | </sect3>
|
---|
380 |
|
---|
381 | <sect3>
|
---|
382 | <title>Build Commands</title>
|
---|
383 |
|
---|
384 | <para>Install <application>XFree86</application> by running the
|
---|
385 | following commands:</para>
|
---|
386 |
|
---|
387 | <screen><userinput>patch -Np1 -i ../XFree86-&xfree86-version;-kernel_headers-1.patch &&
|
---|
388 | sed -i -e "s@^#include <linux/config.h>@/* & */@" \
|
---|
389 | `grep -lr linux/config.h *` &&
|
---|
390 | ( make WORLDOPTS="" World 2>&1 | \
|
---|
391 | tee xfree-compile.log && exit $PIPESTATUS )</userinput></screen>
|
---|
392 |
|
---|
393 | <para>Now, as the <systemitem class="username">root</systemitem>
|
---|
394 | user:</para>
|
---|
395 |
|
---|
396 | <screen role="root"><userinput>make install &&
|
---|
397 | make install.man &&
|
---|
398 | ln -v -sf ../X11R6/bin /usr/bin/X11 &&
|
---|
399 | ln -v -sf ../X11R6/lib/X11 /usr/lib/X11 &&
|
---|
400 | ln -v -sf ../X11R6/include/X11 /usr/include/X11</userinput></screen>
|
---|
401 |
|
---|
402 | <para><application>XFree86</application> installs the
|
---|
403 | <application>XRender</application> and
|
---|
404 | <application>XExtensions</application> extension libraries but does not
|
---|
405 | install the corresponding <application>pkg-config</application> files.
|
---|
406 | Create the files by issuing the following commands as the
|
---|
407 | <systemitem class="username">root</systemitem> user:</para>
|
---|
408 |
|
---|
409 | <screen role="root"><userinput>cat > /usr/X11R6/lib/pkgconfig/xrender.pc << "EOF"
|
---|
410 | <literal>prefix=/usr/X11R6
|
---|
411 | exec_prefix=${prefix}
|
---|
412 | libdir=${exec_prefix}/lib
|
---|
413 | includedir=${prefix}/include
|
---|
414 |
|
---|
415 | Name: Xrender
|
---|
416 | Description: X Render Library
|
---|
417 | Version: 0.8.3
|
---|
418 | Cflags: -I${includedir} -I/usr/X11R6/include
|
---|
419 | Libs: -L${libdir} -lXrender -L/usr/X11R6/lib -lX11</literal>
|
---|
420 |
|
---|
421 | EOF
|
---|
422 |
|
---|
423 | cat > /usr/X11R6/lib/pkgconfig/xextensions.pc << "EOF"
|
---|
424 | <literal>prefix=/usr/X11R6
|
---|
425 | exec_prefix=${prefix}
|
---|
426 | libdir=${exec_prefix}/lib
|
---|
427 | includedir=${prefix}/include
|
---|
428 |
|
---|
429 | Name: XExtensions
|
---|
430 | Description: Sundry X extension headers
|
---|
431 | Version: 1.0.1
|
---|
432 | Cflags: -I${includedir}</literal>
|
---|
433 |
|
---|
434 | EOF</userinput></screen>
|
---|
435 |
|
---|
436 | </sect3>
|
---|
437 |
|
---|
438 | </sect2>
|
---|
439 |
|
---|
440 | <sect2 role="commands">
|
---|
441 | <title>Command Explanations</title>
|
---|
442 |
|
---|
443 | <para><command>sed -i -e "s@^#include <linux/config.h>@...</command>:
|
---|
444 | The <application>Linux-Libc-Headers</application> package installed in
|
---|
445 | LFS installs a <filename>/usr/include/linux/config.h</filename> file which
|
---|
446 | is not compatible with userspace applications. The recommended fix for
|
---|
447 | applications including this file is to remove it (see <ulink
|
---|
448 | url="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/doc/FAQ">
|
---|
449 | linux-libc-headers FAQ</ulink>). The <command>sed</command> uses
|
---|
450 | <command>grep -lr</command> to replace all occurrences. If you desire, just
|
---|
451 | remove (comment) the line in the appropriate video driver file if you
|
---|
452 | customized <filename>host.def</filename>.</para>
|
---|
453 |
|
---|
454 | <para><command>( make WORLDOPTS="" World 2>&1 | tee xfree-compile.log
|
---|
455 | && exit $PIPESTATUS )</command>:
|
---|
456 | This command runs multiple <filename>Makefile</filename>s to completely
|
---|
457 | rebuild the system. <envar>WORLDOPTS</envar>="" disables the default setting
|
---|
458 | to continue after encountering an error. <option>2>&1</option>
|
---|
459 | redirects error messages to the same location as standard output. The
|
---|
460 | <command>tee</command> command allows viewing of the output while logging
|
---|
461 | the results to a file. The parentheses around the command runs the entire
|
---|
462 | command in a subshell and finally the <command>exit $PIPESTATUS</command>
|
---|
463 | ensures the result of the <command>make</command> is returned as the result
|
---|
464 | and not the result of the <command>tee</command> command.</para>
|
---|
465 |
|
---|
466 | <note>
|
---|
467 | <para>When rebuilding <application>XFree86</application>, a separate
|
---|
468 | command that may be used if only minor changes are made to the sources
|
---|
469 | is <command>make Everything</command>. This does not automatically
|
---|
470 | remove generated files and only rebuilds those files or programs that
|
---|
471 | are out of date.</para>
|
---|
472 | </note>
|
---|
473 |
|
---|
474 | <para><command>ln -v -sf ...</command>: These commands are present to
|
---|
475 | enable other (broken) packages to build against
|
---|
476 | <application>XFree86</application>, even though the Filesystem Hierarchy
|
---|
477 | Standard says: <quote>In general, software must not be installed or managed
|
---|
478 | via the above symbolic links. They are intended for utilization by
|
---|
479 | users only.</quote></para>
|
---|
480 |
|
---|
481 | </sect2>
|
---|
482 |
|
---|
483 | <sect2 role="configuration" id="xfree86-config">
|
---|
484 | <title>Configuring XFree86</title>
|
---|
485 |
|
---|
486 | <para>As the <systemitem class="username">root</systemitem> user: Edit
|
---|
487 | <filename>/etc/ld.so.conf</filename> and add
|
---|
488 | <filename class="directory">/usr/X11R6/lib</filename>, then run:</para>
|
---|
489 |
|
---|
490 | <screen role="root"><userinput>ldconfig</userinput></screen>
|
---|
491 |
|
---|
492 | <indexterm zone="xfree86 xfree86-config">
|
---|
493 | <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
|
---|
494 | </indexterm>
|
---|
495 |
|
---|
496 | <para>Ensure <filename class="directory">/usr/X11R6/bin</filename>
|
---|
497 | and <filename class="directory">/usr/X11R6/lib/pkgconfig</filename>
|
---|
498 | are added to your <envar>PATH</envar> and <envar>PKG_CONFIG_PATH</envar>
|
---|
499 | environment variables, respectively. Instructions for doing this are
|
---|
500 | described in the section <xref linkend='postlfs-config-profile'/>.</para>
|
---|
501 |
|
---|
502 | <indexterm zone="xfree86 xfree86-config">
|
---|
503 | <primary sortas="e-etc-X11-XF86Config">/etc/X11/XF86Config</primary>
|
---|
504 | </indexterm>
|
---|
505 |
|
---|
506 | <para>Create the <filename>XF86Config</filename> file with:</para>
|
---|
507 |
|
---|
508 | <screen><userinput>cd ~ &&
|
---|
509 | XFree86 -configure</userinput></screen>
|
---|
510 |
|
---|
511 | <para>The screen will go black and you may hear some clicking of the monitor.
|
---|
512 | This command will create a file, <filename>XF86Config.new</filename> in your
|
---|
513 | home directory.</para>
|
---|
514 |
|
---|
515 | <para>Edit <filename>XF86Config.new</filename> to suit your system.
|
---|
516 | The details of the file are located in the man page <command>man
|
---|
517 | XF86Config</command>. Some things you may want to do are:</para>
|
---|
518 |
|
---|
519 | <itemizedlist>
|
---|
520 | <listitem>
|
---|
521 | <para>Section "Files". Change the order of the font paths searched.
|
---|
522 | You may want to put 100dpi fonts ahead of 75dpi fonts if your system
|
---|
523 | normally comes up closer to 100 dots per inch. You may want to remove
|
---|
524 | some font directories completely.</para>
|
---|
525 | </listitem>
|
---|
526 | <listitem>
|
---|
527 | <para>Section "Module". If you are going to install NVidia
|
---|
528 | drivers, remove the "dri" line.</para>
|
---|
529 | </listitem>
|
---|
530 | <listitem>
|
---|
531 | <para>Sections "InputDevice". You may want to change the
|
---|
532 | keyboard autorepeat rate by adding
|
---|
533 | <option>Option "Autorepeat" "250 30"</option>.</para>
|
---|
534 | </listitem>
|
---|
535 | <listitem>
|
---|
536 | <para>Section "Monitor". Specify the <option>VertRefresh</option>
|
---|
537 | and <option>HorizSync</option> values if the system does not
|
---|
538 | automatically detect the monitor and its values.</para>
|
---|
539 | </listitem>
|
---|
540 | <listitem>
|
---|
541 | <para>Section "Device". You may want to set some of the options
|
---|
542 | available for your selected video driver. A description of the
|
---|
543 | driver parameters is in the man page for your driver.</para>
|
---|
544 | </listitem>
|
---|
545 | <listitem>
|
---|
546 | <para>Section "Screen". Add a DefaultDepth statement such as:
|
---|
547 | <option>DefaultDepth 24</option>. In the SubSection for your
|
---|
548 | default depth, add a modes line such as:
|
---|
549 | <option>Modes "1600x1200" "1280x1024" "1024x768"</option>. The
|
---|
550 | first mode listed will normally be the starting resolution.</para>
|
---|
551 | </listitem>
|
---|
552 | </itemizedlist>
|
---|
553 |
|
---|
554 | <para>Test the system with:</para>
|
---|
555 |
|
---|
556 | <screen><userinput>XFree86 -xf86config ~/XF86Config.new</userinput></screen>
|
---|
557 |
|
---|
558 | <para>You will only get a gray background with an X-shaped mouse cursor,
|
---|
559 | but it confirms the system is working. Exit with
|
---|
560 | <keycap>Control+Alt+Backspace</keycap>. If the system does not work,
|
---|
561 | examine <filename>/var/log/XFree86.0.log</filename> to see what went
|
---|
562 | wrong.</para>
|
---|
563 |
|
---|
564 | <para>As the <systemitem class="username">root</systemitem> user:
|
---|
565 | move the configuration file to its final location:</para>
|
---|
566 |
|
---|
567 | <screen role="root"><userinput>mv ~/XF86Config.new /etc/X11/XF86Config</userinput></screen>
|
---|
568 |
|
---|
569 | <para>Create <filename>.xinitrc</filename>:</para>
|
---|
570 |
|
---|
571 | <screen><userinput>cat > ~/.xinitrc << "EOF"
|
---|
572 | <literal># Begin .xinitrc file
|
---|
573 | xterm -g 80x40+0+0 &
|
---|
574 | xclock -g 100x100-0+0 &
|
---|
575 | twm</literal>
|
---|
576 | EOF</userinput></screen>
|
---|
577 |
|
---|
578 | <para>This provides an initial screen with an xterm and a clock that is
|
---|
579 | managed by a simple window manager, Tab Window Manager. For details of
|
---|
580 | <command>twm</command>, see the man page.</para>
|
---|
581 |
|
---|
582 | <indexterm zone="xfree86 xfree86-config">
|
---|
583 | <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
|
---|
584 | </indexterm>
|
---|
585 |
|
---|
586 | <note>
|
---|
587 | <para>When needed, <application>XFree86</application> creates the
|
---|
588 | directory <filename>/tmp/.ICE-unix</filename> if it does not exist.
|
---|
589 | If this directory is not owned by <systemitem
|
---|
590 | class="username">root</systemitem>, <application>XFree86</application>
|
---|
591 | delays startup by a few seconds and also appends a warning to the
|
---|
592 | logfile. This also affects startup of other applications. To improve
|
---|
593 | performance, it is advisable to manually create the directory before
|
---|
594 | <application>XFree86</application> uses it. Add the file creation to
|
---|
595 | <filename>/etc/sysconfig/createfiles</filename> that is sourced by
|
---|
596 | the <filename>/etc/rc.d/init.d/cleanfs</filename> startup script.</para>
|
---|
597 |
|
---|
598 | <screen role="root"><userinput>cat >> /etc/sysconfig/createfiles << "EOF"
|
---|
599 | <literal>/tmp/.ICE-unix dir 1777 root root</literal>
|
---|
600 | EOF</userinput></screen>
|
---|
601 |
|
---|
602 | </note>
|
---|
603 |
|
---|
604 | <indexterm zone="xfree86 xfree86-config">
|
---|
605 | <primary
|
---|
606 | sortas="e-etc-sysconfig-createfiles">/etc/sysconfig/createfiles</primary>
|
---|
607 | </indexterm>
|
---|
608 |
|
---|
609 | <para>Start <application>X</application> with:</para>
|
---|
610 |
|
---|
611 | <screen><userinput>startx</userinput></screen>
|
---|
612 |
|
---|
613 | <para>to get a basic functional <application>X Window
|
---|
614 | System</application>.</para>
|
---|
615 |
|
---|
616 | <para>At this point, you should check out <xref linkend='x-setup'/>
|
---|
617 | for the necessary configuration to make <application>X</application>
|
---|
618 | fully functional. Additionally, you can have a look at <xref
|
---|
619 | linkend='x-config'/> for information on fine tuning your
|
---|
620 | <application>X</application> configuration.</para>
|
---|
621 |
|
---|
622 | </sect2>
|
---|
623 |
|
---|
624 | <sect2 id="xfree86-contents" role="content"
|
---|
625 | xreflabel="XFree86 Contents and Descriptions">
|
---|
626 | <title>Contents</title>
|
---|
627 |
|
---|
628 | <para>The <application>XFree86</application> package contains the
|
---|
629 | <application>X Window System</application> for Linux (and other operating
|
---|
630 | systems). It includes the <application>X</application> server, fonts,
|
---|
631 | <command>xterm</command>, a simple window manager (<command>twm</command>),
|
---|
632 | various utilities, video output drivers, and various input drivers
|
---|
633 | including the mouse and keyboard.</para>
|
---|
634 |
|
---|
635 | <para><application>XFree86</application> also contains libraries and header
|
---|
636 | files for development of the <application>X Window System</application>
|
---|
637 | programs.</para>
|
---|
638 |
|
---|
639 | <note>
|
---|
640 | <para>The following lists are not comprehensive. The full list of
|
---|
641 | programs is in <filename class="directory">/usr/X11R6/bin</filename>.
|
---|
642 | For additional information about these programs, see the respective
|
---|
643 | man page.</para>
|
---|
644 | </note>
|
---|
645 |
|
---|
646 | <segmentedlist>
|
---|
647 | <segtitle>Installed Programs</segtitle>
|
---|
648 | <segtitle>Installed Libraries</segtitle>
|
---|
649 | <segtitle>Installed Directories</segtitle>
|
---|
650 |
|
---|
651 | <seglistitem>
|
---|
652 | <seg>XFree86, xf86config, xf86cfg, startx, xinit, twm, xterm,
|
---|
653 | xwininfo, x11perf, xlsfonts, xvidtune, xload, xcalc, xclock,
|
---|
654 | oclock, and xmodmap</seg>
|
---|
655 | <seg>libGL.so, libGLU.so, libSM.so, libXi.so, libXrender.so,
|
---|
656 | libXt.so, and libXfont.so</seg>
|
---|
657 | <seg>/usr/X11R6/ and /etc/X11/</seg>
|
---|
658 | </seglistitem>
|
---|
659 | </segmentedlist>
|
---|
660 |
|
---|
661 | <variablelist>
|
---|
662 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
663 | <?dbfo list-presentation="list"?>
|
---|
664 | <?dbhtml list-presentation="table"?>
|
---|
665 |
|
---|
666 | <varlistentry id="XFree86">
|
---|
667 | <term><command>XFree86</command></term>
|
---|
668 | <listitem>
|
---|
669 | <para>is the X11R6 implementation of the <application>X Window
|
---|
670 | System</application> server.</para>
|
---|
671 | <indexterm zone="xfree86 XFree86">
|
---|
672 | <primary sortas="b-XFree86">XFree86</primary>
|
---|
673 | </indexterm>
|
---|
674 | </listitem>
|
---|
675 | </varlistentry>
|
---|
676 |
|
---|
677 | <varlistentry id="xf86config">
|
---|
678 | <term><command>xf86config</command></term>
|
---|
679 | <listitem>
|
---|
680 | <para>is an interactive program for generating an
|
---|
681 | <filename>XF86Config</filename> file for use with
|
---|
682 | <application>XFree86</application> <application>X</application>
|
---|
683 | servers.</para>
|
---|
684 | <indexterm zone="xfree86 xf86config">
|
---|
685 | <primary sortas="b-xf86config">xf86config</primary>
|
---|
686 | </indexterm>
|
---|
687 | </listitem>
|
---|
688 | </varlistentry>
|
---|
689 |
|
---|
690 | <varlistentry id="xf86cfg">
|
---|
691 | <term><command>xf86cfg</command></term>
|
---|
692 | <listitem>
|
---|
693 | <para>is a tool to configure <application>XFree86</application>
|
---|
694 | that can be used to either write the initial configuration file
|
---|
695 | or make customizations to the current configuration.</para>
|
---|
696 | <indexterm zone="xfree86 xf86cfg">
|
---|
697 | <primary sortas="b-xf86cfg">xf86cfg</primary>
|
---|
698 | </indexterm>
|
---|
699 | </listitem>
|
---|
700 | </varlistentry>
|
---|
701 |
|
---|
702 | <varlistentry id="startx">
|
---|
703 | <term><command>startx</command></term>
|
---|
704 | <listitem>
|
---|
705 | <para>is a script to initialize the <application>X</application>
|
---|
706 | session. It runs <command>xinit</command>.</para>
|
---|
707 | <indexterm zone="xfree86 startx">
|
---|
708 | <primary sortas="b-startx">startx</primary>
|
---|
709 | </indexterm>
|
---|
710 | </listitem>
|
---|
711 | </varlistentry>
|
---|
712 |
|
---|
713 | <varlistentry id="xinit">
|
---|
714 | <term><command>xinit</command></term>
|
---|
715 | <listitem>
|
---|
716 | <para>is used to start the <application>X Window
|
---|
717 | System</application> server.</para>
|
---|
718 | <indexterm zone="xfree86 xinit">
|
---|
719 | <primary sortas="b-xinit">xinit</primary>
|
---|
720 | </indexterm>
|
---|
721 | </listitem>
|
---|
722 | </varlistentry>
|
---|
723 |
|
---|
724 | <varlistentry id="twm">
|
---|
725 | <term><command>twm</command></term>
|
---|
726 | <listitem>
|
---|
727 | <para>(Tab Window Manager) is a window manager included with the
|
---|
728 | <application>X Window System</application>.</para>
|
---|
729 | <indexterm zone="xfree86 twm">
|
---|
730 | <primary sortas="b-twm">twm</primary>
|
---|
731 | </indexterm>
|
---|
732 | </listitem>
|
---|
733 | </varlistentry>
|
---|
734 |
|
---|
735 | <varlistentry id="xterm">
|
---|
736 | <term><command>xterm</command></term>
|
---|
737 | <listitem>
|
---|
738 | <para>is a terminal emulator for <application>X</application>.</para>
|
---|
739 | <indexterm zone="xfree86 xterm">
|
---|
740 | <primary sortas="b-xterm">xterm</primary>
|
---|
741 | </indexterm>
|
---|
742 | </listitem>
|
---|
743 | </varlistentry>
|
---|
744 |
|
---|
745 | <varlistentry id="xwininfo">
|
---|
746 | <term><command>xwininfo</command></term>
|
---|
747 | <listitem>
|
---|
748 | <para>is a window information utility for
|
---|
749 | <application>X</application>.</para>
|
---|
750 | <indexterm zone="xfree86 xwininfo">
|
---|
751 | <primary sortas="b-xwininfo">xwininfo</primary>
|
---|
752 | </indexterm>
|
---|
753 | </listitem>
|
---|
754 | </varlistentry>
|
---|
755 |
|
---|
756 | <varlistentry id="x11perf">
|
---|
757 | <term><command>x11perf</command></term>
|
---|
758 | <listitem>
|
---|
759 | <para>is an <application>X</application>11 server performance
|
---|
760 | test program.</para>
|
---|
761 | <indexterm zone="xfree86 x11perf">
|
---|
762 | <primary sortas="b-x11perf">x11perf</primary>
|
---|
763 | </indexterm>
|
---|
764 | </listitem>
|
---|
765 | </varlistentry>
|
---|
766 |
|
---|
767 | <varlistentry id="xlsfonts">
|
---|
768 | <term><command>xlsfonts</command></term>
|
---|
769 | <listitem>
|
---|
770 | <para>is a program to list fonts available to the
|
---|
771 | <application>X</application> server.</para>
|
---|
772 | <indexterm zone="xfree86 xlsfonts">
|
---|
773 | <primary sortas="b-xlsfonts">xlsfonts</primary>
|
---|
774 | </indexterm>
|
---|
775 | </listitem>
|
---|
776 | </varlistentry>
|
---|
777 |
|
---|
778 | <varlistentry id="xvidtune">
|
---|
779 | <term><command>xvidtune</command></term>
|
---|
780 | <listitem>
|
---|
781 | <para>is a video mode tuner for
|
---|
782 | <application>XFree86</application>.</para>
|
---|
783 | <indexterm zone="xfree86 xvidtune">
|
---|
784 | <primary sortas="b-xvidtune">xvidtune</primary>
|
---|
785 | </indexterm>
|
---|
786 | </listitem>
|
---|
787 | </varlistentry>
|
---|
788 |
|
---|
789 | <varlistentry id="xload">
|
---|
790 | <term><command>xload</command></term>
|
---|
791 | <listitem>
|
---|
792 | <para> is a system load average display for
|
---|
793 | <application>X</application>.</para>
|
---|
794 | <indexterm zone="xfree86 xload">
|
---|
795 | <primary sortas="b-xload">xload</primary>
|
---|
796 | </indexterm>
|
---|
797 | </listitem>
|
---|
798 | </varlistentry>
|
---|
799 |
|
---|
800 | <varlistentry id="xcalc">
|
---|
801 | <term><command>xcalc</command></term>
|
---|
802 | <listitem>
|
---|
803 | <para>is a scientific calculator for
|
---|
804 | <application>X</application>.</para>
|
---|
805 | <indexterm zone="xfree86 xcalc">
|
---|
806 | <primary sortas="b-xcalc">xcalc</primary>
|
---|
807 | </indexterm>
|
---|
808 | </listitem>
|
---|
809 | </varlistentry>
|
---|
810 |
|
---|
811 | <varlistentry id="xclock">
|
---|
812 | <term><command>xclock</command></term>
|
---|
813 | <listitem>
|
---|
814 | <para>is a clock programs for <application>X</application>.</para>
|
---|
815 | <indexterm zone="xfree86 xclock">
|
---|
816 | <primary sortas="b-xclock">xclock</primary>
|
---|
817 | </indexterm>
|
---|
818 | </listitem>
|
---|
819 | </varlistentry>
|
---|
820 |
|
---|
821 | <varlistentry id="oclock">
|
---|
822 | <term><command>oclock</command></term>
|
---|
823 | <listitem>
|
---|
824 | <para>is a clock programs for <application>X</application>.</para>
|
---|
825 | <indexterm zone="xfree86 oclock">
|
---|
826 | <primary sortas="b-oclock">oclock</primary>
|
---|
827 | </indexterm>
|
---|
828 | </listitem>
|
---|
829 | </varlistentry>
|
---|
830 |
|
---|
831 | <varlistentry id="xmodmap">
|
---|
832 | <term><command>xmodmap</command></term>
|
---|
833 | <listitem>
|
---|
834 | <para>is a utility for modifying keymaps and pointer button
|
---|
835 | mappings in <application>X</application>.</para>
|
---|
836 | <indexterm zone="xfree86 xmodmap">
|
---|
837 | <primary sortas="b-xmodmap">xmodmap</primary>
|
---|
838 | </indexterm>
|
---|
839 | </listitem>
|
---|
840 | </varlistentry>
|
---|
841 |
|
---|
842 | </variablelist>
|
---|
843 |
|
---|
844 | </sect2>
|
---|
845 |
|
---|
846 | </sect1>
|
---|