nightmorph    10/08/29 03:39:55

  Modified:             xorg-config.xml
  Log:
  rewrite X guide for KMS, open-source drivers, and whatnot. inspired by bug 
328001.

Revision  Changes    Path
1.40                 xml/htdocs/doc/en/xorg-config.xml

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/xorg-config.xml?rev=1.40&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/xorg-config.xml?rev=1.40&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/xorg-config.xml?r1=1.39&r2=1.40

Index: xorg-config.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- xorg-config.xml     23 May 2010 21:31:50 -0000      1.39
+++ xorg-config.xml     29 Aug 2010 03:39:55 -0000      1.40
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.39 
2010/05/23 21:31:50 nightmorph Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.40 
2010/08/29 03:39:55 nightmorph Exp $ -->
 
 <guide>
 <title>The X Server Configuration HOWTO</title>
@@ -22,8 +22,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
 <license/>
 
-<version>1.29</version>
-<date>2010-05-23</date>
+<version>2</version>
+<date>2010-08-28</date>
 
 <chapter>
 <title>What is the X Window Server?</title>
@@ -34,8 +34,8 @@
 <p>
 The average user may be frightened at the thought of having to type in 
commands.
 Why wouldn't he be able to point and click his way through the freedom provided
-by Gentoo (and Linux in general)? Well, *big smile*, of course you are able to
-do this. :-) Linux offers a wide variety of flashy user interfaces and
+by Gentoo (and Linux in general)? Well, of course you are able to
+do this! Linux offers a wide variety of flashy user interfaces and
 environments which you can install on top of your existing installation.
 </p>
 
@@ -88,15 +88,26 @@
 <chapter>
 <title>Installing Xorg</title>
 <section>
-<title>Kernel configuration</title>
+<body>
+
+<p>
+Before you can install Xorg, you need to prepare your system for it. First,
+we'll set up the kernel to support input devices and video cards. Then we'll
+prepare <path>/etc/make.conf</path> so that the right drivers and Xorg packages
+are built and installed.
+</p>
+
+</body>
+</section>
+<section>
+<title>Input driver support</title>
 <body>
 
 <p>
 By default, Xorg uses <c>evdev</c>, a generic input driver. You'll need to
 activate support for <c>evdev</c> by making a change to your kernel
