Successful triple head Xinerama configuration with nVidia 8400 GS and on-board intel.

Pat Kane pekane52 at gmail.com
Wed Jan 26 05:57:12 PST 2011


Awesome experiment, thanks for the fun story.

Which nVidia driver are you using?

I've got an old Dell Vostro with an on-board Intel
that refuses to work when my nVidia card is in
the box.

Pat
----

On Wed, Jan 26, 2011 at 1:46 AM, Mihai Draghicioiu
<mihai.draghicioiu at gmail.com> wrote:
> Hi guys. It took me a few days to get it right, but i finally got it
> to work. I have a PCI-Express (Gigabyte?) nVidia 8400GS with a vga
> output and a DVI output. The way to get it and the on-board intel to
> work together was to set the on-board intel as primary graphics board
> from the BIOS Setup. I had also tried using a PCI nVidia board but I
> got some PCI/IRQ conflicts. I'm not sure what it was but i was unable
> to get that one to work. The next issue I had was getting the monitor
> connected to the DVI port to work. I tried a number of things, even
> switching it with the other monitor connected to the nVidia board, but
> no matter what I did, the DVI port wouldn't make the monitor turn on.
> It did detect that there is a monitor, and probably even its
> resolution and such, but the monitor wouldn't turn on. There was a DVI
> to VGA converter on that port, so I tried changing that, but it didn't
> fix it. So I fiddled with xorg.conf and just when I was about to give
> up, I placed these two lines in the Device section:
>
>        Option "ConnectedMonitor" "CRT-0, CRT-1"
>        Option "UseDisplayDevice" "CRT-0, CRT-1"
>
> And lo! The second monitor had started working.
>
> My next issue was with maximizing windows. Since I used TwinView on
> the two screens connected to the nVidia board, windows would maximize
> on both monitors, and since one of the monitors was smaller, there was
> a dead area, invisible to me, only visible in screenshots. So I
> decided to set it up as two separate screens. After some more
> miscellaneous issues (I need to mention that each of these steps took
> a few hours of fudging around), such as the cursor not showing up and
> others, I got the nVidia device to act as if there were two screens
> (This is explained in the nVidia README).
>
> My final issue was alignment. The screens are as such: two small LCD's
> with 1024x768 native resolution, and another LCD with 1280x1024 native
> resolution. The small monitors are placed to the left and right of the
> large monitor. The small monitors do not align at the top or bottom,
> rather their top edge is about two inches below the large monitor's
> top edge, and the lower edge is almost an inch above the large
> monitor's bottom edge. The grunt solution would have been placing the
> small monitors on stands, but I wanted to make the config work for me
> before I tried that.
>
> So now I had three X screens that I could configure any way I wanted
> in terms of position relative to each other. In order to have the
> correct position, the leftmost monitor needed to be offset from the
> top 192 pixels (origin at 0, 192). The large center monitor needed to
> be placed at 1024, 0, and the rightmost monitor needed to be at
> 1024+1280=2304, 192. I tried using "LeftOf", "RightOf" and "Relative"
> positioning, and the best I got this way was that the rightmost screen
> was aligned properly relative to the middle large monitor, but the
> leftmost monitor was still at the top edge:
>
> # Screen1 is leftmost screen
> # Screen0 is middle large screen
> # Screen2 is rightmost screen
> Section "ServerLayout"
>        Identifier     "X.org Configured"
>        Screen      0  "Screen0" 0 0
>        Screen      1  "Screen1" LeftOf "Screen0"
>        Screen      2  "Screen2" Relative "Screen0" 2304 192
>        InputDevice    "Mouse0" "CorePointer"
>        InputDevice    "Keyboard0" "CoreKeyboard"
> EndSection
>
> I asked on the xorg irc channel and someone suggested:
>
> <Triskelios> vampi-the-frog: what if you make all of the positions absolute?
>
> So I tried that and sure nuff it worked great! I even noticed that
> glxgears can be held between the two nVidia monitors and still run
> well. If it's held between the nVidia and intel screen, the intel half
> is black. That's alright, I don't use 3D apps too much. Also I
> adjusted from 192 to 196 to get more precision in the alignment
> (though still not perfect).
>
> So here's my config:
>
> Pastebin: http://pastebin.com/Zd87UK9b
> Pastemail:
>
> Section "ServerLayout"
>        Identifier     "X.org Configured"
>        Screen      0  "Screen0" 1024 0
>        Screen      1  "Screen1" 0 196
>        Screen      2  "Screen2" 2304 196
>        InputDevice    "Mouse0" "CorePointer"
>        InputDevice    "Keyboard0" "CoreKeyboard"
> EndSection
>
> Section "ServerFlags"
>        Option "Xinerama" "True"
> EndSection
>
> Section "Files"
>        ModulePath   "/usr/lib/xorg/modules"
>        FontPath     "/usr/share/fonts/X11/misc"
>        FontPath     "/usr/share/fonts/X11/cyrillic"
>        FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
>        FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
>        FontPath     "/usr/share/fonts/X11/Type1"
>        FontPath     "/usr/share/fonts/X11/100dpi"
>        FontPath     "/usr/share/fonts/X11/75dpi"
>        FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
>        FontPath     "built-ins"
> EndSection
>
> Section "Module"
>        Load  "glx"
>        Load  "extmod"
>        Load  "record"
>        Load  "dri2"
>        Load  "dbe"
>        Load  "dri"
> 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 "Monitor"
>        Identifier   "Monitor0"
>        VendorName   "Monitor Vendor"
>        ModelName    "Monitor Model"
> EndSection
>
> Section "Monitor"
>        Identifier   "Monitor1"
>        VendorName   "Monitor Vendor"
>        ModelName    "Monitor Model"
> EndSection
>
> Section "Monitor"
>        Identifier   "Monitor2"
>        VendorName   "Monitor Vendor"
>        ModelName    "Monitor Model"
> EndSection
>
> Section "Device"
>        Identifier  "Card0"
>        Driver      "nvidia"
>        VendorName  "nVidia Corporation"
>        BoardName   "G86 [GeForce 8400 GS]"
>        BusID       "PCI:1:0:0"
>        Screen      0
>        Option "ConnectedMonitor" "CRT-0, CRT-1"
>        Option "UseDisplayDevice" "CRT-0"
> EndSection
>
> Section "Device"
>        Identifier  "Card1"
>        Driver      "nvidia"
>        VendorName  "nVidia Corporation"
>        BoardName   "G86 [GeForce 8400 GS]"
>        BusID       "PCI:1:0:0"
>        Screen      1
>        Option "ConnectedMonitor" "CRT-0, CRT-1"
>        Option "UseDisplayDevice" "CRT-1"
> EndSection
>
> Section "Device"
>        ### Available Driver options are:-
>        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
>        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
>        ### [arg]: arg optional
>        #Option     "AccelMethod"               # [<str>]
>        #Option     "DRI"                       # [<bool>]
>        #Option     "ColorKey"                  # <i>
>        #Option     "VideoKey"                  # <i>
>        #Option     "FallbackDebug"             # [<bool>]
>        #Option     "Tiling"                    # [<bool>]
>        #Option     "Shadow"                    # [<bool>]
>        #Option     "SwapbuffersWait"           # [<bool>]
>        #Option     "XvMC"                      # [<bool>]
>        #Option     "XvPreferOverlay"           # [<bool>]
>        #Option     "DebugFlushBatches"         # [<bool>]
>        #Option     "DebugFlushCaches"          # [<bool>]
>        #Option     "DebugWait"                 # [<bool>]
>        Identifier  "Card2"
>        Driver      "intel"
>        VendorName  "Intel Corporation"
>        BoardName   "4 Series Chipset Integrated Graphics Controller"
>        BusID       "PCI:0:2:0"
> EndSection
>
> Section "Screen"
>        Identifier "Screen0"
>        Device     "Card0"
>        Monitor    "Monitor0"
> EndSection
>
> Section "Screen"
>        Identifier "Screen1"
>        Device     "Card1"
>        Monitor    "Monitor1"
> EndSection
>
> Section "Screen"
>        Identifier "Screen2"
>        Device     "Card2"
>        Monitor    "Monitor2"
> EndSection
>
> Hope this helps someone. Cheers!
> _______________________________________________
> xorg at lists.freedesktop.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: http://lists.freedesktop.org/mailman/listinfo/xorg
> Your subscription address: pekane52 at gmail.com
>



More information about the xorg mailing list