Index: x/installing/xorg-config.xml
===================================================================
--- x/installing/xorg-config.xml	(revision 503a60a023a7c6233fec028df6c24e495cf8b664)
+++ x/installing/xorg-config.xml	(revision f38727d164d71b88841469f2488101608e34ad2f)
@@ -37,64 +37,140 @@
     </sect2>
 
-    <sect2 role="configuration" id='checking-dri' xreflabel="Checking the DRI installation">
+    <sect2 role="configuration" id="checking-dri" xreflabel="Checking the DRI installation">
     <title>Checking the Direct Rendering Infrastructure (DRI) Installation</title>
 
-    <para>DRI is a framework for allowing software to access graphics hardware
-    in a safe and efficient manner. It is installed in <application>X</application>
-    by default (using <application>MesaLib</application>) if you have a supported
-    video card.</para>
-
-    <para>To check if DRI is installed properly, check the log file
-    <filename>/var/log/Xorg.0.log</filename> for statements like:</para>
-
-<screen><literal>(II) R128(0): Direct rendering enabled</literal></screen>
-
-    <note><para>DRI configuration may differ if you are using alternate
-    drivers, such as those from
-    <ulink url="http://www.nvidia.com/page/home.html">NVIDIA</ulink> or
-    <ulink url="http://www.ati.com/">ATI</ulink>.</para>
+    <para>
+      DRI is a framework for allowing software to access graphics hardware in a safe and
+      efficient manner. It is installed in <application>X</application> by default
+      (using <application>MesaLib</application>) if you have a supported video card.
+    </para>
+
+    <para>
+      To check if DRI drivers are installed properly, check the log file
+      <filename>/var/log/Xorg.0.log</filename> for statements like:
+    </para>
+
+<screen><literal>(II) intel(0): direct rendering: DRI2 Enabled</literal></screen>
+
+    <note>
+      <para>
+        DRI configuration may differ if you are using alternate drivers, such
+        as those from
+        <ulink url="http://www.nvidia.com/page/home.html">NVIDIA</ulink> or
+        <ulink url="http://www.ati.com/">ATI</ulink>.
+      </para>
     </note>
 
-    <para>Although all users can use software acceleration, any hardware
-    acceleration (DRI2) is only available to
-    <systemitem class="username">root</systemitem> and members of the
-    <systemitem class="groupname">video</systemitem> group.</para>
-
-    <para>To see if hardware acceleration is available for your driver, look in
-    <filename>/var/log/Xorg.0.log</filename> for statements like:</para>
-
-<screen><literal> (II) intel(0): direct rendering: DRI2 Enabled</literal></screen>
-
-    <para>If your driver is supported, add any users that might use X to that group:</para>
+    <para>
+      Although all users can use software acceleration, any hardware acceleration (DRI2)
+      is only available to <systemitem class="username">root</systemitem> and members
+      of the <systemitem class="groupname">video</systemitem> group.
+    </para>
+
+    <para>
+      To see if hardware acceleration is available for your driver, look in
+      <filename>/var/log/Xorg.0.log</filename> for statements like:
+    </para>
+
+<screen><literal>(II) intel(0): direct rendering: DRI2 Enabled</literal></screen>
+
+    <para>
+      If your driver is supported, add any users that might use X to that group:
+    </para>
 
 <screen role="root"><userinput>usermod -a -G video <replaceable>&lt;username&gt;</replaceable></userinput></screen>
 
