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