PDA

View Full Version : [ubuntu] Two nVidia Cards / Three Monitors / TwinView Xinerama



Bryan76
March 9th, 2011, 06:01 PM
Fresh install of 10.10.

Okay, I have two nVidia cards that both support two monitors.

If I only activate one card and two monitors. I can activate TwinView across those monitors (using "NVidia X Server Settings") and everything works as expected. I have hardware acceleration on both monitors. Panels are only across one monitor. Maximize window maximizes to one monitor. New windows open on one monitor, not straddling both.

Problem comes in when I try to activate the second card and third screen.

If I don't enable Xinerama, I can't drag windows to and from this monitor.

As soon as I activate the second card (with or without Xinerama) I lose the proper maximize window functionality in the first two monitors. A maximize now goes across both monitors.

I could turn off twinview and only use Xinerama, but then I will lose hardware acceleration on one of the monitors (second monitor of the primary card).

I'd like:

All Monitors enabled with hardware acceleration
Ability to drag windows between all monitors
Maximize window to maximize to current monitor only
panels to stretch across one monitor only


A perfect world would also include the bottom "task panel" to only list windows that are on "it's screen."

Can this be done? I've spent about four hours on it so far.

Grenage
March 9th, 2011, 06:14 PM
Nvidia refer to Twinview as:


TwinView is a mode of operation where two display devices...

So I don't know if it supports more than two devices; I'm not sure how one would configure xorg.conf's screen section to refer to two devices. An option might be to configure one card to host two monitors using twinview, and the second card to have its own instance. You wouldn't be able to drag windows from it to the other two, so it's hardly what you're after, but it's all I can think of.

EDIT: Have you looked into xrandr? That might provide the functionality you're after; I believe that Xinerama has been deprecated in its favour.

Bryan76
March 9th, 2011, 08:04 PM
Nvidia refer to Twinview as:


EDIT: Have you looked into xrandr? That might provide the functionality you're after; I believe that Xinerama has been deprecated in its favour.

No, I haven't. Does xrandr support nvidia with hardware acceleration on all monitors? :: quick, to the google, batman :: (bbiab)

belligerent_bill
March 23rd, 2011, 04:09 PM
Bryan, I've been struggling with this same problem for a long time. Have you made any progress?

Bryan76
March 23rd, 2011, 04:19 PM
No. I use TwinView between two monitors on the same card, and use Xinerama to extend my desktop to the one monitor on the second card.

neiljaxx
May 10th, 2011, 08:51 PM
Bryan76, would you mind posting your xorg.conf file?

I'm trying to set up something very similar.

Thanks in advance for your help.

Bryan76
May 10th, 2011, 08:54 PM
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 260.19.06 (buildd@yellow) Mon Oct 4 15:59:51 UTC 2010


Section "ServerLayout"

# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
# Removed Option "Xinerama" "0"
# Removed Option "Xinerama" "1"
# Removed Option "Xinerama" "0"
Identifier "Layout0"
Screen 0 "Screen0" 1680 0
Screen 1 "Screen1" LeftOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
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"

# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL P2210"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection

Section "Monitor"

# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL E228WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection

Section "Monitor"

# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor2"
VendorName "Unknown"
ModelName "DELL P2210"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 580"
BusID "PCI:3:0:0"
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 580"
BusID "PCI:4:0:0"
EndSection

Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 580"
BusID "PCI:4:0:0"
Screen 1
EndSection

Section "Screen"

# Removed Option "TwinView" "0"
# Removed Option "metamodes" "nvidia-auto-select +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "metamodes" "DFP-1: nvidia-auto-select +0+0, DFP-2: nvidia-auto-select +1680+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"

# Removed Option "TwinView" "0"
# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
# Removed Option "TwinView" "1"
# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0, DFP-2: nvidia-auto-select +1680+0"
# Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "TwinView" "0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP-2: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection


