Changeset 36c3ba1 for x


Ignore:
Timestamp:
05/19/2005 07:16:56 PM (19 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.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
Children:
7d7bb83
Parents:
06092fc
Message:

Tagged xorg.xml

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • x/installing/xorg.xml

    r06092fc r36c3ba1  
    1414
    1515<sect1 id="xorg" xreflabel="X.org-&xorg-version;">
    16 <sect1info>
    17   <othername>$LastChangedBy$</othername>
    18   <date>$Date$</date>
    19 </sect1info>
    20 
    21 <?dbhtml filename="xorg.html"?>
    22 <title>Xorg-&xorg-version;</title>
    23 
    24 <indexterm zone="xorg">
    25   <primary sortas="a-xorg">Xorg</primary>
    26 </indexterm>
    27 
    28 <sect2>
    29 <title>Introduction to <application>Xorg</application></title>
    30 
    31 <note><para>There are two packages in <acronym>BLFS</acronym> that implement
    32 the <application>X</application> Window System: <application>Xorg</application>
    33 and <application>XFree86</application>. These packages are quite similar. In
    34 fact, the base system of <application>Xorg</application> is
    35 <application>XFree86</application>-4.4.0RC2. The primary difference as of this
    36 writing is the license provisions of the packages.  For someone building a
    37 package for their own use, these issues are not significant.  Most large
    38 commercial distributions have decided to use the 
    39 <application>Xorg</application> package, but several still use
    40 <application>XFree86</application>.</para>
    41 
    42 <para>A second reason for the forking of <application>X</application> packages
    43 is the stated goals of the developers. Some developers were unhappy with the
    44 administration and progress of <application>XFree86</application>. X.org's
    45 future plans include significant improvements to the internals of the system
    46 and more frequent releases.</para>
    47 
    48 <para><application>XFree86</application> continues to be a solid, conservative
    49 application with excellent driver support.</para>
    50 
    51 <para>Both <application>Xorg</application> and
    52 <application>XFree86</application> can be installed in the same way, but this
    53 section will provide a slightly different and more current variation for
    54 installation.</para>
    55 </note>
    56 
    57 <para><application>Xorg</application> is a freely redistributable open-source
    58 implementation of the <application>X</application> Window System. This
    59 application provides a client/server interface between display hardware (the
    60 mouse, keyboard, and video displays) and the desktop environment, while also
    61 providing both the windowing infrastructure and a standardized application
    62 interface (<acronym>API</acronym>).</para>
    63  
    64 <sect3><title>Package information</title>
    65   <itemizedlist spacing='compact'>
    66     <listitem><para>Download (HTTP): <ulink url="&xorg-download-http;"/></para></listitem>
    67     <listitem><para>Download (FTP): <ulink url="&xorg-download-ftp;"/></para></listitem>
    68     <listitem><para>Download MD5 sum: &xorg-md5sum;</para></listitem>
    69     <listitem><para>Download size: &xorg-size;</para></listitem>
    70     <listitem><para>Estimated disk space required: &xorg-buildsize;</para></listitem>
    71     <listitem><para>Estimated build time: &xorg-time;</para></listitem>
    72   </itemizedlist>
    73 </sect3>
    74  
    75 <sect3>
    76   <title><application>Xorg</application> Dependencies</title>
    77  
    78 <sect4>
    79   <title>Required</title>
    80   <para><xref linkend="libpng"/> and
    81         <xref linkend="fontconfig"/></para>
    82 </sect4>
    83 
    84 <sect4>
    85   <title>Optional</title>
    86   <para><xref linkend="Linux_PAM"/></para>
    87 </sect4>
    88 
    89 </sect3>
    90  
    91 <sect3><title>Download Instructions</title>
    92  
    93 <para>As an alternative to downloading the entire source tree in a single
    94 file, there are several files that need to be fetched from the download
    95 location (directory /pub/x.org/pub/X11R&xorg-version;/src/):</para>
    96 
    97 <itemizedlist spacing='compact'>
    98   <listitem><para><filename>X11R&xorg-version;-src1.tar.gz</filename></para></listitem>
    99   <listitem><para><filename>X11R&xorg-version;-src2.tar.gz</filename></para></listitem>
    100   <listitem><para><filename>X11R&xorg-version;-src3.tar.gz</filename></para></listitem>
    101   <listitem><para><filename>X11R&xorg-version;-src4.tar.gz</filename></para></listitem>
    102   <listitem><para><filename>X11R&xorg-version;-src5.tar.gz</filename></para></listitem>
    103   <listitem><para><filename>X11R&xorg-version;-src6.tar.gz</filename></para></listitem>
    104   <listitem><para><filename>X11R&xorg-version;-src7.tar.gz</filename></para></listitem>
    105 </itemizedlist>
    106 
    107 <para>The first package contains the <application>Xorg</application> libraries
    108 and support programs, the second contains standard <application>X</application>
    109 programs, the third contains the <application>X</application> server, the
    110 fourth and fifth are fonts, the sixth is normal documentation, and the seventh
    111 is hardcopy documentation.</para>
    112  
    113 <para>To check your file for integrity, download the
    114 <filename>md5sums</filename> file. Then:</para>
    115  
    116 <screen><userinput><command>md5sum -c md5sums</command></userinput></screen>
    117  
    118 <para>The package (or all seven packages) should give an OK status.</para>
    119 </sect3>
    120 </sect2>
    121 
    122 <sect2>
    123   <title>Installation of <application>Xorg</application></title>
    124 
    125 <sect3 id='xorg-kernel'>
    126   <title>Kernel Compilation Settings</title>
    127 
    128   <indexterm zone="xorg xorg-kernel">
    129   <primary sortas="d-Xorg">Xorg</primary></indexterm>
    130 
    131   <para>If you have an Intel P6 (Pentium Pro, Pentium II and later), it is
    132     recommended that you compile <acronym>MTRR</acronym> (Memory Type Range
    133     Registers) support into the kernel. The kernel can map Cyrix and AMD
    134     <acronym>CPU</acronym>s to the <acronym>MTRR</acronym> interface, so selecting
    135     this option is useful for those processors also. This option is found in the
    136     "Processor type and features" menu.  It can increase performance of
    137     image write operations 2.5 times or more on <acronym>PCI</acronym> or
    138     <acronym>AGP</acronym> video cards.
    139   </para>
    140  
    141   <para>In the "Character Devices" section, enable <acronym>AGP</acronym> Support
    142     and select the chipset support on your motherboard. If you do not know the
    143     chipset, you may select all the chip types at the expense of extra kernel size.
     16  <?dbhtml filename="xorg.html"?>
     17
     18  <sect1info>
     19    <othername>$LastChangedBy$</othername>
     20    <date>$Date$</date>
     21  </sect1info>
     22
     23  <title>Xorg-&xorg-version;</title>
     24
     25  <indexterm zone="xorg">
     26    <primary sortas="a-xorg">Xorg</primary>
     27  </indexterm>
     28
     29  <sect2 role="package">
     30    <title>Introduction to Xorg</title>
     31
     32    <note>
     33      <para>There are two packages in BLFS that implement the <application>X
     34      Window System</application>: <application>Xorg</application> and
     35      <application>XFree86</application>. These packages are quite similar.
     36      In fact, the base system of <application>Xorg</application> is
     37      <application>XFree86</application>-4.4.0RC2. The primary difference as
     38      of this writing is the license provisions of the packages. For someone
     39      building a package for their own use, these issues are not significant.
     40      Most large commercial distributions have decided to use the
     41      <application>Xorg</application> package, but several still use
     42      <application>XFree86</application>.</para>
     43
     44      <para>A second reason for the forking of <application>X</application>
     45      packages is the stated goals of the developers. Some developers were
     46      unhappy with the administration and progress of
     47      <application>XFree86</application>. X.org's future plans include
     48      significant improvements to the internals of the system and more frequent
     49      releases.</para>
     50
     51      <para><application>XFree86</application> continues to be a solid,
     52      conservative application with excellent driver support.</para>
     53
     54      <para>Both <application>Xorg</application> and
     55      <application>XFree86</application> can be installed in the same way,
     56      but this section will provide a slightly different and more current
     57      variation for installation.</para>
     58    </note>
     59
     60    <para><application>Xorg</application> is a freely redistributable open-source
     61    implementation of the <application>X</application> Window System. This
     62    application provides a client/server interface between display hardware (the
     63    mouse, keyboard, and video displays) and the desktop environment, while also
     64    providing both the windowing infrastructure and a standardized application
     65    interface (API).</para>
     66
     67    <bridgehead renderas="sect3">Package Information</bridgehead>
     68    <itemizedlist spacing="compact">
     69      <listitem>
     70        <para>Download (HTTP): <ulink url="&xorg-download-http;"/></para>
     71      </listitem>
     72      <listitem>
     73        <para>Download (FTP): <ulink url="&xorg-download-ftp;"/></para>
     74      </listitem>
     75      <listitem>
     76        <para>Download MD5 sum: &xorg-md5sum;</para>
     77      </listitem>
     78      <listitem>
     79        <para>Download size: &xorg-size;</para>
     80      </listitem>
     81      <listitem>
     82        <para>Estimated disk space required: &xorg-buildsize;</para>
     83      </listitem>
     84      <listitem>
     85        <para>Estimated build time: &xorg-time;</para>
     86      </listitem>
     87    </itemizedlist>
     88
     89    <bridgehead renderas="sect3">TEMPLATE Dependencies</bridgehead>
     90
     91    <bridgehead renderas="sect4">Required</bridgehead>
     92    <para><xref linkend="libpng"/> and
     93    <xref linkend="fontconfig"/></para>
     94
     95    <bridgehead renderas="sect4">Optional</bridgehead>
     96    <para><xref linkend="Linux_PAM"/></para>
     97
     98    <bridgehead renderas="sect3">Download Instructions</bridgehead>
     99
     100    <para>As an alternative to downloading the entire source tree in a single
     101    file, there are several files that need to be fetched from the download
     102    location (directory /pub/x.org/pub/X11R&xorg-version;/src/):</para>
     103
     104    <itemizedlist spacing='compact'>
     105      <listitem>
     106        <para><filename>X11R&xorg-version;-src1.tar.gz</filename></para>
     107      </listitem>
     108      <listitem>
     109        <para><filename>X11R&xorg-version;-src2.tar.gz</filename></para>
     110      </listitem>
     111      <listitem>
     112        <para><filename>X11R&xorg-version;-src3.tar.gz</filename></para>
     113      </listitem>
     114      <listitem>
     115        <para><filename>X11R&xorg-version;-src4.tar.gz</filename></para>
     116      </listitem>
     117      <listitem>
     118        <para><filename>X11R&xorg-version;-src5.tar.gz</filename></para>
     119      </listitem>
     120      <listitem>
     121        <para><filename>X11R&xorg-version;-src6.tar.gz</filename></para>
     122      </listitem>
     123      <listitem>
     124        <para><filename>X11R&xorg-version;-src7.tar.gz</filename></para>
     125      </listitem>
     126    </itemizedlist>
     127
     128    <para>The first package contains the <application>Xorg</application>
     129    libraries and support programs, the second contains standard
     130    <application>X</application> programs, the third contains the
     131    <application>X</application> server, the fourth and fifth are fonts,
     132    the sixth is normal documentation, and the seventh is hardcopy
     133    documentation.</para>
     134
     135    <para>To check your file for integrity, download the
     136    <filename>md5sums</filename> file. Then:</para>
     137
     138<screen><userinput>md5sum -c md5sums</userinput></screen>
     139
     140    <para>The package (or all seven packages) should give an OK status.</para>
     141
     142  </sect2>
     143
     144  <sect2 role="kernel" id='xorg-kernel'>
     145    <title>Kernel Configuration</title>
     146
     147    <indexterm zone="xorg xorg-kernel">
     148    <primary sortas="d-Xorg">Xorg</primary>
     149    </indexterm>
     150
     151    <para>If you have an Intel P6 (Pentium Pro, Pentium II and later), it is
     152    recommended that you compile MTRR (Memory Type Range Registers) support
     153    into the kernel. The kernel can map Cyrix and AMD CPUs to the MTRR
     154    interface, so selecting this option is useful for those processors also.
     155    This option is found in the "Processor type and features" menu. It can
     156    increase performance of image write operations 2.5 times or more on PCI or
     157    AGP video cards.</para>
     158
     159    <para>In the "Character Devices" section, enable AGP Support and select
     160    the chipset support on your motherboard. If you do not know the chipset,
     161    you may select all the chip types at the expense of extra kernel size.
    144162    You can usually determine your motherboard's chipset by running the command
    145     <command>lspci</command>, a program from the <xref linkend="pciutils"/>
    146     package.
    147   </para>
    148  
    149   <para>In the "Character Devices" section, <emphasis>disable</emphasis> Direct
    150     Rendering Manager unless you have a Direct Rendering Infrastructure
    151     (<acronym>DRI</acronym>) supported video card.  A complete list of
    152     <acronym>DRI</acronym> supported video cards can be found at
    153     <ulink url="http://dri.sourceforge.net" /> in the "Status" section.
    154     Currently, supported cards include those from 3dfx (Voodoo, Banshee), 3Dlabs,
    155     ATI (Rage Pro, Rage 128, Radeon 7X00, Radeon 2), Intel (i810, i815), and
    156     Matrox (G200, G400, G450).
    157   </para>
    158  
    159   <para>Additionally NVidia provides their own closed source binary drivers,
    160     which do not make use of <acronym>DRI</acronym>. If you intend to use these
    161     drivers, do not enable <acronym>DRI</acronym>.
    162   </para>
    163  
    164   <para>If you made any changes to the kernel configuration, recompile and
    165     install the new kernel.
    166   </para>
    167  
    168 </sect3>
    169 
    170 <sect3>
    171   <title>Suppressing Xprint-related modification to <filename class="directory">/etc</filename></title>
    172 
    173   <para><application>Xorg</application> insists on putting
    174     its boot and profile scripts into the <filename
    175     class="directory">/etc</filename> directory even if specifically told
    176     not to compile anything Xprint server or client related (see
    177     <filename>host.def</filename> below). The following command will
    178     suppress any such modifications:
    179   </para>
    180 
    181 <screen><userinput><command>sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile</command></userinput></screen>
    182 
    183 </sect3>
    184 
    185 <sect3>
    186   <title>Setting Up a Shadow Directory</title> 
    187 
    188   <para>When building <application>Xorg</application>, you should create a shadow
    189     directory of symbolic links for the compiled code.  To do that, first make
    190     <command>lndir</command>.  Starting from the
    191     <filename class='directory'>xc</filename> directory:
    192   </para>
    193 
    194 <screen><userinput><command>pushd config/util &amp;&amp;
    195 make -f Makefile.ini lndir</command></userinput></screen>
    196 
    197 <para>Now, as the root user:</para>
    198  
    199 <screen><userinput role='root'><command>cp lndir /usr/bin/</command></userinput></screen>
    200 
    201 <para>And back as a regular user:</para>
    202 <screen><userinput><command>popd</command></userinput></screen>
    203 
    204 <para>Now create the shadow tree:</para>
    205 
    206 <screen><userinput><command>mkdir ../xcbuild &amp;&amp;
     163    <command>lspci</command>, a program from the <xref linkend="pciutils"/>
     164    package.</para>
     165
     166    <para>In the "Character Devices" section, <emphasis>disable</emphasis>
     167    Direct Rendering Manager unless you have a Direct Rendering Infrastructure
     168    (DRI) supported video card. A complete list of DRI supported video cards
     169    can be found at <ulink url="http://dri.sourceforge.net" /> in the "Status"
     170    section. Currently, supported cards include those from 3dfx (Voodoo,
     171    Banshee), 3Dlabs, ATI (Rage Pro, Rage 128, Radeon 7X00, Radeon 2), Intel
     172    (i810, i815), and Matrox (G200, G400, G450).</para>
     173
     174    <para>Additionally NVidia provides their own closed source binary drivers,
     175    which do not make use of DRI. If you intend to use these drivers, do not
     176    enable DRI.</para>
     177
     178    <para>If you made any changes to the kernel configuration, recompile and
     179    install the new kernel.</para>
     180
     181  </sect2>
     182
     183  <sect2 role="installation">
     184    <title>Installation of Xorg</title>
     185
     186    <sect3>
     187      <title>Suppressing Xprint-related Modification to '/etc'</title>
     188
     189      <para><application>Xorg</application> insists on putting
     190      its boot and profile scripts into the <filename
     191      class="directory">/etc</filename> directory even if specifically told
     192      not to compile anything Xprint server or client related (see
     193      <filename>host.def</filename> below). The following command will
     194      suppress any such modifications:</para>
     195
     196<screen><userinput>sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile</userinput></screen>
     197
     198    </sect3>
     199
     200    <sect3>
     201      <title>Setting Up a Shadow Directory</title>
     202
     203      <para>When building <application>Xorg</application>, you should create
     204      a shadow directory of symbolic links for the compiled code. To do that,
     205      first make <command>lndir</command>. Starting from the
     206      <filename class='directory'>xc</filename> directory:</para>
     207
     208<screen><userinput>pushd config/util &amp;&amp;
     209make -f Makefile.ini lndir</userinput></screen>
     210
     211      <para>Now, as the <systemitem class="username">root</systemitem>
     212      user:</para>
     213
     214<screen role="root"><userinput>cp -v lndir /usr/bin/</userinput></screen>
     215
     216      <para>And back as a regular user:</para>
     217
     218<screen><userinput>popd</userinput></screen>
     219
     220      <para>Now create the shadow tree:</para>
     221
     222<screen><userinput>mkdir ../xcbuild &amp;&amp;
    207223cd ../xcbuild &amp;&amp;
    208 lndir ../xc</command></userinput></screen>
    209 </sect3>
    210 
    211 <sect3>
    212   <title>Creating <filename>host.def</filename></title> 
    213 
    214   <para>The next step is to create the <filename>config/cf/host.def</filename>
    215     file. The documentation for <application>Xorg</application> indicates that the
    216     application will build without a <filename>host.def</filename> file, but
    217     the included libraries for <application>Fontconfig</application> and
    218     <application>FreeType2</application> do not build properly on a base
    219     <acronym>LFS</acronym> system. Therefore, you must specify that these
    220     libraries, as well as others, should be imported from the system.
    221   </para>
    222 
    223   <note><para><filename>config/cf/host.def</filename> is a C file, not a shell
    224     script.  Ensure the comments delimited by <userinput>/*</userinput> ...
    225     <userinput>*/</userinput> are balanced when modifying the file.</para>
    226   </note>
    227 
    228 <screen><userinput><command>cat &gt; config/cf/host.def &lt;&lt; "EOF"</command>
    229 /* Begin Xorg host.def file */
    230  
     224lndir ../xc</userinput></screen>
     225
     226    </sect3>
     227
     228    <sect3>
     229      <title>Creating 'host.def'</title>
     230
     231      <para>The next step is to create the
     232      <filename>config/cf/host.def</filename> file. The documentation for
     233      <application>Xorg</application> indicates that the application will
     234      build without a <filename>host.def</filename> file, but the included
     235      libraries for <application>Fontconfig</application> and
     236      <application>FreeType2</application> do not build properly on a base
     237      LFS system. Therefore, you must specify that these libraries, as well
     238      as others, should be imported from the system.</para>
     239
     240      <note>
     241        <para><filename>config/cf/host.def</filename> is a C file, not a
     242        shell script. Ensure the comments delimited by /* ... */ are balanced
     243        when modifying the file.</para>
     244      </note>
     245
     246<screen><userinput>cat &gt; config/cf/host.def &lt;&lt; "EOF"
     247<literal>/* Begin Xorg host.def file */
     248
    231249/* System Related Information.  If you read and configure only one
    232  * section then it should be this one.  The Intel architecture defaults 
    233  * are set for a i686 and higher.  Axp is for the Alpha architecture 
    234  * and Ppc is for the Power PC.  AMD64 is for the Opteron processor. 
    235  * Note that there have been reports that the Ppc optimization line 
    236  * causes segmentation faults during build.  If that happens, try 
     250 * section then it should be this one.  The Intel architecture defaults
     251 * are set for a i686 and higher.  Axp is for the Alpha architecture
     252 * and Ppc is for the Power PC.  AMD64 is for the Opteron processor.
     253 * Note that there have been reports that the Ppc optimization line
     254 * causes segmentation faults during build.  If that happens, try
    237255 * building without the DefaultGcc2PpcOpt line.  ***********/
    238  
     256
    239257/* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \
    240258                              -fno-strict-aliasing -march=i686 */
     
    251269
    252270/*
    253  * Which drivers to build.  When building a static server, each of 
    254  * these will be included in it.  When building the loadable server 
     271 * Which drivers to build.  When building a static server, each of
     272 * these will be included in it.  When building the loadable server
    255273 * each of these modules will be built.
    256274 *
     
    285303#define BuildXprintClients      NO
    286304
    287 /* End Xorg host.def file */
    288 <command>EOF</command></userinput></screen>
    289 
    290   <para>There are several other options that you may want to consider.  A well
    291     documented example file is <filename>config/cf/xorgsite.def</filename>.
    292   </para>
    293 
    294 </sect3>
    295 
    296 <sect3>
    297   <title>Build Commands</title>
    298 
    299   <para>Install <application>Xorg</application> by running the following commands:</para>
    300  
    301 <screen><userinput><command>sed -i -e "s@^#include &lt;linux/config.h&gt;@/* &amp; */@" \
     305/* End Xorg host.def file */</literal>
     306EOF</userinput></screen>
     307
     308      <para>There are several other options that you may want to consider.
     309      A well documented example file is
     310      <filename>config/cf/xorgsite.def</filename>.</para>
     311
     312    </sect3>
     313
     314    <sect3>
     315      <title>Build Commands</title>
     316
     317      <para>Install <application>Xorg</application> by running the
     318      following commands:</para>
     319
     320<screen><userinput>sed -i -e "s@^#include &lt;linux/config.h&gt;@/* &amp; */@" \
    302321    `grep -lr linux/config.h *` &amp;&amp;
    303 ( make World 2&gt;&amp;1 | tee xorg-compile.log &amp;&amp; exit $PIPESTATUS )</command></userinput></screen>
    304 
    305 <para>Again as the root user:</para>
    306  
    307 <screen><userinput role='root'><command>make install &amp;&amp;
     322( make World 2&gt;&amp;1 | tee xorg-compile.log &amp;&amp; exit $PIPESTATUS )</userinput></screen>
     323
     324      <para>Again as the <systemitem class="username">root</systemitem>
     325      user:</para>
     326
     327<screen role="root"><userinput>make install &amp;&amp;
    308328make install.man &amp;&amp;
    309 ln -sf ../X11R6/bin /usr/bin/X11 &amp;&amp;
    310 ln -sf ../X11R6/lib/X11 /usr/lib/X11 &amp;&amp;
    311 ln -sf ../X11R6/include/X11 /usr/include/X11</command></userinput></screen>
    312  
    313 </sect3>
    314 </sect2>
    315 
    316 <sect2>
    317 <title>Command explanations</title>
    318  
    319   <para><command>sed -i -e "s@^#include &lt;linux/config.h&gt;@...</command>:
     329ln -v -sf ../X11R6/bin /usr/bin/X11 &amp;&amp;
     330ln -v -sf ../X11R6/lib/X11 /usr/lib/X11 &amp;&amp;
     331ln -v -sf ../X11R6/include/X11 /usr/include/X11</userinput></screen>
     332
     333    </sect3>
     334
     335  </sect2>
     336
     337  <sect2 role="commands">
     338    <title>Command Explanations</title>
     339
     340    <para><command>sed -i -e "s@^#include &lt;linux/config.h&gt;@...</command>:
    320341    The <application>Linux-Libc-Headers</application> package installed in
    321     <acronym>LFS</acronym> installs a
    322     <filename>/usr/include/linux/config.h</filename> file which is not compatible
    323     with userspace applications. The recommended fix for applications including
    324     this file is to remove it (see <ulink
     342    LFS installs a <filename>/usr/include/linux/config.h</filename> file
     343    which is not compatible with userspace applications. The recommended fix
     344    for applications including this file is to remove it (see <ulink
    325345    url="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/doc/FAQ">
    326346    linux-libc-headers FAQ</ulink>). The <command>sed</command> uses
    327347    <command>grep -lr</command> to replace all occurences. If you desire, just
    328348    remove (comment) the line in the appropriate video driver file if you
    329     customized <filename>host.def</filename>.
    330 </para>
    331 
    332   <para><command>( make World 2&gt;&amp;1 | tee xorg-compile.log
    333     &amp;&amp; exit $PIPESTATUS )</command>:
    334     This command runs multiple <filename>Makefile</filename>s to completely rebuild
    335     the system. <parameter>2&gt;&amp;1</parameter> redirects error messages
    336     to the same location as standard output. The <command>tee</command> command
    337     allows viewing of the output while logging the results to a file. The
    338     parentheses around the command runs the entire comand in a subshell and finally
    339     the <command>exit $PIPESTATUS</command> ensures the result of the
    340     <command>make</command> is returned as the result and not the result of the
    341     <command>tee</command> command.
    342   </para>
    343  
    344   <note><para>When rebuilding <application>Xorg</application>, a separate command
    345     that may be used if only minor changes are made to the sources is
    346     <command>make Everything</command>. This does not automatically remove generated
    347     files and only rebuilds those files or programs that are out of date.</para>
    348   </note>
    349  
    350 <para><screen><command>ln -sf ../X11R6/bin /usr/bin/X11
    351 ln -sf ../X11R6/lib/X11 /usr/lib/X11
    352 ln -sf ../X11R6/include/X11 /usr/include/X11</command></screen>
    353 These commands are present to enable other (broken) packages to build against
    354 <application>Xorg</application>, even though the Filesystem Hierarchy Standard
    355 says: "In general, software must not be installed or managed via the above
    356 symbolic links. They are intended for utilization by users only."</para>
    357  
    358 </sect2>
    359 
    360 <sect2 id='xorg-config'>
    361 <title>Configuring Xorg</title>
    362 
    363 <para>Edit <filename>/etc/ld.so.conf</filename> and add
    364   <filename class="directory">/usr/X11R6/lib</filename>. Run:
    365 </para>
    366 
    367 <indexterm zone="xorg xorg-config">
    368   <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
    369 </indexterm>
    370  
    371 <screen><userinput><command>ldconfig</command></userinput></screen>
    372  
    373 <para>Ensure <filename class="directory">/usr/X11R6/bin</filename>
    374 and <filename class="directory">/usr/X11R6/lib/pkgconfig</filename>
    375 are added to your <envar>PATH</envar> and <envar>PKG_CONFIG_PATH</envar>
    376 environment variables, respectively. Instructions for doing this are
    377 described in the section "<xref linkend='postlfs-config-profile'/>."</para>
    378  
    379 <para>Create the <filename>xorg.conf</filename> file with:
    380 <screen><userinput><command>cd ~
    381 Xorg -configure</command></userinput></screen>
    382 The screen will go black and you may hear some clicking of the monitor.  This
    383 command will create a file, <filename>xorg.conf.new</filename> in your home
    384 directory.</para>
    385 
    386 <indexterm zone="xorg xorg-config">
    387   <primary sortas="e-etc-X11-xorg-conf">/etc/X11/xorg.conf</primary>
    388 </indexterm>
    389  
    390 <para>Edit <filename>xorg.conf.new</filename> to suit your system.  The details
    391 of the file are located in the xorg.conf man page. Some
    392 things you may want to do are:</para>
    393  
    394 <itemizedlist>
    395 
    396 <listitem><para>Section "Files". Change the order of the font paths searched.
    397 You may want to put 100dpi fonts ahead of 75dpi fonts if your system normally
    398 comes up closer to 100 dots per inch.  You may want to remove some font
    399 directories completely.</para></listitem>
    400 
    401 <listitem><para>Section "Module". If you are going to install NVidia
    402 drivers, remove the "dri" line.</para></listitem>
    403  
    404 <listitem><para>Sections "InputDevice". You may want to change the
    405 keyboard autorepeat rate by adding
    406 <parameter>Option "Autorepeat" "250 30"</parameter>.</para></listitem>
    407  
    408 <listitem><para>Section "Monitor".  Specify the
    409 <parameter>VertRefresh</parameter> and <parameter>HorizSync</parameter> values
    410 if the system does not automatically detect the monitor and its values.</para>
    411 </listitem>
    412  
    413 <listitem><para>Section "Device".  You may want to set some of the options
    414 available for your selected video driver.  A description of the driver
    415 parameters is in the man page for your driver.</para></listitem>
    416  
    417 <listitem><para>Section "Screen".  Add a DefaultDepth statement such as:
    418 <parameter>DefaultDepth 24</parameter>. In the SubSection for your default
    419 depth, add a modes line such as:
    420 <parameter>Modes "1600x1200" "1280x1024" "1024x768"</parameter>. The first mode listed
    421 will normally be the starting resolution.</para></listitem>
    422  
    423 </itemizedlist>
    424 
    425 <para>Test the system with:
    426 <screen><userinput><command>X -config ~/xorg.conf.new</command></userinput></screen>
    427 You will only get a gray background with an X-shaped mouse cursor, but it
    428 confirms the system is working.  Exit with Control-Alt-Backspace.  If the
    429 system does not work, take a look at <filename>/var/log/Xorg.0.log</filename>
    430 to see what went wrong.</para>
    431  
    432 <para>Move the configuration file to its final location:</para>
    433 <screen><userinput><command>mv ~/xorg.conf.new /etc/X11/xorg.conf</command></userinput></screen>
    434  
    435 <para>Create <filename>.xinitrc</filename>:
    436 <screen><userinput><command>cat &gt; ~/.xinitrc &lt;&lt; "EOF"</command>
    437 # Begin .xinitrc file
     349    customized <filename>host.def</filename>.</para>
     350
     351    <para><command>( make World 2&gt;&amp;1 | tee xorg-compile.log
     352    &amp;&amp; exit $PIPESTATUS )</command>: This command runs multiple
     353    <filename>Makefile</filename>s to completely rebuild the system.
     354    <parameter>2&gt;&amp;1</parameter> redirects error messages to the
     355    same location as standard output. The <command>tee</command> command
     356    allows viewing of the output while logging the results to a file. The
     357    parentheses around the command runs the entire comand in a subshell
     358    and finally the <command>exit $PIPESTATUS</command> ensures the result
     359    of the <command>make</command> is returned as the result and not the
     360    result of the <command>tee</command> command.</para>
     361
     362    <note>
     363      <para>When rebuilding <application>Xorg</application>, a separate
     364      command that may be used if only minor changes are made to the sources
     365      is <command>make Everything</command>. This does not automatically
     366      remove generated files and only rebuilds those files or programs that
     367      are out of date.</para>
     368    </note>
     369
     370    <para><command>ln -v -sf ...</command>: These commands are present to
     371    enable other (broken) packages to build against
     372    <application>Xorg</application>, even though the Filesystem Hierarchy
     373    Standard says: <quote>In general, software must not be installed or
     374    managed via the above symbolic links. They are intended for utilization
     375    by users only.</quote></para>
     376
     377  </sect2>
     378
     379  <sect2 role="configuration" id='xorg-config'>
     380    <title>Configuring Xorg</title>
     381
     382    <para>Edit <filename>/etc/ld.so.conf</filename> and add
     383    <filename class="directory">/usr/X11R6/lib</filename>. Run:</para>
     384
     385    <indexterm zone="xorg xorg-config">
     386      <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
     387    </indexterm>
     388
     389<screen role="root"><userinput>ldconfig</userinput></screen>
     390
     391    <para>Ensure <filename class="directory">/usr/X11R6/bin</filename>
     392    and <filename class="directory">/usr/X11R6/lib/pkgconfig</filename>
     393    are added to your <envar>PATH</envar> and <envar>PKG_CONFIG_PATH</envar>
     394    environment variables, respectively. Instructions for doing this are
     395    described in the section <xref linkend='postlfs-config-profile'/>.</para>
     396
     397    <para>Create the <filename>xorg.conf</filename> file with:</para>
     398
     399<screen><userinput>cd ~r &amp;&amp;
     400Xorg -configure</userinput></screen>
     401
     402    <para>The screen will go black and you may hear some clicking of the monitor.
     403    This command will create a file, <filename>xorg.conf.new</filename> in your
     404    home directory.</para>
     405
     406    <indexterm zone="xorg xorg-config">
     407      <primary sortas="e-etc-X11-xorg-conf">/etc/X11/xorg.conf</primary>
     408    </indexterm>
     409
     410    <para>Edit <filename>xorg.conf.new</filename> to suit your system. The
     411    details of the file are located in the xorg.conf man page. Some things
     412    you may want to do are:</para>
     413
     414    <itemizedlist>
     415      <listitem>
     416        <para>Section "Files". Change the order of the font paths searched.
     417        You may want to put 100dpi fonts ahead of 75dpi fonts if your system
     418        normally comes up closer to 100 dots per inch. You may want to remove
     419        some font directories completely.</para>
     420      </listitem>
     421      <listitem>
     422        <para>Section "Module". If you are going to install NVidia
     423        drivers, remove the "dri" line.</para>
     424      </listitem>
     425      <listitem>
     426        <para>Sections "InputDevice". You may want to change the
     427        keyboard autorepeat rate by adding
     428        <option>Option "Autorepeat" "250 30"</option>.</para>
     429      </listitem>
     430      <listitem>
     431        <para>Section "Monitor". Specify the <option>VertRefresh</option>
     432        and <option>HorizSync</option> values if the system does not
     433        automatically detect the monitor and its values.</para>
     434      </listitem>
     435      <listitem>
     436        <para>Section "Device". You may want to set some of the options
     437        available for your selected video driver. A description of the driver
     438        parameters is in the man page for your driver.</para>
     439      </listitem>
     440      <listitem><para>Section "Screen". Add a DefaultDepth statement such as:
     441        <option>DefaultDepth 24</option>. In the SubSection for your
     442        default depth, add a modes line such as:
     443        <option>Modes "1600x1200" "1280x1024" "1024x768"</option>. The first
     444        mode listed will normally be the starting resolution.</para>
     445      </listitem>
     446    </itemizedlist>
     447
     448    <para>Test the system with:</para>
     449
     450<screen><userinput>X -config ~/xorg.conf.new</userinput></screen>
     451
     452    <para>You will only get a gray background with an X-shaped mouse cursor,
     453    but it confirms the system is working. Exit with
     454    <keycap>Control+Alt+Backspace</keycap>. If the system does not work, take
     455    a look at <filename>/var/log/Xorg.0.log</filename> to see what went
     456    wrong.</para>
     457
     458    <para>Move the configuration file to its final location:</para>
     459
     460<screen role="root"><userinput>mv ~/xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
     461
     462    <para>Create <filename>.xinitrc</filename>:</para>
     463
     464<screen><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
     465<literal># Begin .xinitrc file
    438466xterm  -g 80x40+0+0   &amp;
    439467xclock -g 100x100-0+0 &amp;
    440 twm
    441 <command>EOF</command></userinput></screen>
    442 This provides an initial screen with an xterm and a clock that is managed by a
    443 simple window manager, Tab Window Manager.  For details of
    444 <command>twm</command>, see the man page.</para>
    445 
    446 <indexterm zone="xorg xorg-config">
    447   <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
    448 </indexterm>
    449  
    450 <note>
    451 <para>When needed, <application>Xorg</application> creates the directory
    452 <filename>/tmp/.ICE-unix</filename> if it does not exist. If this directory is
    453 not owned by root, <application>Xorg</application> delays startup by a few
    454 seconds and also appends a warning to the logfile. This also affects startup of
    455 other applications. To improve performance, it is advisable to manually create
    456 the directory before <application>Xorg</application> uses it. Add the file
    457 creation to <filename>/etc/sysconfig/createfiles</filename> that is sourced by
    458 the <filename>/etc/rc.d/init.d/cleanfs</filename> startup script.</para>
    459  
    460 <screen><userinput role='root'><command>cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"</command>
    461 /tmp/.ICE-unix dir 1777 root root
    462 <command>EOF</command></userinput></screen>
    463 </note>
    464 
    465 <indexterm zone="xorg xorg-config">
    466   <primary sortas="e-etc-sysconfig-createfiles">/etc/sysconfig/createfiles</primary>
    467 </indexterm>
    468 
    469 <para>Start <application>X</application> with:
    470 <screen><userinput><command>startx</command></userinput></screen>
    471 to get a basic functional <application>X</application> Window System.</para>
    472 
    473 <para>At this point, you should check out <xref linkend='x-setup'/> for the
    474 necessary configuration to make <application>X</application> fully functional.
    475 Additionally, you can have a look at <xref linkend='x-config'/> for
    476 information on fine tuning your <application>X</application>
    477 configuration.</para>
    478 
    479 <para>For a list of the package contents and a description of the commands,
    480 see the sections in the <xref linkend='xfree86-contents'/>.</para>
    481 
    482 </sect2>
     468twm</literal>
     469EOF</userinput></screen>
     470
     471    <para>This provides an initial screen with an xterm and a clock that is
     472    managed by a simple window manager, Tab Window Manager. For details of
     473    <command>twm</command>, see the man page.</para>
     474
     475    <indexterm zone="xorg xorg-config">
     476      <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
     477    </indexterm>
     478
     479    <note>
     480      <para>When needed, <application>Xorg</application> creates the directory
     481      <filename>/tmp/.ICE-unix</filename> if it does not exist. If this
     482      directory is not owned by <systemitem class="username">root</systemitem>,
     483      <application>Xorg</application> delays startup by a few seconds and also
     484      appends a warning to the logfile. This also affects startup of other
     485      applications. To improve performance, it is advisable to manually create
     486      the directory before <application>Xorg</application> uses it. Add the
     487      file creation to <filename>/etc/sysconfig/createfiles</filename> that is
     488      sourced by the <filename>/etc/rc.d/init.d/cleanfs</filename> startup
     489      script.</para>
     490
     491<screen role="root"><userinput>cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
     492<literal>/tmp/.ICE-unix dir 1777 root root</literal>
     493EOF</userinput></screen>
     494
     495    </note>
     496
     497    <indexterm zone="xorg xorg-config">
     498      <primary
     499      sortas="e-etc-sysconfig-createfiles">/etc/sysconfig/createfiles</primary>
     500    </indexterm>
     501
     502    <para>Start <application>X</application> with:</para>
     503
     504<screen><userinput>startx</userinput></screen>
     505
     506    <para>to get a basic functional <application>X Window
     507    System</application>.</para>
     508
     509    <para>At this point, you should check out <xref linkend='x-setup'/> for
     510    the necessary configuration to make <application>X</application> fully
     511    functional. Additionally, you can have a look at <xref linkend='x-config'/>
     512    for information on fine tuning your <application>X</application>
     513    configuration.</para>
     514
     515    <para>For a list of the package contents and a description of the commands,
     516    see the sections in the <xref linkend='xfree86-contents'/>.</para>
     517
     518  </sect2>
    483519
    484520</sect1>
Note: See TracChangeset for help on using the changeset viewer.