nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Triple-Head Setup without Xinerama? (http://www.nvnews.net/vbulletin/showthread.php?t=106517)

JaXXoN 01-19-08 02:05 PM

Triple-Head Setup without Xinerama?
 
Hi!

I'm running a triple-head setup (3x 1600x1200) off two nvidia
cards (2x 7800GTX, later 2x 8800GT) for more than two years, now.
In order to form a single desktop screen with two cards, it
is necessary to use Xinerama. However, my experience is that
Xinerama is always a good source of problems, i.e. reduced
stability, Beryl not working, artefacts with X-Plane at certain
weather conditions and mouse pointer missing in UT2K4.

So I'm looking into another solution in order to get rid
of Xinerama altogether!

An interessting product for this would be the "Matrox TripleHead2Go
Digital Edition" that splits one output into three outputs, but
this device is limited to 3840x1024 (where i need 4800x1200).

The alternative would be the "DualHead2Go" counterpart, which can
do up to 3200x1200: through this box, two displays could be connected
to first output of a video card and the third displays could be connected
to the second output. The two outputs could then operate in twinview
mode in order to operate as a single big 4800x1200 screen.

Code:


  Videocard          Splitter      Displays
  ________            ____
          |          |    |
          |          |    +------> LCD #1
    DVI-D +---------->+    |
          |          |    +------> LCD #2
    Out  |          |____|
          |
    DVI  +-----------------------> LCD #3
          |
  ________|


So this sounds like a feasible solution, but there are a number
of obstacles:

First, i couldn't figure out by a 100% if the Matrox box works
with Linux. Some googleing surfaced that at least the "native
resolutions" should works where i assume 3200x1200 is one of them?
OK, this is not exactly an nvidia thing, but is strongly related to
the next question:

Can the first DVI output of a 8800GT generate a 3200x1200 resolution?
Officialy, the maximum resolution (width-wise) is 2560x1600.
3200x1200 requires less bandwidth - so it might work? Are the 2560
pixel a hardware limit?

Third, since the above described solution would only require a single
videocard, my second 8800GT would be rendered useless, unless it
would be possible to run twinview in SLI mode (which is currently not
possible, AFAIK). Are there any plans to provide twinview-SLI support?
(However, this point is not critical.)

Any feedback is highly appreciated!

regards

Bernhard

JaXXoN 04-29-08 08:25 PM

Re: Triple-Head Setup without Xinerama?
 
1 Attachment(s)
Hi all,

just to let you know: the setup described above works with Matrox
TripleHead2Go! The TH2G box has both, a DVI input and DVI outputs
(in contrast to the DualHead2Go box, which has a VGA input, only)
and can be programmed to operate at 3200x1200 for two LCDs (DualHead
mode).

However, you need to add the mode "1600x1200@60" to the "mode list"
stored inside the TH2G using the supplied setup tool on a windows computer
(a windows installation on VMware will also do it). This needs to be done
only once.

Games are now even faster than with two video cards (because of no
Xinerama overhead, i guess) and moving a window to the third LCD
doesn't cause annoying redraw events any more. Also, a small but
annoying miss-drawing in X-Plane has gone.

Compiz should also work now at 4800x1200, but i didn't yet tried it out.

As reference, here's my xorg.conf:

Code:


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

Section "ServerFlags"
    Option        "RandR"        "True"
EndSection

Section "Extensions"
    Option        "RENDER"      "True"
    Option        "DAMAGE"      "True"
    Option        "Composite"    "True"
EndSection

Section "Module"
    Load          "dbe"
    Load          "glx"
    SubSection    "extmod"
        Option    "omit xfree86-dga"
    EndSubSection
EndSection

Section "InputDevice"
    Identifier    "Keyboard0"
    Driver        "kbd"
    Option        "XkbModel"    "pc105"
    Option        "XkbLayout"    "de"
    Option        "XkbVariant"  "nodeadkeys"
EndSection

Section "InputDevice"
    Identifier    "Mouse0"
    Driver        "mouse"
    Option        "Protocol"        "IMPS/2"
    Option        "Device"          "/dev/input/mice"
    Option        "ZAxisMapping"    "4 5"
    Option        "Emulate3Buttons" "no"
EndSection

Section "Monitor"
    Identifier    "Monitor0"
    VendorName    "BenQ"
    ModelName      "FP2091"
EndSection

Section "Device"
    Identifier    "Videocard0"
    Driver        "nvidia"
    VendorName    "Gainward"
    BoardName      "Gainward GF8800GT Golden Sample"
    BusID          "3:0:0"
EndSection

Section "Screen"
    Identifier    "Screen0"
    Device        "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option        "Coolbits"                "1"
    Option        "NoLogo"                  "True"
    Option        "CursorShadow"            "True"
    Option        "RenderAccel"              "True"
    Option        "AddARGBGLXVisuals"        "True"
    Option        "ConnectToAcpid"          "False"
    Option        "TwinView"                "True"
    Option        "TwinviewXineramaInfo"    "False"
    Option        "DynamicTwinView"          "False"
    Option        "MetaModes"                "1600x1200,3200x1200"
    Option        "SecondMonitorHorizSync"  "31-80"
    Option        "SecondMonitorVertRefresh" "60-60"
    SubSection    "Display"
        Viewport    0 0
        Depth      24
        Modes      "1600x1200"
    EndSubSection
EndSection

regards

Bernhard


P.S.: 1x Gainward 8800GT 1024MB for sale :-)