-    <para>If you elected to install the Mesa-Demos package when installing
-    <xref linkend="mesalib"/>, from an <command>xterm</command>, run
-    <command>glxinfo</command> and first look for the phrase:</para>
-
-<screen><computeroutput>direct rendering: Yes</computeroutput></screen>
-
-    <para>If direct rendering is enabled, you can add verbosity by
-    running <command>LIBGL_DEBUG=verbose glxinfo</command>.  This will
-    show the drivers, device nodes and files used by the DRI system.</para>
-
-    <para>If DRI is enabled, to confirm that DRI2 hardware acceleration is
-    working you can (still in the <command>xterm</command>) run the command
-    <command>glxinfo | grep "OpenGL renderer string"</command> - if that
-    reports something <emphasis>other than</emphasis>
-    <literal>Software Rasterizer</literal> then you have working acceleration
-    for the user who ran the command.</para>
-
-    <para>Again, if you have added the Mesa-Demos package, you can also
-    run the test program <command>glxgears</command>.
-    This program brings up a window with three gears turning.  The
-    <command>xterm</command> will display how many frames were drawn every
-    five seconds, so this is a reasonable benchmark.  The window is scalable,
-    and the frames drawn per second is highly dependent on the size of
-    the window.</para>
+    <para>
+      If you have installed two OpenGL demo programs when you installed
+      <xref linkend="mesalib"/>, from an X terminal, run <command>glxinfo</command>
+      and look for the phrase:
+    </para>
+
+<screen><computeroutput>name of display: :0
+display: :0  screen: 0
+direct rendering: Yes</computeroutput></screen>
+
+    <para>
+      If direct rendering is enabled, you can add verbosity by running
+      <command>LIBGL_DEBUG=verbose glxinfo</command>. This will show the drivers,
+      device nodes and files used by the DRI system.
+    </para>
+
+    <para>
+      If DRI2 is enabled, to confirm that DRI2 hardware acceleration is working you can
+      (still in the X terminal) run the command
+      <command>glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"</command>
+      - if that reports something <emphasis>other than</emphasis>
+      <literal>Software Rasterizer</literal> then you have working acceleration for the
+      user who ran the command.
+    </para>
+
+    <para>
+      If your hardware does not have any DRI2 driver available, it will use Software Rasterizer
+      for Direct Rendering. In such cases, it is recommended that you use new, LLVM-accelerated,
+      Software Rasterizer called LLVMPipe. In order to build LLVMPipe just make sure that
+      <xref linkend="llvm"/> is present at MesaLib build time. Please note that all decoding is
+      done on CPU instead of GPU, so expect that things run slower. To check if you are using
+      LLVMpipe, run
+      <command>glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"</command>.
+      An example output is shown below:
+    </para>
+
+<screen><computeroutput>OpenGL vendor string: VMware, Inc.
+OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)
+OpenGL version string: 2.1 Mesa 9.1-devel (git-cb3b172)</computeroutput></screen>
+
+    <para>
+      You can always force LLVMPipe by exporting <envar>LIBGL_ALWAYS_SOFTWARE=1</envar>
+      environment variable.
+    </para>
+
+    <para>
+      Again, if you have built Mesa OpenGL demos, you can also run the test program
+      <command>glxgears</command>. This program brings up a window with three gears
+      turning. The X terminal will display how many frames were drawn every five
+      seconds, so this is a reasonable benchmark. The window is scalable, and the
+      frames drawn per second is highly dependent on the size of the window. On some
+      hardware, <command>glxgears</command> will run synchronized to vertical refresh
+      and framerate will be approximately the same as the monitor refresh rate.
+    </para>
 
     </sect2>
 
+    <sect2 role="configuration" id="hybrid-graphics" xreflabel="Hybrid Graphics">
+    <title>Hybrid Graphics</title>
+
+    <para>
+      Hybrid Graphics is still in experimental state for Linux. Xorg Developers have
+      developed a technology called PRIME that can be used for switching between
+      integrated and muxless discrete GPU at will. Automatic switching is not
+      possible at the moment.
+    </para>
+
+    <para>
+      In order to use PRIME for GPU switching, make sure that you are using Linux
+      Kernel 3.4 or later (recommended). You will need latest DRI and DDX drivers
+      for your hardware and <application>Xorg Server</application> 1.13 with an
+      optional patch applied.
+    </para>
+
+    <para>
+      <application>Xorg Server</application> should load both GPU drivers automaticaly.
+      In order to run a GLX application on a discrete GPU, you will need to export
+      <envar>DRI_PRIME=1</envar> environment variable. For example,
+      
+<screen><userinput>DRI_PRIME=1 glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"</userinput></screen>
+
+      will show OpenGL vendor, renderer and version for the discrete GPU.
+    </para>
+
+    <para>
+      If the last command reports same OpenGL renderer with and without <envar>DRI_PRIME=1</envar>,
+      you will need to check your installation.
+    </para>
+
+    </sect2>
+
+<!--
     <sect2 role="configuration" id='X11R6-compat-symlink'
          xreflabel="Creating an X11R6 Compatibility Symlink">
@@ -130,4 +206,5 @@
 
     </sect2>
+-->
 
     <sect2 role="configuration" id="xft-font-protocol"  xreflabel="Xft Font Protocol">
