RandR / Xinerama - how to make work in OSE 11.2

So I did my research and understand that RandR is replacing Xinerama and Sax2, it’s a good thing in my opinion but it’s not there yet – at least not for my setup – and I need a solution so hopefully someone can help out.

I fully admit, this is not a simple usage. Anyway, I have 4 monitors setup in an inverted “T” arrangement (think 3 in a row at eye level and one above the center monitor) on two NVIDIA 6800 GT cards.

Out of the box the detection software gets my monitor details right for one of the monitors on the card it detects but not the other. So, I get 1680x1050 on one monitor and something silly like 800x600 on the other (does anyone have less capability than 1024x768 anymore? I think less than that as a default on anything other than a mobile device (like a smart phone) is pointless conservatism but I digress from the issue.)

My other NVIDIA card doesn’t show at all so I am stuck with one good monitor setup, one bad, and 2 non-existent.

Then I ran Sax2 and got some mode info. that I had to figure out myself in OSE 11.0 so that was nice (still didn’t detect my full setup but it never did so that’s fine). Next I took my xorg.conf file from my 11.0 installation and put it in the /etc/X11 directory of my new 11.2 installation (incorporating the updated mode info. for my monitor).

I then installed the NVIDIA native drivers and it looked like everything was working as before.

Except, after a while I noticed this error: “Xlib: extension “RANDR” missing on display “:0.0”.” Coming up after various actions which prompted me to learn about RandR.

Running “xrandr --version” I get this result:

xrandr program version       1.3.2
Xlib:  extension "RANDR" missing on display ":0.0".
RandR extension missing

and similarly, running: “xrandr -q” I get:

Xlib:  extension "RANDR" missing on display ":0.0".
RandR extension missing

Since RandR isn’t even detecting my other video card it seems I have to run Xinerama for now. So, the question is:

How to make this "in between" solution work while waiting for RandR to work better and for other technology like the NVIDIA driver to support it? 

(I can see Xinerama in “NVIDIA Server Settings” but not RandR.)

The answer probably lies in your xorg.conf file. Post the contents via pastebin (or similar).

BTW, what does ‘xrandr’ report? (You will need to disable xinerama first).

Someone will probably want to see me xorg.conf file to respond so here it is:


Section "Files"
    InputDevices      "/dev/gpmdata"
    InputDevices      "/dev/input/mice"
    FontPath        "/usr/share/fonts/misc:unscaled"
    FontPath        "/usr/share/fonts/local"
    FontPath        "/usr/share/fonts/75dpi:unscaled"
    FontPath        "/usr/share/fonts/100dpi:unscaled"
    FontPath        "/usr/share/fonts/Type1"
    FontPath        "/usr/share/fonts/URW"
    FontPath        "/usr/share/fonts/Speedo"
    FontPath        "/usr/share/fonts/PEX"
    FontPath        "/usr/share/fonts/cyrillic"
    FontPath        "/usr/share/fonts/latin2/misc:unscaled"
    FontPath        "/usr/share/fonts/latin2/75dpi:unscaled"
    FontPath        "/usr/share/fonts/latin2/100dpi:unscaled"
    FontPath        "/usr/share/fonts/latin2/Type1"
    FontPath        "/usr/share/fonts/latin7/75dpi:unscaled"
    FontPath        "/usr/share/fonts/baekmuk:unscaled"
    FontPath        "/usr/share/fonts/japanese:unscaled"
    FontPath        "/usr/share/fonts/kwintv"
    FontPath        "/usr/share/fonts/truetype"
    FontPath        "/usr/share/fonts/uni:unscaled"
    FontPath        "/usr/share/fonts/CID"
    FontPath        "/usr/share/fonts/ucs/misc:unscaled"
    FontPath        "/usr/share/fonts/ucs/75dpi:unscaled"
    FontPath        "/usr/share/fonts/ucs/100dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/misc:unscaled"
    FontPath        "/usr/share/fonts/hellas/75dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/100dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/Type1"
    FontPath        "/usr/share/fonts/misc/sgi:unscaled"
    FontPath        "/usr/share/fonts/xtest"
    FontPath        "/opt/kde3/share/fonts"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "glx"
EndSection

