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