-configuration. (Read the
-<uri link="/doc/en/kernel-config.xml">Kernel Configuration Guide</uri> if you
-don't know how to setup your kernel.)
+configuration. Read the <uri link="/doc/en/kernel-config.xml">Kernel
+Configuration Guide</uri> if you don't know how to setup your kernel.
 </p>
 
 <pre caption="Enabling evdev in the kernel">
@@ -108,29 +119,149 @@
 </body>
 </section>
 <section>
+<title>Kernel modesetting</title>
+<body>
+
+<p>
+Modern open-source video drivers rely on kernel modesetting (KMS). KMS provides
+an improved graphical boot with less flickering, faster user switching, a
+built-in framebuffer console, seamless switching from the console to Xorg, and
+other features. KMS conflicts with legacy framebuffer drivers, which must 
remain
+<b>disabled</b> in your kernel configuration.
+</p>
+
+<p>
+First, prepare your kernel for KMS. You need to do this step regardless of 
which
+Xorg video driver you're using.
+</p>
+
+<pre caption="Configuring framebuffers">
+Device Drivers ---&gt;
+  Graphics support ---&gt;
+    Support for frame buffer devices ---&gt;
+    <comment>(Disable all drivers, including VGA, Intel, nVidia, and 
ATI)</comment>
+
+    <comment>(Further down, enable basic console support. KMS uses 
this.)</comment>
+    Console display driver support ---&gt;
+      &lt;*&gt;  Framebuffer Console Support
+</pre>
+
+<p>
+Next, configure your kernel to use the proper KMS driver for your video card.
+Intel, nVidia, and ATI are the most common cards, so follow code listing for
+your card below.
+</p>
+
+<p>
+For Intel cards:
+</p>
+
+<pre caption="Intel settings">
+Device Drivers ---&gt;
+  Graphics support ---&gt;
+    /dev/agpgart (AGP Support) ---&gt;
+    &lt;*&gt;  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
+    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
+    &lt;*&gt;  Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)
+         i915 driver
+    [*]    Enable modesetting on intel by default
+</pre>
+
+<p>
+For nVidia cards:
+</p>
+
+<pre caption="nVidia settings">
+<comment>(Enable DRM)</comment>
+Device Drivers ---&gt;
+  Graphics support ---&gt;
+  &lt;*&gt;  Direct Rendering Manager ---&gt;
+
+<comment>(Nouveau is currently in the Staging drivers section)</comment>
+Device Drivers ---&gt;
+  Staging drivers ---&gt;
+  [ ]  Exclude Staging drivers from being built
+  &lt;*&gt;    Nouveau (nVidia) cards
+</pre>
+
+<p>
+For newer ATI cards (<uri link="/doc/en/ati-faq.xml">RadeonHD 2000 and
+up</uri>), you will need to emerge <c>radeon-ucode</c>. Once you have installed
+<c>radeon-ucode</c>, configure your kernel as shown:
+</p>
+
+<pre caption="ATI settings">
+<comment>(Setup the kernel to use the radeon-ucode firmware)</comment>
+Device Drivers ---&gt;
+  Generic Driver Options ---&gt;
+  [*]  Include in-kernel firmware blobs in kernel binary
+  <comment># RadeonHD 2000, 3000, and 4000 series cards:</comment>
+  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
+  <comment># RadeonHD 5000, a.k.a Evergreen, and newer cards:</comment>
+  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
+   radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
+   radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
+   radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin 
+   radeon/REDWOOD_rlc.bin) External firmware blobs
+   (/lib/firmware/) Firmware blobs root directory
+
+<comment>(Enable Radeon KMS support)</comment>
+Device Drivers ---&gt;
+  Graphics support ---&gt;
+  &lt;*&gt;  Direct Rendering Manager ---&gt;
+  &lt;*&gt;    ATI Radeon
+  [*]      Enable modesetting on radeon by default
+</pre>
+
+<note>
+Old Radeon cards (X1900 series and older) don't need the <c>radeon-ucode</c>
+package or any firmware configuration. Just enable the Direct Rendering Manager
+and ATI Radeon modesetting.
+</note>
+
+<p>
+Now that you're done setting up KMS, continue with preparing
+<path>/etc/make.conf</path> in the next section.
+</p>
+
+</body>
+</section>
+<section>
 <title>make.conf configuration</title>
 <body>
 
 <p>
-Before you install Xorg, you have to configure two important variables in the
-<path>/etc/make.conf</path> file.
+Now that your kernel is prepared, you have to configure two important variables
+in the <path>/etc/make.conf</path> file before you can install Xorg.
 </p>
 
 <p>
 The first variable is <c>VIDEO_CARDS</c>. This is used to set the video drivers
-that you intend to use and is usually based on the kind and brand of card you
-have. The most common settings are <c>nvidia</c> for Nvidia cards or
-<c>fglrx</c> for ATI Radeon cards. Those are the proprietary drivers from 
Nvidia
-and ATI respectively. If you would like to use the open source nVidia driver,
-use <c>nv</c> rather than <c>nvidia</c> in the variable, but bear in mind that
-using this driver means no 3D acceleration at all. The free <c>radeon</c> and
-<c>radeonhd</c> drivers are available for ATI cards, and are more or less the
-equal of the proprietary <c>fglrx</c> driver. The <c>intel</c> driver may be
-used for desktops or laptops with common Intel integrated graphics chipsets.
-<c>VIDEO_CARDS</c> may contain more than one driver, in this case list of them
-should be separated with spaces.
+that you intend to use and is usually based on the kind of video card you have.
+The most common settings are <c>nouveau</c> for nVidia cards or <c>radeon</c>
+for ATI cards. Both have actively developed, well-supported open-source
+drivers.
 </p>
 