Section "InputDevice"
    Identifier     "Keyboard[0]"
    Driver         "kbd"
    Option         "Protocol" "Standard"
    Option         "XkbLayout" "us"
    Option         "XkbModel" "microsoftpro"
    Option         "XkbRules" "xfree86"
EndSection

Section "InputDevice"
    Identifier     "Mouse[1]"
    Driver         "mouse"
    Option         "Buttons" "9"
    Option         "Device" "/dev/input/mice"
    Option         "Name" "Uni Class Combo Free KVM"
    Option         "Protocol" "explorerps/2"
    Option         "Vendor" "Sysp"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "ServerLayout"
    Identifier     "Layout[all]"
    Screen      0  "Screen[0]" 0 0
    Screen      1  "Screen[1]" RightOf "Screen[0]"
    Screen      2  "Screen[2]" LeftOf "Screen[0]"
    Screen      3  "Screen[3]" Above "Screen[0]"
    InputDevice    "Keyboard[0]" "CoreKeyboard"
    InputDevice    "Mouse[1]" "CorePointer"
EndSection

Section "ServerFlags"
    Option         "AllowMouseOpenFail" "on"
    Option         "ZapWarning" "on"
    Option         "Clone" "off"
    Option         "Xinerama" "on"
    Option	   "RandR"    "on"
EndSection

Section "Extensions"
    Option         "Composite" "on"
EndSection

Section "Modes"
    Identifier	   "Modes[0]"
    ModeLine       "1680x1050" 146.00 1680 1784 1960 2240 1050 1053 1059 1089 +hsync -vsync
    ModeLine       "1024x768"   65.00 1024 1048 1184 1344  768  771  777  806
EndSection

Section "Monitor"
    Identifier     "Monitor[0]"
    VendorName     "GSM"
    ModelName      "LG ELECTRONICS L227W"
    UseModes       "Modes[0]"
    DisplaySize     474    296
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "CalcAlgorithm" "XServerPool"
    Option         "DPMS"
    Option         "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
    Identifier     "Monitor[1]"
    VendorName     "GSM"
    ModelName      "LG ELECTRONICS L227W"
    UseModes       "Modes[0]"
    DisplaySize     474    296
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "CalcAlgorithm" "XServerPool"
    Option         "DPMS"
    Option         "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
    Identifier     "Monitor[2]"
    VendorName     "GSM"
    ModelName      "LG ELECTRONICS L227W"
    UseModes       "Modes[0]"
    DisplaySize     474    296
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "CalcAlgorithm" "XServerPool"
    Option         "DPMS"
    Option         "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
    Identifier     "Monitor[3]"
    VendorName     "GSM"
    ModelName      "LG ELECTRONICS L227W"
    UseModes       "Modes[0]"
    DisplaySize     474    296
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "CalcAlgorithm" "XServerPool"
    Option         "DPMS"
    Option         "PreferredMode" "1680x1050"
EndSection

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 8600 GT"
    BusID          "PCI:1:0:0"
    Screen          0
    Option	    "CoolBits"			"1"
    Option	    "CursorShadow"		"1"
    Option	    "TripleBuffer"		"True"
    Option	    "MultisampleCompatibility"	"True"
    Option	    "NoPowerConnectorCheck"
    Option	    "RenderAccel"		"True"
    Option	    "AllowGLXWithComposite"	"1"
#   Option	    "OnDemandVBlankInterrupts"	"True"	# Experimental
EndSection

Section "Device"
    Identifier     "Device[1]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 8600 GT"
    BusID          "PCI:1:0:0"
    Screen          1
    Option	    "CoolBits"			"1"
    Option	    "CursorShadow"		"1"
    Option	    "TripleBuffer"		"True"
    Option	    "MultisampleCompatibility"	"True"
    Option	    "NoPowerConnectorCheck"
    Option	    "RenderAccel"		"True"
    Option	    "AllowGLXWithComposite"	"1"
#   Option	    "OnDemandVBlankInterrupts"	"True"	# Experimental
EndSection

Section "Device"
    Identifier     "Device[2]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 8600 GT"
    BusID          "PCI:2:0:0"
    Screen          0
    Option	    "CoolBits"			"1"
    Option	    "CursorShadow"		"1"
    Option	    "TripleBuffer"		"True"
    Option	    "MultisampleCompatibility"	"True"
    Option	    "NoPowerConnectorCheck"
    Option	    "RenderAccel"		"True"
    Option	    "AllowGLXWithComposite"	"1"
