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