+<note>
+You may also try the proprietary drivers from nVidia and ATI, <c>nvidia</c> and
+<c>fglrx</c> respectively. However, setting up the proprietary drivers is
+beyond the scope of this guide. Please read the <uri
+link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and <uri
+link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know which
+drivers you should choose, refer to these guides for more information.
+</note>
+
+<p>
+The <c>intel</c> driver may be used for desktops or laptops with common Intel
+integrated graphics chipsets.
+</p>
+
+<note>
+<c>VIDEO_CARDS</c> may contain more than one driver, each separated with a
+space.
+</note>
+
 <p>
 The second variable is <c>INPUT_DEVICES</c> and is used to determine which
 drivers are to be built for input devices. In most cases setting it to
@@ -147,43 +278,34 @@
 <pre caption="Sample make.conf entries">
 <comment>(For mouse, keyboard, and Synaptics touchpad support)</comment>
 INPUT_DEVICES="evdev synaptics"
-<comment>(For Nvidia cards)</comment>
-VIDEO_CARDS="nvidia"
+<comment>(For nVidia cards)</comment>
+VIDEO_CARDS="nouveau"
 <comment>(OR, for ATI Radeon cards)</comment>
 VIDEO_CARDS="radeon"
 </pre>
 
-<note>
-More instructions on how to configure nVidia and ATI cards can be found in the
-<uri link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and in the
-<uri link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know
-which drivers you should choose, refer to these guides for more information.
-</note>
-
 <p>
 If the suggested settings don't work for you, you should run <c>emerge -pv
-xorg-server</c>, check all the options available and choose those which apply 
to
+xorg-drivers</c>, check all the options available and choose those which apply 
to
 your system. This example is for a system with a keyboard, mouse, Synaptics
 touchpad, and a Radeon video card.
 </p>
 
 <pre caption="Displaying all the driver options available">
-# <i>emerge -pv xorg-server</i>
+# <i>emerge -pv xorg-drivers</i>
 
 These are the packages that would be merged, in order:
 
 Calculating dependencies... done!
-[ebuild   R   ] x11-base/xorg-server-1.6.3.901-r2  USE="hal nptl xorg -debug
--dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
-[ebuild   R   ]  x11-base/xorg-drivers-1.6  INPUT_DEVICES="evdev synaptics
--acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse
--mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom"
+[ebuild   R   ]  x11-base/xorg-drivers-1.8  INPUT_DEVICES="evdev synaptics
+-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount 
-tslib
+-virtualbox -vmmouse -void -wacom"
 VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