Note, I have not been able to get this to work with Natty 11.04. Not using Unity or Gnome. :( As soon as I enable Xinerama to try to spread my desktop across more than two monitors things start to break.

schievelbein
May 13th, 2011, 05:33 PM
I do not know if this will help, but here is my xorg.conf file.
I have mine set up with a #0" in the center and 20" side monitors rotated.
I enjoy this setups since I can open up windows on any of the monitors.
I do NOT like the config because I cannot move windows from one screen to another, but at least I can use all of my real estate with gnome, but not if I use Unity.

I would also love any suggestions of what to try in order to get it to all work as one giant screen.



# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 260.19.06 (buildd@yellow) Mon Oct 4 15:59:51 UTC 2010

Section "ServerLayout"

# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
# InputDevice "Keyboard0" "CoreKeyboard"
# InputDevice "Mouse0" "CorePointer"

Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" LeftOf "Screen0"
Screen 2 "Screen2" RightOf "Screen0"
Option "Xinerama" "0"
EndSection


Section "Module"
Load "glx"
EndSection

Section "Files"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL U3011"
HorizSync 29.0 - 113.0
VertRefresh 49.0 - 86.0
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Acer G205HV"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
EndSection

Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "Acer G205HV"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 580"
Option "NoLogo" "True"
BusID "PCI:3:0:0"
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 460"
BusID "PCI:4:0:0"
Screen 0
EndSection

Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 275"
BusID "PCI:4:0:0"
Screen 1
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "TwinView" "0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Rotate" "CCW"
Option "TwinView" "0"
Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "Rotate" "CW"
Option "TwinView" "0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

texasmickey
June 21st, 2011, 05:40 AM
Yes, I dont understand why NVIDIA sucks so much with their multi-monitor support. Have been researching for some time and no solution. Disappointed. :confused:

trav13
June 21st, 2011, 05:56 AM
Looks like our posts are almost identical.. You posted yours just as I was writing mine: http://ubuntuforums.org/showthread.php?t=1787311

I dont think this has anything todo with what kind of graphics card you have, its a generic triple monitor issue or xinerama issue.

Only hint I found so far was that the screen 0 had to be the primary device, I tried that and had no luck.

This worked flawlessly with ubuntu 10. Used the nvidia configuration utility there as well, and it generated everything just fine.

I dont have my old xorg.conf, but my guess is the nvidia utility is generating the same output, but xinerma and X have changed.

astrophoenix
August 9th, 2011, 06:06 PM
hey guys, I've been using three monitors with two nvidia cards for years with gnome, kde, ratpoison, awesome, etc. the only trouble I have is now that I'm trying out xfce, it doesn't see the third monitor because xfce relies on xrandr which is not what the proprietary nvidia driver uses.

here's my xorg.conf, I hope this helps.



# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@palmer) Fri Apr 9 10:35:18 UTC 2010
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section "InputDevice"
# Identifier "Keyboard0"
# Driver "keyboard"
#EndSection
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section "InputDevice"
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
# # generated from default
#EndSection

Section "Files"
FontPath "/usr/share/fonts/X11/misc"
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"
#RgbPath "/usr/X11R6/lib/X11/rgb"
# path to defoma fonts
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "HP LP2065"
DisplaySize 408 306
HorizSync 30.0 - 92.0
VertRefresh 48.0 - 85.0
Option "CalcAlgorithm" "XServerPool"
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "HP LP2065"
DisplaySize 410 310
HorizSync 30.0 - 92.0
VertRefresh 48.0 - 85.0
Option "CalcAlgorithm" "XServerPool"
EndSection

Section "Monitor"
Identifier "Monitor2"
VendorName "HWP"
ModelName "HP LP2065"
DisplaySize 410 310
HorizSync 30.0 - 92.0
VertRefresh 43.0 - 85.0
Option "CalcAlgorithm" "XServerPool"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Option "AddARGBGLXVisuals" "True"
Option "NoLogo" "True"
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1600+0"
DefaultDepth 24
# Removed Option "TwinView" "0"
# Removed Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "NoLogo" "True"
Option "TwinView" "0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
Option "AddARGBGLXVisuals" "True"
Option "NoLogo" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection

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

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

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
Option "Xinerama" "1"
Option "AIGLX" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "XGL" "true"
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
# InputDevice "Keyboard0" "CoreKeyboard"
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
# InputDevice "Mouse0" "CorePointer"
#Screen 0 "Screen0" 1680 0
#Screen 2 "Screen2" RightOf "Screen1"
# Removed Option "Xinerama" "1"
#Screen 1 "Screen1" LeftOf "Screen0"
EndSection

Section "Device"
Identifier "Device0"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GT"
BusID "PCI:1:0:0"
Driver "nvidia"
Option "NoLogo" "True"
EndSection

Section "Device"
Identifier "Device1"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GT"
BusID "PCI:16:0:0"
Driver "nvidia"
Option "NoLogo" "True"
EndSection

Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7300 GT"
Option "NoLogo" "True"
BusID "PCI:16:0:0"
Screen 1
EndSection