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

Mihai Draghicioiu mihai.draghicioiu at gmail.com
Wed Jan 26 06:02:41 PST 2011


It's the debian package:

[~]$ dpkg -l | grep nvidia
ii  libgl1-nvidia-alternatives                    195.36.31-6
        simplifies replacing MESA libGL with GPU vendor libraries
ii  libgl1-nvidia-glx                             195.36.31-6
        NVIDIA binary OpenGL libraries
ii  libglx-nvidia-alternatives                    195.36.31-6
        simplifies replacing Xorg module libglx.so with GPU vendor
library
ii  nvidia-glx                                    195.36.31-6
        NVIDIA binary Xorg driver
ii  nvidia-kernel-2.6.32-5-686
195.36.31-6+2.6.32-29        NVIDIA binary kernel module for Linux
2.6.32-5-686
ii  nvidia-kernel-common                          20100522+1
        NVIDIA binary kernel module support files
ii  nvidia-kernel-source                          195.36.31-6
        NVIDIA binary kernel module source
ii  nvidia-settings                               195.36.24-1
        Tool for configuring the NVIDIA graphics driver
ii  nvidia-vdpau-driver                           195.36.31-6
        NVIDIA vdpau driver
[~]$



On Wed, Jan 26, 2011 at 3:57 PM, Pat Kane <pekane52 at gmail.com> wrote:
> 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