-(-geode) -glint -i128 (-i740) (-impact) (-imstt) -intel -mach64 -mga -neomagic
-(-newport) -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
+(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic 
(-newport)
+-nouveau -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
 -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
-(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via
--virtualbox -vmware (-voodoo) (-xgi)" 0 kB
+(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox
+-vmware (-voodoo) (-xgi)" 0 kB
 </pre>
 
 <p>
@@ -237,8 +359,8 @@
 <body>
 
 <p>
-Recent X server versions are designed to work out-of-the-box, with no need to
-manually edit Xorg's configuration files.
+The X server is designed to work out-of-the-box, with no need to manually edit
+Xorg's configuration files.
 </p>
 
 <p>
@@ -432,7 +554,7 @@
 
 <p>
 Now try <c>startx</c> to start up your X server. <c>startx</c> is a script
-that executes an <e>X session</e>, that is, it starts the X servers and some
+that executes an <e>X session</e>, that is, it starts the X server and some
 graphical applications on top of it. It decides which applications to run
 using the following logic:
 </p>
@@ -446,10 +568,11 @@
     Otherwise, it will read the value of the XSESSION variable and will execute
     one of the sessions available in <path>/etc/X11/Sessions/</path>
     accordingly. You can set the value of XSESSION in
-    <path>/etc/env.d/90xsession</path> to make it a default for all the users 
on
-    the system. For example, as root, run <c>echo XSESSION="Xfce4" >
+    <path>/etc/env.d/90xsession</path> to make it a default for all the users
+    on the system. For example, as root, run <c>echo XSESSION="Xfce4" >
     /etc/env.d/90xsession</c>. This will create the <path>90xsession</path> 
file
-    and set the default X session to Xfce4.
+    and set the default X session to <uri
+    link="/doc/en/xfce-config.xml">Xfce</uri>.
   </li>
 </ul>
 
@@ -458,7 +581,7 @@
 </pre>
 
 <p>
-You can kill the X session by using the Ctrl-Alt-Backspace combination. This
+You can kill the X session by using the Ctrl-Alt-Backspace key combination. 
This
 will, however, make X exit disgracefully -- something that you might not always
 want.
 </p>
@@ -512,24 +635,25 @@
 </warn>
 
 <p>
-Now let us change the resolutions. In the next example from
-<path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the
-<c>DefaultDepth</c> so that our X server starts with 24 bits at 1440x900 by
-default. Don't mind the given strings -- they are examples and will most likely
-differ from the settings on your system.
-</p>
-
-<pre caption="Changing the Screen section in /etc/X11/xorg.conf">
-Section "Screen"
-  Identifier  "Default Screen"
-  Device    "RadeonHD 4550"
-  Monitor   "Generic Monitor"
-  <i>DefaultDepth  24</i>
-  <comment># Skipping some text to improve readability</comment>
-  SubSection "Display"
-    Depth   24
-    <i>Modes   "1440x900"</i>
-  EndSubSection
+Now let us change the resolution. In the next example from
+<path>/etc/X11/xorg.conf</path> we add the <c>PreferredMode</c> line so that 
our
+X server starts at 1440x900 by default. Don't mind the given strings -- they 
are
+examples and will most likely differ from the settings on your system. However,
+the <c>Option</c> in the <c>Device</c> section must match the name of your
+monitor (<c>DVI-0</c>), which can be obtained by running <c>xrandr</c>. You'll
+need to <c>emerge xrandr</c> just long enough to get this information. The
+argument after the monitor name (in the <c>Device</c> section) must match the
+<c>Identifier</c> in the <c>Monitor</c> section.
+</p>
+
+<pre caption="Changing the Monitor section in /etc/X11/xorg.conf">
+Section "Device"
+  Identifier  "RadeonHD 4550"
+  Option      "Monitor-DVI-0" "DVI screen"
+EndSection
+Section "Monitor"
+  Identifier  "DVI screen"
+  Option      "PreferredMode" "1440x900"
 EndSection
 </pre>
 
@@ -573,8 +697,8 @@
 <p>
 Run <c>startx</c> and be happy about the result. Congratulations, you now
 (hopefully) have a working Xorg on your system. The next step is to install a
-useful window manager (or even a desktop environment) such as KDE or GNOME, but
-that's not part of this guide.
+useful window manager or desktop environment such as KDE, GNOME, or
+Xfce, but that's not part of this guide.
 </p>
 
 </body>
@@ -625,9 +749,9 @@
 </p>
 
 <p>
-If you're upgrading to xorg-server-1.6 from an earlier version, then be sure to
-read the <uri
-link="/proj/en/desktop/x/x11/xorg-server-1.6-upgrade-guide.xml">migration
+If you're upgrading to <c>xorg-server</c> 1.8 from an earlier version, then be
+sure to read the <uri
+link="/proj/en/desktop/x/x11/xorg-server-1.8-upgrade-guide.xml">migration
 guide</uri>.
 </p>
 




Reply via email to