#   Option	    "OnDemandVBlankInterrupts"	"True"	# Experimental
EndSection

Section "Device"
    Identifier     "Device[3]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 8600 GT"
    BusID          "PCI:2:0:0"
    Screen          1
    Option	    "CoolBits"			"1"
    Option	    "CursorShadow"		"1"
    Option	    "TripleBuffer"		"True"
    Option	    "MultisampleCompatibility"	"True"
    Option	    "NoPowerConnectorCheck"
    Option	    "RenderAccel"		"True"
    Option	    "AllowGLXWithComposite"	"1"
#   Option	    "OnDemandVBlankInterrupts"	"True"	# Experimental
EndSection

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen[1]"
    Device         "Device[1]"
    Monitor        "Monitor[1]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen[2]"
    Device         "Device[2]"
    Monitor        "Monitor[2]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen[3]"
    Device         "Device[3]"
    Monitor        "Monitor[3]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
EndSection

xorg below your post and xrandr output above your post.

I saw the xrandr output in your initial post, but is this for the current xorg.conf you have (ie with xinerama enabled)? Do you get this xrandr error when X is started without xorg.conf, or when xinerama is disabled?

I saw the xrandr output in your initial post, but is this for the current xorg.conf you have (ie with xinerama enabled)?

Yes, the only thing that I changed, which had no effect, was I added a “RandR” “On” line, but like I said, no effect.

Do you get this xrandr error when X is started without xorg.conf, or when xinerama is disabled?

It is only with xinerama and the custom xorg.conf file (the two are hand-in-hand in my setup. That is, there is no reason for the xinerama without the xorg.conf file).

Without xinerama, like I said, I can’t get my other 2 monitors and one is at that 800x600 mode (useless) so I have 1 out of 4 monitors usable.

Perhaps there is a way to force the RandR to work with the 4 monitors through a different configuration in the xorg.conf file but I’m still trying to figure that out and much of what I have read suggest it won’t be possible. The only hope seems to be that OSE 11.2 has 1.3 RandR which has many improvements on 1.2 but the info. on 1.3 (like how to set it up with many monitors) is not so easy to find… but I’m still looking.

This is why I was thinking it would be best for the short term to just have ximerama be the method and just turn off RandR – it’s been working perfectly that way in OSE 11.0 for over a year. But, I don’t know if they even support that anymore and it might be a case of “having to find a way to make it work with RandR”.

Well, xinerama and RandR are mutually exclusive AFAIK, but I have also read that the latter cannot be disabled explicitly for nvidia drivers and recent X-server versions (ie the xorg.conf option is ignored), which seems strange. Anyway, you might get a better discussion on this topic in these forums

Phoronix Forums - Powered by vBulletin

NVIDIA Linux - nV News Forums

It did and thanks! It ends up all as I had to do was comment out the line that turns on Xinerama. The line I added with “randr” I can just remove as it does nothing. The key was seeing references to “fakerama” and remembering that I read somewhere that it uses all the (or at least most of I presume) the Xinerama settings.

It’s actually awesome as now I have the full panning across my 4 monitors but it all has all the cool effects (like the rotating cube to different desktops) on a monitor by monitor basis.

The other clue was one post with quite a bit of info. was dated 2006 about making NVIDIA drivers RandR 1.2 compliant. I figured by now much must have happened to that end and beyond – and it had.

Anyway, all is good, I hope this helps anyone else porting over their xorg.conf file to a newer system.

Okay, I spoke too soon as there is one limitation that I didn’t realize was going to happen. I can’t move things between monitors which is the whole point of Ximerama.

Does anyone know if there is a setting to solve this or is this just the way it is for now?

Okay, I spoke too soon as there is one limitation that I didn’t realize was going to happen. I can’t move things between monitors which is the whole point of Ximerama.

Does anyone know if there is a setting to solve this or is this just the way it is for now?

Thats a limitation of the desktop environment. I think you’ve gone about as far as one can with a muti-screen setup. Its disappointing that RandR 1.3 didn’t include support for multiple cards as initially promised.

Similar discussion here:

Arch Linux Forums / 3 monitors, 2 video cards, 1 kms

Not sure if Gnome behaves differently from KDE 4.X:

GNOME/Multiscreen - openSUSE

