Triple Head Setup on one card. nvidiaXineramaInfoOverride is not being used.

Hi All,

First let me say that I actually run a 6 head system from a single NVidia 9600GT. I do this by running it through two Matrox TripleHead2Go and using Twinview to join them together. Worked pretty well.

For the purpose of this post I’ve disabled one of the TripleHeads so effectively I’m running a 3 head system through a single Matrox TripleHead2Go that presents to the system a single screen of dimensions 5760x1080.

When X starts it sees a single screen of 5760x1080. This means if I maximize a window it maximizes across all the screens. Also the task bar stretches across all three screens.

With the 295.53 version of the driver, I fixed this by having the following line in my Xorg.conf file: -

Option         "TwinViewXineramaInfoOverride" "1920x1080+1920+0, 1920x1080+0+0, 1920x1080+3840+0"

This split the screen into three logical screens using Xinerama hints. Note that Xinerama is disabled and thus I have full compositing still available. I’ve also in the past used the Fake Xinerama library to achieve much the same.

Since I update to 304, and now 310 of the drivers, that support RandR, this is not working anymore. I’ve modified the line to read: -

Option         "nvidiaXineramaInfoOverride" "1920x1080+1920+0, 1920x1080+0+0, 1920x1080+3840+0"

However the Xinerama hints are never used. Apparently as RandR is available the XServer ignores the Xinerama hints.

Output from xdpyinfo: -

$ xdpyinfo -ext XINERAMA | grep head
    head #0: 5760x1080 @ 0,0

Output from xrandr: -

$ xrandr  | grep -i screen
  Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 8192 x 8192

Any thoughts? I’d really like to have the screen split again like before.

Cheers,
Brendan

EDIT: Theres something a little odd about this message board. If I edit this post, then save, then all the ‘code’ blocks show the same item. If I hit refresh it fixes so it seems like a bug in the ‘Save edited post and now display it’ portion of the board code.

EDIT2: Wow, and single quotes are shown quoted. If this board relies on escaping quotes for writing to the DB then you’re not using prepared queries properly.

Hi Brendan,

You are actually doing something I have been trying for hours to do, which is 5760 x 1080

For your question, since 3xx driver, I had to change my xorg to this to have my logical screens (3840x1024):

Option         "NoTwinViewXineramaInfo" "true"
    Option         "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+0, 1280x1024+2560+0"

Now I’m about to try 2xx drivers, nouveau driver and maybe more attemps to see if I can get 5760 x 1080 but if you did manage that part in 3xx drivers, I would seriously be crazy happy to not have bought 3 widescreens I can’t use in linux (5760 works in windows?). And I’m using the digital th2go, but with dvi2vga adapters. (telling you in case you know what my problem would be!)

Cheers,
Anthony

I answered this (sort of) in a PM but I’ll post my config here for anyone else who hits this page later.

Here’s a picture of my setup (shame the top screens are not the same size, but this is off ONE card running Twinview)
http://imgur.com/a/m5xTL

Ignoring the top screens, my config for 5760x1080 is: -

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "Files"
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"
    Option "XkbOptions" "numpad:microsoft"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     50.0 - 60.0
    Modeline "5760x1080" 326.596 5760 5776 5792 5880 1080 1083 1097 1111 +hsync +vsync

    Option         "DPMS"
    Option  "ExactModeTimingsDVI"       "True"

EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9600 GT"
EndSection

Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        Option         "TwinView" "True"
        Option         "TwinviewXineramaInfo" "True"
        Option         "TwinViewXineramaInfoOverride" "1920x1080+1920+0, 1920x1080+0+0, 1920x1080+3840+0"

        Option         "nvidiaXineramaInfo" "True"
        Option         "nvidiaXineramaInfoOverride" "1920x1080+1920+0, 1920x1080+0+0, 1920x1080+3840+0"

        Option         "metamodes" "5760x1080 +0+0"
        Option "UseEDID" "False"
#       Option "NoBandWidthTest" "True"
        Option "UseEDIDFreqs" "FALSE"
        Option "UseEdidDpi" "FALSE"
        
        Option "ModeDebug" "True"
        Option "ModeValidation" "AllowNon60HzDFPModes, NoMaxPClkCheck, NoEdidMaxPClkCheck, AllowInterlacedModes, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoWidthAlignmentCheck, NoDFPNativeResolutionCheck, NoVirtualSizeCheck, NoEdidModes, NoExtendedGpuCapabilitiesCheck, ObeyEdidContradictions, NoTotalSizeCheck, NoDualLinkDVICheck, NoDisplayPortBandwidthCheck"

