r8845 - in trunk/BOOK: introduction/welcome x/installing

dj at linuxfromscratch.org dj at linuxfromscratch.org
Sat Jan 22 21:32:53 PST 2011

Author: dj
Date: 2011-01-22 22:32:49 -0700 (Sat, 22 Jan 2011)
New Revision: 8845

Removed old Xorg configuration and setup pages and added an initial combined configuration page. Comments and suggestions will be very much appreciated.

Modified: trunk/BOOK/introduction/welcome/changelog.xml
--- trunk/BOOK/introduction/welcome/changelog.xml	2011-01-23 05:14:41 UTC (rev 8844)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2011-01-23 05:32:49 UTC (rev 8845)
@@ -84,6 +84,10 @@
           <para>[dj] - Updated to Xorg release version 7.6-1.</para>
+        <listitem>
+          <para>[dj] - Removed old Xorg configuration and setup pages and added
+          an initial combined configuration page.</para>
+        </listitem>

Modified: trunk/BOOK/x/installing/installing.xml
--- trunk/BOOK/x/installing/installing.xml	2011-01-23 05:14:41 UTC (rev 8844)
+++ trunk/BOOK/x/installing/installing.xml	2011-01-23 05:32:49 UTC (rev 8845)
@@ -25,7 +25,7 @@
   more than 100 different packages. Most large commercial distributions have
   decided to use the <application>Xorg</application> package.</para>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xorg7-dummy.xml"/>
+<!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xorg7-dummy.xml"/> -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xorg7.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x7proto.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x7util.xml"/>
@@ -40,8 +40,9 @@
 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="luit.xml"/> -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x7server.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x7driver.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xconfig-dummy.xml"/>
+<!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xconfig-dummy.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x-setup.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="x-config.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xorg-config.xml"/>