If what I read is right then the message I am experiencing is just a warning and can be ignored. Basically, xinerama disables RandR and then if something tries to use a call that’s part of RandR the message is spat out.

But, given that that is the case, it would sure be nice if the warnings could be suppressed or at least sent to the log only instead of the screen. Does anyone have a clue how to do that?

For all I know they might have the support for multiple cards but since I can’t find any documentation about 1.3 like I can 1.2 (see Xorg RandR 1.2 - ThinkWiki) there’s no way to implement it even if it exists.

The documentation I see so far suggests support only for 2 monitors off one card (focusing on laptops). Home systems that will be far more variable seem to be ignored for now.

Like what? NVIDIA drivers still don’t support RandR 1.2…

Sorry, I went through tons of web sites and I don’t think I could find that thread again. It doesn’t surprise me that you are right though.

I think this is important to let people know about using xinerama with the current xorg (OSE 11.2).

While I read several posts that suggested ignoring the warning message (the whole reason this long thread started) I noticed that many apps. seemed to be running slowly. Some times it’s hard to tell if it has anything to do with the use of xinerama, for example, using FireFox since slow response could be slow web sites or a DNS problem etc.

However, my system monitor has been showing unduly high processor usage so I decided to take a screenshot of it using M+PRTSC. This showed a definite problem as the screenshot was just black (except for the cursor icon). Without xinerama the processor usage goes down to something nominal and I can take screenshots that work.

The conclusion being this is more than just a case of a warning message that can be ignored so contrary to what I have read I am going to suggest to people to NOT ignore the messages and find another solution.

With this behavior I think it’s worth logging a bug which I’ll do shortly.

So I found two new things out.

First, I had a horrible time when there was an update to X11 because all of a sudden I couldn’t start my screen. It took me forever to figure out that someone made it so that my previous way of setting up the xorg.conf file was no longer valid. Once I did it wasn’t so hard to rebuild the file with the new requirements… but some warning would have been nice!!!

Second, for the most part I can ignore the randr message but I just noticed one case where it is a problem. The susehelp system won’t start and trying to run it from the command line gives this error:

Xlib:  extension "RANDR" missing on display ":0.0".
Could not initialize gecko!

I would sure like to know how to solve this. I think I’ll submit this one as a bug.

For anyone who needs a 3+ monitor setup (this is for 4) here is an example of what works for me with NVIDIA drivers. The nice this thing is that it’s much less code now.

Section "Files"
	ModulePath   "/usr/lib64/xorg/modules/updates"
	ModulePath   "/usr/lib64/xorg/modules"
	FontPath     "/usr/share/fonts/misc:unscaled"
	FontPath     "/usr/share/fonts/truetype/"
	FontPath     "/usr/share/fonts/TTF/"
	FontPath     "/usr/share/fonts/OTF"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/100dpi:unscaled"
	FontPath     "/usr/share/fonts/75dpi:unscaled"
EndSection

Section "Module"
	Load  "glx"
	Load  "vnc"
	Load  "dri2"
	Load  "dri"
	Load  "extmod"
	Load  "dbe"
	Load  "record"
	Load  "glx"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "ServerLayout"
	Identifier     "Layout All"
    	Screen      0  "Screen0" 0 0
    	Screen      1  "Screen1" RightOf "Screen0"
    	Screen      2  "Screen2" LeftOf  "Screen0"
    	Screen      3  "Screen3" Above   "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
  # Uncomment the following option to reenable kbd/mouse driver input sections. 
  # Otherwise evdev driver is used. 
  #Option       "AutoAddDevices" "off"
    	Option     "Xinerama" "on"
EndSection

Section "Modes"
    Identifier      "Modes0"
    ModeLine        "1680x1050" 146.00 1680 1784 1960 2240 1050 1053 1059 1089 +hsync -vsync
EndSection