JaXXoN 04-30-08 05:18 AM

Re: Triple-Head Setup without Xinerama?
 
Just tried out Compiz with this setup - works without any problems.

regards

Bernhard

edd_h4 05-01-08 08:30 AM

Re: Triple-Head Setup without Xinerama?
 
Hey, I was just wondering if your research had found out whether the dual-headed graphics card + DualHead2Go you mentioned in your post would work at all..? I was hoping to run the two outputs from Nvidia in horizontal span mode, one going to the DualHead2Go and the other to the third monitor (basically as your diagram shows):

Quote:


Code:


  Videocard          Splitter      Displays
  ________            ____
          |          |    |
          |          |    +------> LCD #1
    DVI-D +---------->+    |
          |          |    +------> LCD #2
    Out  |          |____|
          |
    DVI  +-----------------------> LCD #3
          |
  ________|


I'm really just looking for a low-cost triple head solution that can do OpenGL / DirectX (ideally for Windows - Steam's a tricky bastard in Linux! Although if it would only work in Linux I'm sure I could just use one / two monitors for Steam in Windows..) and this looks the best way to do it. If you've got any other suggestions for cheap-ish ways to do it, they'd be much appreciated! Cheers, Ed

JaXXoN 05-01-08 02:23 PM

Re: Triple-Head Setup without Xinerama?
 
Quote:

Originally Posted by edd_h4
I was just wondering if your research had found out whether the dual-headed graphics card + DualHead2Go you mentioned in your post would work at all..?

For two displays I think DH2G pretty much works like TH2G, except that the
DH2G only has a VGA input. If all your equipment is DVI, then DH2G may cause
some potential picture quality loss. This is why i opted for TH2G although
i only added two displays to the box.

If you have three LCDs with a resolution of 1280x1024 each, then with TH2G you
could also do SLI - SLI doesn't support twinview, so the above described
triple head variant wouldn't work. This is why i have a spare 8800GT laying
around, now.


Quote:

Originally Posted by edd_h4
I'm really just looking for a low-cost triple head solution that can do OpenGL / DirectX (ideally for Windows

At least for the X-Server under Linux, the TH2G simply looks like a monitor with high
resolution capabilities. The USB connection is only used as power supply and
to one-time reprogram the resolutions. So i think that technically the triple head setup
described above should also work for windows.

regards

Bernhard

JaXXoN 05-02-08 04:26 AM

Re: Triple-Head Setup without Xinerama?
 
BTW.: for the sake of completeness, the appropriate schematics for the
xorg.conf file (posted above) actually looks like this:

Code:

Videocard                        Displays
  ________
          |
    DVI-D +-----------------------> LCD #1
          |            ____
    Out  |          |    |
          |          |    +------> LCD #2
    DVI-D +---------->+    |
          |          |    +------> LCD #3
  ________|          |____|
                      TH2G

The advantage of having the splitter attached to the second output is that
in case the TH2G gets damaged, you still at least can capture BIOS
boot messages on the first display and work with that one LCD.

However, this requires a video card with the second output to be
a dual link DVI. I think all 8000 and up series cards do provide that.
I think 7000 and below only have DVI-D on the first output, so you
would need to use the schematics in the postings above and
swap the occurrences of "1600x1200" and "3200x1200" in the xorg.conf.

regards

Bernhard

edd_h4 05-08-08 03:27 PM

Re: Triple-Head Setup without Xinerama?
 
For anyone who's interested / searching for an answer in the future - it works! With a cheapo Nvidia (about 50 when I got it) and a cheapo DH2G (30 from eBay), I'm running three screens with OpenGL / Wine D3d HAL etc.

So I'm running:

1x Nvidia 7600GT
Output #1: DVI @ 1280x768
Output #2: Matrox DualHead2Go (Analogue)
Matrox Output #1: 15" Analogue TFT @ 1024x768
Matrox Output #2: 15" Analogue TFT @ 1024x768

Under Ubuntu 8.04 and using nvidia-settings, it works as either

a) Two separate X-screens
b) A xinerama-merged screen at 3328x768 for OpenGL etc.
c) An Nvidia Twinview screen at the same, also for OpenGL etc.

