Archive for August, 2007

quadhead with onboard and extra video card

Saturday, August 11th, 2007

it’s been some time ago since i did the setup, so i’ll just write down what i remember in order to be able to reconstruct the whole thing.

here’s what i’ve got..
i have a asus mainboard with an onboard NVIDIA GeForce 6150LE and an extra pci-express slot with a nvidia GeForce 7300 GT in it. both cards, the onboard and the extra card have a dvi and an analog connector each. but the dvi port on the onboard card is just digital, so it’s only a dvi-d port. this means, you can’t use it with an analog adaptor and an analog screen. the 7300 though has analog signals on both ports and digital signals on the dvi port.

so in order to have the four of the same screens on your desktop, you need to buy screens that have both, dvi and analog ports. luckily almost every dvi enabled screen does that.. unluckily, my old screens did only have analog ports, so i had to get new screens.
i bought four Samsung SyncMaster 205bw (20″ widescreen) and a Ergotron quadhead desktop stand. the desktop stand is needed to have a 2×2 matrix, because four 20″ widescreens in a row are just too wide to work with. it happenes very easily, that you open a window and first have to search it before you can start working with it ;) , so i decided, 2×2 would be more overviewable and you also have to travel less with the mouse, which makes the usage faster.

in order to get the two graphic cards to run, i had to first only use the onboard card. i installed ubuntu and ran the configuration wizard for x windows. then i saved the xorg.conf it hat generated containing my onboard card and shut my computer down. i then installed the extra video card and while booting my computer, i turned off the onboard card in the bios.
ubuntu bootet but couldn’t find the graphics card and left me in a terminal. i ran “sudo dpkg-reconfigure xserver-xorg” or maybe i used the nvidia tools for that, i don’t remember anymore. I used the “nvidia” driver for both cards. then i saved this config and rebootet my comuter again to turn on the onboard card in my bios.
after that i simply had to merge the two xorg.conf files and i had two graphics cards workgin together. so the basic idea is, install only one card at once and then merge the settings at the end.
the rest is as with all multi-head installations: copy the Sections for your Video card, Monitor and Screen and then compose the correct “ServerLayout” section which defines which monitor is where.
you might have already read about LeftOf and RightOf. if you make a matrix, you probably also need “Below” and “Above”.

here’s a picture of the final result. you see a movie playing over all four screens.
2x2Matrix


# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder26)  Thu Nov  9 17:55:59 PST 2006

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildmeister@builder26)  Thu Nov  9 17:56:28 PST 2006

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" Below "Screen0"
    Screen      2  "Screen2" LeftOf "Screen0"
    Screen      3  "Screen3" Below "Screen2"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    RgbPath         "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
    Load           "dri"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "1"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "Samsung"
    HorizSync       30.0 - 90.0
    VertRefresh     50.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: xconfig, VertRefresh source: xconfig
    Identifier     "Monitor3"
    VendorName     "Unknown"
    ModelName      "Samsung"
    HorizSync       30.0 - 90.0
    VertRefresh     50.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung"
    HorizSync       30.0 - 90.0
    VertRefresh     50.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "BenQ FP731?"
    HorizSync       30.0 - 90.0
    VertRefresh     50.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 7300 GT"
    BusID          "PCI:3:0:0"
    Option         "RandRRotation" "true"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 7300 GT"
    BusID          "PCI:3:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Videocard2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 210S / NVIDIA GeForce 6150LE"
    BusID          "PCI:0:5:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard3"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 210S / NVIDIA GeForce 6150LE"
    BusID          "PCI:0:5:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Videocard1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "metamodes" "CRT-0: 1680x1050 +0+0"
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1280x1024" "1024x768" "800x600" 
"640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "metamodes" "CRT-1: 1680x1050 +0+0"
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1280x1024" "1024x768" "800x600" 
"640x480"
    EndSubSection
EndSection

Section "Screen"

    #Option         "metamodes" "DFP: 1680x1050_60 +0+0; DFP: 1280x1024 +0+0"
    Identifier     "Screen2"
    Device         "Videocard2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "metamodes" "CRT: 1680x1050_60 +0+0"
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1280x1024" "1024x768" "800x600" 
"640x480"
    EndSubSection
EndSection

Section "Screen"

    #Option         "metamodes" "CRT: 1280x1024_60 +0+0"
    Identifier     "Screen3"
    Device         "Videocard3"
    Monitor        "Monitor3"
    DefaultDepth    24
    Option         "metamodes" "CRT: 1680x1050_60 +0+0"
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" "1280x1024" "1024x768" "800x600"
"640x480"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

Section "DRI"
Mode 0666
EndSection

xdmx on ubuntu

Wednesday, August 8th, 2007