#"NoDFPNativeResolutionCheck, NoVirtualSizeCheck, NoMaxPClkCheck, NoHorizSyncCheck, NoExtendedGpuCapabilitiesCheck, NoVertRefreshCheck, NoWidthAlignmentCheck"

        DefaultDepth    24
        SubSection "Display"
                Depth       24
        EndSubSection
EndSection

Note that bksunday removed the option “AllowNon60HzDFPModes” to get it to work. I have it in. YMMV.

To get all 6 screens to work at a wacky resolution of 5760x2104 I have the following: -

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
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"
    Option "XkbOptions" "numpad:microsoft"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     50.0 - 60.0
    Modeline "5760x1080" 326.596 5760 5776 5792 5880 1080 1083 1097 1111 +hsync +vsync
    Modeline "3840x1024" 254.310 3840 3856 3872 3976 1024 1025 1032 1066 +hsync +vsync
#318,250 3840 3856 3872 3976 1024 1025 1032 1066 +hsync +vsync

    Option         "DPMS"
    Option  "ExactModeTimingsDVI"       "True"

EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9600 GT"
EndSection

Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        Option         "TwinView" "1"

        Option         "TwinviewXineramaInfo" "True"
        Option         "TwinViewXineramaInfoOverride" "1920x1080+1920+1024, 1920x1080+0+1024, 1920x1080+3840+1024, 1280x1024+960+0, 1280x1024+2240+0, 1280x1024+3520+0"
        Option         "metamodes" "DFP-0: 5760x1080+0+1024, DFP-1:3840x1024+960+0"

        Option "UseEDID" "False"
#       Option "NoBandWidthTest" "True"
        Option "UseEDIDFreqs" "FALSE"
        Option "UseEdidDpi" "FALSE"
        
        Option "ModeDebug" "True"
        Option "ModeValidation" "AllowNon60HzDFPModes, NoMaxPClkCheck, NoEdidMaxPClkCheck, AllowInterlacedModes, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoWidthAlignmentCheck, NoDFPNativeResolutionCheck, NoVirtualSizeCheck, NoEdidModes, NoExtendedGpuCapabilitiesCheck, ObeyEdidContradictions, NoTotalSizeCheck, NoDualLinkDVICheck, NoDisplayPortBandwidthCheck"
#"NoDFPNativeResolutionCheck, NoVirtualSizeCheck, NoMaxPClkCheck, NoHorizSyncCheck, NoExtendedGpuCapabilitiesCheck, NoVertRefreshCheck, NoWidthAlignmentCheck"

        DefaultDepth    24
        SubSection "Display"
                Depth       24
        EndSubSection
EndSection

One more thing, because I’ve not been able to figure out how to search for this and if you’re looking at this post chances are you’ve got a TH2GO and trying to run at 5760x1080.

I find sometimes (perhaps once or twice a week) my right screen will start fuzzed out completely (blurry, almost like half the scanlines are out of sync with the other half). Just Ctrl-Alt-F1 and Ctrl-Alt-F7 (drop to VTY and back to the graphics mode) will fix it for me, and I notice it under Windows as well.

Wow, glad I am not losing my mind. I just posted the same issue today.

Any/all suggestions welcome. I am pulling my hair out over this one :)

http://www.nvnews.net/vbulletin/showthread.php?p=2584431#post2584431

Seems to be an issue.

I opened a case with nvidia, this was there response:

"
I discussed this with our developers. Assuming the xinerama.c is the one from the X server and knowing that your changes to xinerama.c fixed the problem, our developers suggest that you take this issue up with the X maintainers. If that discussion yields anything that points to a bug in the NVIDIA driver, then please report it to me so we can investigate and fix the problem."

An update for others users that would want to try 6 screens as Bundabrg shows, with one or two of them having a 5760x1080 resolution:

I couldn’t get it to work using above xorg.conf, perhaps because my 2nd th2go was analog? Either using edid I could have 3840 but no 5760, or 5760 but no 3840. I think I found a clean and simple way to use both edid supplied info and the new 5760 modeline which isn’t standard and valid normally.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
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"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0

    Modeline       "5760x1080"       326.596 5760 5776 5792 5880  1080 1083 1097 1111 +hsync +vsync

    Option         "ExactModeTimingsDVI" "True"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    Option         "TwinView" "1"

    Option         "NoTwinViewXineramaInfo" "true"
    Option         "TwinViewXineramaInfoOverride" "1920x1080+0+1024, 1920x1080+1920+1024, 1920x1080+3840+1024, 1280x1024+960+0, 1280x1024+2240+0, 1280x1024+3520+0"

    Option         "ModeValidation" "NoEdidMaxPClkCheck, NoVertRefreshCheck"

    # do change CRT and FTP accordingly!
    Option         "metamodes" "CRT: 3840x1024+960+0, DFP: 5760x1080+0+1024"

    DefaultDepth    24

    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection