]> git.sur5r.net Git - i3/i3.github.io/blobdiff - _docs/multi-monitor
Remove SLOC comments
[i3/i3.github.io] / _docs / multi-monitor
index d3f31ba24b27fd1539a7840d6980041102aea23a..cafe569103b6c3f88a08615b697c4f176bb9c137 100644 (file)
@@ -1,18 +1,16 @@
 The multi-monitor situation
 ===========================
 Michael Stapelberg <michael@i3wm.org>
-July 2012
+April 2013
 
-…or: oh no, I have an nVidia graphics card!
+Please upgrade your nVidia driver to version 302.17 or newer and i3 will just
+work. This document is kept around for historic reasons only.
 
 == The quick fix
 
 If you are using the nVidia binary graphics driver (also known as 'blob')
-you need to upgrade to at least version 302.17 (released in June 2012).
-
-In case you cannot update the driver to 302.17 or newer on your machine for
-some reason, use the +--force-xinerama+ flag (in your .xsession) when starting
-i3, like so:
+before version 302.17, you need to use the +--force-xinerama+ flag (in your
+.xsession) when starting i3, like so:
 
 .Example:
 ----------------------------------------------
@@ -23,15 +21,15 @@ exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
 
 == The explanation
 
-Starting with version 3.ε (March 2010), i3 uses the RandR (Rotate and Resize)
-API instead of Xinerama. The reason for this, is that RandR provides more
-information about your outputs and connected screens than Xinerama does. To be
-specific, the code which handled on-the-fly screen reconfiguration (meaning
-without restarting the X server) was a very messy heuristic and most of the
-time did not work correctly -- that is just not possible with the little
-information Xinerama offers (just a list of screen resolutions, no identifiers
-for the screens or any additional information). Xinerama simply was not
-designed for dynamic configuration.
+Starting with version 3.ε, i3 uses the RandR (Rotate and Resize) API instead
+of Xinerama. The reason for this, is that RandR provides more information
+about your outputs and connected screens than Xinerama does. To be specific,
+the code which handled on-the-fly screen reconfiguration (meaning without
+restarting the X server) was a very messy heuristic and most of the time did
+not work correctly -- that is just not possible with the little information
+Xinerama offers (just a list of screen resolutions, no identifiers for the
+screens or any additional information). Xinerama simply was not designed
+for dynamic configuration.
 
 So RandR came along, as a more powerful alternative (RandR 1.2 to be specific).
 It offers all of Xinerama’s possibilities and lots more. Using the RandR API
@@ -41,16 +39,17 @@ workspaces to output names instead of some rather unreliable screen identifier
 
 As RandR has been around for about three years as of this writing, it seemed
 like a very good idea to us, and it still is a very good one. What we did not
-expect, however, was the nVidia binary driver. It did not support RandR until
-mid 2012, even though nVidia had announced that it will support RandR
-previously. What does missing RandR support mean for you? First of all, you are
-stuck with TwinView and cannot use +xrandr+. While this ruins the user
-experience, the more grave problem is that the nVidia driver not only does not
-support dynamic configuration using RandR, it also does not expose correct
-multi-monitor information via the RandR API. So, in some setups, i3 will not
-find any screens; in others, it will find one large screen which actually
-contains both of your physical screens (but it will not know that these are two
-screens).
+expect, however, was the nVidia binary driver. It still does not support RandR
+(as of March 2010), even though nVidia has announced that it will support RandR
+eventually. What does this mean for you, if you are stuck with the binary
+driver for some reason (say the free drivers don’t work with your card)? First
+of all, you are stuck with TwinView and cannot use +xrandr+. While this ruins
+the user experience, the more grave problem is that the nVidia driver not only
+does not support dynamic configuration using RandR, it also does not expose
+correct multi-monitor information via the RandR API. So, in some setups, i3
+will not find any screens; in others, it will find one large screen which
+actually contains both of your physical screens (but it will not know that
+these are two screens).
 
 For this very reason, we decided to implement the following workaround: As
 long as the nVidia driver does not support RandR, an option called