Added: trunk/BOOK/x/installing/xorg-config.xml
--- trunk/BOOK/x/installing/xorg-config.xml	                        (rev 0)
+++ trunk/BOOK/x/installing/xorg-config.xml	2011-01-23 05:32:49 UTC (rev 8845)
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+<sect1 id="x-config">
+  <?dbhtml filename="xconfig.html"?>
+  <sect1info>
+    <othername>$LastChangedBy: $</othername>
+    <date>$Date: $</date>
+  </sect1info>
+  <title>Configuring Xorg-&xorg7-version;</title>
+  <sect2 role="configuration" id='X11R6-compat-symlink'
+         xreflabel="Creating an X11R6 Compatibility Symlink">
+    <title>Creating an X11R6 Compatibility Symlink</title>
+    <para>Until recently (relatively speaking) almost every
+    <application>X Window</application> installation you performed or came
+    across was installed in the
+    <filename class='directory'>/usr/X11R6</filename> directory. That was the
+    standard for years. Developers picked up on this and wrote their package
+    installation scripts looking for <application>X</application> in the
+    standard location. Things have changed and the trend is to now install
+    <application>X</application> in
+    <filename class='directory'>/usr</filename>. Some people want to install
+    it in a custom location.</para>
+    <para>Many package developers have not caught up to the change and their
+    packages are still trying to find <application>X</application> in
+    <filename class='directory'>/usr/X11R6</filename> and subsequently fail
+    when you try to build the package. Though for most packages it is not
+    difficult to 'hack' the installation script to fix the problem, that is not
+    the long term solution to the problem. Upstream developers need to modernize
+    their installation scripts and eliminate the problem altogether.</para>
+    <para>Until then, you can create a symbolic link to satisfy the
+    <filename class='directory'>/usr/X11R6</filename> requirement so that you
+    won't be inconvenienced with a package build failure due to this known
+    issue. If you wish to create the symlink, issue the following command as
+    the <systemitem class="username">root</systemitem> user (ensure you modify
+    <replaceable><$XORG_PREFIX></replaceable> appropriately):</para>
+<screen role="root"><userinput>ln -vsf <replaceable><$XORG_PREFIX></replaceable> /usr/X11R6</userinput></screen>
+  </sect2>
+    <sect2 role="configuration" id="xft-font-protocol"  xreflabel="Xft Font Protocol">
+      <title>Xft Font Protocol</title>
+      <indexterm role="configuration" id=" fonts">
+        <primary sortas="g-truetype">TrueType Fonts</primary>
+      </indexterm>
+      <para>Xft provides antialiased font rendering through
+      <application>Freetype</application>, and fonts are controlled from the
+      client side using <application>Fontconfig</application>.  The default
+      search path is <filename class="directory">/usr/share/fonts</filename>
+      and <filename class="directory">~/.fonts</filename>.
+      <application>Fontconfig</application> searches directories in its
+      path recursively and maintains a cache of the font characteristics in
+      <filename>fonts.cache-1</filename> files in each directory.  If the cache
+      appears to be out of date, it is ignored, and information is (slowly)
+      fetched from the fonts themselves.  This cache
+      can be regenerated using the <command>fc-cache</command> command at any
+      time. You can see the list of fonts known by
+      <application>Fontconfig</application> by running the command
+      <command>fc-list</command>.</para>
+      <para>If you've installed <application>Xorg</application> in any prefix
+      other than <filename class="directory">/usr</filename>, the
+      <application>X</application> fonts were not installed in a
+      location known to <application>Fontconfig</application>. This prevents
+      <application>Fontconfig</application> from using the poorly rendered
+      Type 1 fonts or the non-scalable bitmapped fonts. Symlinks were created
+      from the <filename class="directory">OTF</filename> and <filename
+      class="directory">TTF</filename> <application>X</application> font
+      directories to <filename
+      class="directory">/usr/share/fonts/X11-{OTF,TTF}</filename>. This allows
+      <application>Fontconfig</application> to use the OpenType and TrueType
+      fonts provided by <application>X</application> (which are scalable and
+      of higher quality).</para>
+      <para><application>Fontconfig</application> uses names such as
+      "Monospace 12" to define fonts.  Applications generally use generic font
+      names such as "Monospace", "Sans" and "Serif".
+      <application>Fontconfig</application> resolves these names to a font that
+      has all characters that cover the orthography of the language indicated
+      by the locale settings.  Knowledge of these font names is included in
+      <filename>/etc/fonts/fonts.conf</filename>. Fonts that are not listed
+      in this file are still usable by <application>Fontconfig</application>,
+      but they will not be accessible by the generic family names.</para>
+      <para>Standard scalable fonts that come with <application>X</application>
+      provide very poor Unicode coverage.  You may notice in applications that
+      use <application>Xft</application> that some characters appear as a box
+      with four binary digits inside.  In this case, a font set with the
+      available glyphs has not been found.  Other times, applications that
+      don't use other font families by default and don't accept substitutions
+      from <application>Fontconfig</application> will display blank lines when
+      the default font doesn't cover the orthography of the user's language.
+      This happens, e.g., with <application>Fluxbox</application> in the
+      ru_RU.KOI8-R locale.</para>
+      <para>In order to provide greater Unicode coverage, it is recommended
+      that you install these fonts:</para>
+      <itemizedlist>
+        <listitem>
+          <para><ulink url="http://dejavu.sourceforge.net/">DejaVu fonts</ulink>
+          - These fonts are replacements for the Bitstream Vera fonts and
+          provide Latin-based scripts with accents and Cyrillic glyphs.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://download.savannah.nongnu.org/releases/freefont/">FreeFont</ulink>
+          - This set of fonts covers nearly every non-CJK character, but is not
+          visually pleasing.  <application>Fontconfig</application> will use it
+          as a last resort to substitute generic font family names.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://corefonts.sourceforge.net/">Microsoft Core fonts</ulink>
+          - These fonts provide slightly worse Unicode coverage than FreeFont,
+          but are better hinted.  Be sure to read the license before using
+          them. These fonts are listed in the aliases in the 
+          <filename class="directory">/etc/fonts/fonts.d</filename> directory
+          by default.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://cle.linux.org.tw/fonts/FireFly">Firefly New Sung font</ulink>
+          - This font provides Chinese coverage. This font is listed in the
+          aliases in the
+          the <filename class="directory">/etc/fonts/fonts.d</filename>
+          directory by default.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://cle.linux.org.tw/fonts/Arphic">Arphic fonts</ulink> -
+          A similar set of Chinese fonts to the Firefly New Sung font.
+          These fonts are listed in the aliases in the
+          <filename class="directory">/etc/fonts/fonts.d</filename> directory
+          by default.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://sourceforge.jp/projects/efont/">Kochi fonts</ulink> -
+          These provide Japanese characters, and are listed in the aliases
+          in the <filename class="directory">/etc/fonts/fonts.d</filename>
+          directory by default.</para>
+        </listitem>
+        <listitem>
+          <para><ulink
+          url="http://kldp.net/projects/baekmuk/">Baekmuk fonts</ulink>
+          - These fonts provide Korean coverage, and are listed in the
+          aliases in the
+          <filename class="directory">/etc/fonts/fonts.d</filename> directory
+          by default.</para>
+        </listitem>
+      </itemizedlist>
+      <para>The list above will not provide complete Unicode coverage.  For
+      more information, please visit the <ulink
+      url="http://unifont.org/fontguide/">Unicode Font Guide</ulink>.</para>
+      <para>As an example, consider the installation of the DejaVu fonts.  From
+      the unpacked source directory, run the following commands as the
+      <systemitem class="username">root</systemitem> user:</para>
+<screen role="root"><userinput>install -v -d -m755 /usr/share/fonts/dejavu &&
+install -v -m644 *.ttf /usr/share/fonts/dejavu &&
+fc-cache -v /usr/share/fonts/dejavu</userinput></screen>
+    </sect2>
+  <sect2 role="configuration" id='xconfig'>
+    <title>Setting up Xorg Devices</title>
+    <para>For most hardware configurations, modern Xorg will automatically
+    get the server configuration correct without any user intervention. There
+    are, however, some cases where auto-configuration will be incorrect.
+    Following are some example manual configuration items that may be of use in
+    these instances.</para>
+    <sect3 id="xinput">
+    <title>Setting up X Input Devices</title>
+    <para>For most input devices, no additional configuration will be
+    necessary.  This section is provided for informational purposes only.</para>
+    <para>A sample default XKB setup could look like the following (executed as
+    the <systemitem class="username">root</systemitem> user):</para>
+<screen><userinput role="username">cat > /etc/X11/xorg.conf.d/xkb-defaults.conf << "EOF"
+Section "InputClass"
+    Identifier "XKB Defaults"
+    MatchIsKeyboard "yes"
+    Option "XkbOptions" "terminate:ctrl_alt_bksp"
+  </sect3>
+  <sect3 id="xdisplay">
+  <title>Fine Tuning Display Settings</title>
+  <para>Again, with modern Xorg, little or no additional configuration is
+  necessary. If you should need extra options passed to your video driver,
+  for instance, you could use something like the following (again, executed as
+  the <systemitem class="username">root</systemitem> user):</para>
+<screen><userinput role="root">cat > /etc/X11/xorg.conf.d/videocard-0.conf << "EOF"
+Section "Device"
+    Identifier  "Videocard0"
+    Driver      "radeon"
+    VendorName  "Videocard vendor"
+    BoardName   "ATI Radeon 7500"
+    Option      "NoAccel" "true"
+  <para>Another common setup is having multiple server layouts for use in
+  different environments. Though the server will automatically detect the
+  presence of another monitor, it may get the order incorrect:</para>
+<screen><userinput role="root">cat > /etc/X11/xorg.conf.d/server-layout.conf << "EOF"
+Section "ServerLayout"
+    Identifier     "DefaultLayout"
+    Screen      0  "Screen0" 0 0
+    Screen      1  "Screen1" LeftOf "Screen0"
+    Option         "Xinerama"
+  </sect3>
+  </sect2>

More information about the blfs-book mailing list