Works with Enemy Territory: Quake Wars, OpenArena, Steam (via Wine), Deus Ex (again via Wine), etc. etc.

Amazingly, it's playable in ETQW, even at this res. and with a fairly mediocre graphics card. Steam-games (CS:S / HL2 Ep2) are low FPS (~30, sometimes a bit below) but playable.

If anyone's looking for any help setting it up etc. PM / reply and I'll attach any xorg.conf etc.s that anyone needs.

relix 06-17-08 03:10 AM

Re: Triple-Head Setup without Xinerama?
 
Awesome find! I was looking for a way to create a triple monitor setup without losing Compiz (i.e. without using Xinerama). Thanks for these very detailed posts!

Just wanted to ask this:
I now have a dual monitor setup using Twinview. If I use a DH2G or TH2G, can you set X.org up so that the one twice-as-big screen for the DH2G is split in two, so that when you maximize a window, it actually maximizes to 1 monitor, instead of maximizing to the 2 monitors connected to the DH2G?

JaXXoN 06-17-08 03:58 AM

Re: Triple-Head Setup without Xinerama?
 
Quote:

Originally Posted by relix (Post 1684037)
If I use a DH2G or TH2G, can you set X.org up so that the one twice-as-big screen for the DH2G is split in two, so that when you maximize a window, it actually maximizes to 1 monitor, instead of maximizing to the 2 monitors connected to the DH2G?

Basically, yes: i.e. in my case i needed to add the following lines in the xorg.conf:

Code:

    Option        "TwinviewXineramaInfo"    "True"
    Option        "TwinViewXineramaInfoOverride" "1600x1200+0+0, 1600x1200+1600+0, 1600x1200+3200+0"

However, i have experienced that some window managers or applications ignore
(true/faked) xinerama. Gnome & KDE and related applications should work fine.

In other words: if the twinview setup worked fine for you concerning
maximizing windows, then, in this respect, TwinViewXineramaInfoOverride
should also do it with the twinview+DH2G/TH2G setup as proposed above
since it uses the same underlaying mechanism (the nvidia xinerama
extension).

regards

Bernhard

relix 06-17-08 07:59 AM

Re: Triple-Head Setup without Xinerama?
 
Ah, ok, thanks, that's great news.

But if this is using the nvidia xinerama extension, how come it's not possible to get the same results (Compiz-able triple head) using 2 videocards instead of a DH2G? Is it just because Xinerama is buggy? Or is "Xinerama" not the same as "The nVidia Xinerama extension"?

I'm sure there's a reason why not, since you wouldn't go through all this trouble just to arrive at where you started.

Tub 06-17-08 08:31 AM

Re: Triple-Head Setup without Xinerama?
 
Quote:

Originally Posted by relix (Post 1684169)
Or is "Xinerama" not the same as "The nVidia Xinerama extension"?

Exactly.

Xinerama does two things:
a) Inside the X server: combine several video cards into a single display. This is non-trivial and doesn't work well with compositing (yet?).
b) Inside the protocol: report the screen boundaries to clients (mostly to the window manager) so they can react accordingly, for example maximizing windows only over one screen.

The Xinerama extension from nVidia doesn't do a) since the whole framebuffer is on one video card already. It just does b), reporting the screen boundaries to clients.

JaXXoN 06-17-08 08:33 AM

Re: Triple-Head Setup without Xinerama?
 
Quote:

Originally Posted by relix (Post 1684169)
But if this is using the nvidia xinerama extension, how come it's not possible to get the same results (Compiz-able triple head) using 2 videocards instead of a DH2G? Is it just because Xinerama is buggy? Or is "Xinerama" not the same as "The nVidia Xinerama extension"?

Correct! From what i understand, the nvidia Xinerama extensions just
tells applications the desired screen attributes, but internally, the
X-Server only needs to handle a single card with a single frame buffer.
Similiar "fakes" do exist for libXinerama and the X-server but requires
patching.

When combining two cards with xinerama, then the X-Server needs to
split the graphical operations amongst these two cards. BTW.: When
"true" xinerama is enabled, then the nvidia xinerama extension is disabled
and the XineramaTwinViewOverride options doesn't work any more
(this is why you have to patch libXinerama or the X-Server in order to
get the correct screen report).

There are now two problems with Compiz: first, it makes use of Xrandr
(edit: which will be disabled when "true" xinerama is enabled) in
order to detect refresh frequencies for smoothing visual effects. I once
created a patch that makes beryl not using Xrandr, but then i run into the
second issue: there is a "well known" incompatibility problem between
xinerama and the composite extension - however, nobody could every
specify what exactly the problem is and how it would be possible to
overcome it :-(

For details, please check
http://www.nvnews.net/vbulletin/showthread.php?t=85604 (post #9 & #13)

regards

Bernhard


All times are GMT -5. The time now is 08:04 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.