#    	Option       "CalcAlgorithm" "XServerPool"
Section "Monitor"
	Identifier   "Monitor0"
    	VendorName   "GSM"
    	ModelName    "LG ELECTRONICS L227W"
    	UseModes     "Modes0"
    	DisplaySize  474 296
    	HorizSync    30-83
   	VertRefresh  50-75                                                              
    	Option       "DPMS"
    	Option       "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
    	VendorName   "GSM"
    	ModelName    "LG ELECTRONICS L227W"
    	UseModes     "Modes0"
    	DisplaySize  474 296
    	HorizSync    30-83
   	VertRefresh  50-75                                                              
    	Option       "DPMS"
    	Option       "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
	Identifier   "Monitor2"
    	VendorName   "GSM"
    	ModelName    "LG ELECTRONICS L227W"
    	UseModes     "Modes0"
    	DisplaySize  474 296
    	HorizSync    30-83
   	VertRefresh  50-75                                                              
    	Option       "DPMS"
    	Option       "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
	Identifier   "Monitor3"
    	VendorName   "GSM"
    	ModelName    "LG ELECTRONICS L227W"
    	UseModes     "Modes0"
    	DisplaySize  474 296
    	HorizSync    30-83
   	VertRefresh  50-75                                                              
    	Option       "DPMS"
    	Option       "PreferredMode" "1680x1050"
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "nvidia"
    	BoardName   "GeForce 8600 GT"
    	VendorName  "NVidia"
	BusID       "PCI:1:0:0"
    	Screen      0
    	Option     "CoolBits"         "On"
EndSection
Section "Device"
	Identifier  "Card1"
	Driver      "nvidia"
    	BoardName   "GeForce 8600 GT"
    	VendorName  "NVidia"
	BusID       "PCI:1:0:0"
    	Screen      1
EndSection

Section "Device"
	Identifier  "Card2"
	Driver      "nvidia"
    	BoardName   "GeForce 8600 GTS"
    	VendorName  "NVidia"
	BusID       "PCI:2:0:0"
    	Screen      0
EndSection
Section "Device"
	Identifier  "Card3"
	Driver      "nvidia"
    	BoardName   "GeForce 8600 GTS"
    	VendorName  "NVidia"
	BusID       "PCI:2:0:0"
    	Screen      1
EndSection

#	Option	   "ConnectedMonitor" "DFP"  # Digital Flat Panel (doesn't come on, don't use)
#   	Option     "MultiGPU"         "Auto" # Causes only one screen to come on, don't use
#   	Option     "SLI"              "Auto" # Causes only one screen to come on, don't use

#    	Option     "TripleBuffer"     "True" #	This decreases the time an application stalls
#		    while waiting for vblank events, but increases latency slightly (delay
#		    between user input and displayed result).
Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 24
	SubSection "Display"
		Viewport  0 0
		Depth     24
		modes     "1680x1050"
	EndSubSection
    	Option     "CursorShadow"     "On"
    	Option     "RenderAccel"      "True"
    	Option     "TripleBuffer"     "False"
    	Option 	   "RandRRotation"    "True"
	Option 	   "OnDemandVBlankInterrupts" "On"  # Experimental
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	DefaultDepth 24
	SubSection "Display"
		Viewport  0 0
		Depth     24
		modes     "1680x1050"
	EndSubSection
    	Option     "CursorShadow"     "On"
    	Option     "RenderAccel"      "True"
    	Option     "TripleBuffer"     "False"
    	Option 	   "RandRRotation"    "True"
	Option 	   "OnDemandVBlankInterrupts" "On"  # Experimental
EndSection

Section "Screen"
	Identifier "Screen2"
	Device     "Card2"
	Monitor    "Monitor2"
	DefaultDepth 24
	SubSection "Display"
		Viewport  0 0
		Depth     24
		modes     "1680x1050"
	EndSubSection
    	Option     "CursorShadow"     "On"
    	Option     "RenderAccel"      "True"
    	Option     "TripleBuffer"     "False"
    	Option 	   "RandRRotation"    "True"
	Option 	   "OnDemandVBlankInterrupts" "On"  # Experimental
EndSection

Section "Screen"
	Identifier "Screen3"
	Device     "Card3"
	Monitor    "Monitor3"
	DefaultDepth 24
	SubSection "Display"
		Viewport  0 0
		Depth     24
		modes     "1680x1050"
	EndSubSection
    	Option     "CursorShadow"     "On"
    	Option     "RenderAccel"      "True"
    	Option     "TripleBuffer"     "False"
    	Option 	   "RandRRotation"    "True"
	Option 	   "OnDemandVBlankInterrupts" "On"  # Experimental
EndSection

Thanks for sharing your experience. I linked/copied the information in your post to the discussion section of the practical graphical theory guide so as to make it easier to find in the future.