You are not logged in.
Hi,
Problem Introduction:
For a few weeks now I've been playing around with two monitors on one GTX650-Ti Boost (2GB) card. I first tried working with Nouveau drivers because I would prefer the OS solution, but I couldn't escape strange behavior and crashes. I didn't feel my troubleshooting skills were adequate, so after a handful of botched clean installs, I wiped the disk and set up Nvidia proprietary instead (I also heard that the proprietary drivers were better for gaming). The Nvidia drivers pretty much worked out of the box, I ran nvidia-settings and wrote a xorg.conf from it.
Since then, I've set up shop on the desktop, and am reluctant to completely start over again. (You'll see below that I have small NAS drive, maybe I can use rsync to recover my programs and files faster if I need another clean-install?)
I recently got a second (identical) card and have set my hopes and dreams on eventually running four monitors with the two cards, but nothing I've tried so far will allow me to run just two monitors with the two cards.
Hardware Setup:
AMD 8350, Gigabyte 990-fxa motherboard
(2x) GTX 650-Ti Boost gpus
(2x) ASUS VS248H-P Monitors (each has DVI and HDMI)
System Setup:
$ nvidia-settings -v
nvidia-settings: version 331.20 (buildmeister@swio-display-x86-rhel47-05) Wed Oct 30 18:20:32 PDT 2013
The NVIDIA X Server Settings tool.
This program is used to configure the NVIDIA Linux graphics driver.
For more detail, please see the nvidia-settings(1) man page.
Copyright (C) 2004 - 2010 NVIDIA Corporation.
$ alsi
## OS: Arch Linux x86_64
#### Hostname: BNS-anarch
###### Uptime: 37 min, 53 sec
######## Kernel: 3.12.2-1-ARCH
########## Shell: /bin/bash
############ Packages: 919
############## Desktop Environment: GNOME
################ RAM: 2501 MB / 16013 MB (15%)
################## CPU: AMD FX(tm)-8350 Eight-Core Processor
#################### ARCH_201312: 522M / 522M (100%) (iso9660)
###################### Boot: 23M / 1022M (3%) (vfat)
######### ######### Nfs: 488G / 1.8T (27%) (nfs)
########## ########## Root: 57G / 109G (55%) (ext4)
########### ###########
########## ##########
####### #######
#### ####
### ###
Output of Xrandr:
$ xrandr -q
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.0*+
1680x1050 60.0
1600x1200 60.0
1440x900 59.9
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.0 70.1 60.0
800x600 75.0 72.2 60.3 56.2
640x480 75.0 72.8 59.9
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
Options I see available:
From browsing the wiki, I see multiple monitor setups usually use:
Write the xorg.conf or 20-nvidia.conf yourself
What probably won't work:
Xinerama: Apparently xinerama was recently broken, otherwise this would be my second choice after RandR. I could use some feedback on whether it's worth it to wait for a current build to fix it, or if it's a better idea to revert to the last working nvidia driver and just not update it.
TwinView: Doesn't support more than 2 monitors.
From here I'm not sure how to proceed.
I've fairly exhaustively played with the nvidia-settings tool to create xorg.conf files for SLI, base-mosaic, etc. Each time, after rebooting, the system will come back up and hang at [ OK ] Reached Target Graphical Interface. I can't even get to a seperate terminal with [ctrl]+[alt]+[2]. Then I'll shut it down, boot from a USB arch image, remove the xorg.conf, and boot back into one monitor (I guess one monitor on the primary gpu just works by default?).
This theme of hanging, and then rescuing with USB has held through just about everything I try off of the wiki. If it's needed, I can go back and try to show what each attempt produces for an xorg.conf. The closest I've come to getting both screens working, is to set each monitor to its own [Screen] inside nvidia-settings, then I'll have Gnome on the primary monitor, and a blank X cursor on the other...
I'd like to solve this problem with RandR, as it seems to be the ultimate multi-monitor solution from the wiki pages. I feel like I've just been fumbling around and have the tools but just haven't gathered enough from the documentation to use them. Even if you just have a link to a page explaining more commands for xrandr or xorg.conf I'd be appreciative!
Other pages I've found:
Nvidia -- Xconfig Options The very bottom has info on base-mosaic
Nvidia -- SLI Has info on SLI and SLI-mosaic
Nvidia -- TwinView Has more information on meta-modes
I'm also following this thread, because it seems to be asking a similar or related question.
Thanks,
-CTAG
Last edited by CTAG (2014-04-22 16:19:43)
Offline
I just remembered that I've had the SLI ribbon on the cards. I was pretty sure that if I wasn't using SLI then the cable would just be ignored, but for kicks I took it off.
Now, when I setup base-mosaic in nvidia-settings, the computer will fully reboot back to Gnome (unlike crashing before), but only with one monitor (as if the xorg.conf didn't exist).
Edited:
After some playing around, it looks like the computer will boot up with the SLI ribbon installed, but only if none of the .conf files mention SLI or BaseMosaic. Otherwise the computer will freeze before I can login.
If I remove the SLI ribbon, then the computer will boot up to one screen no matter what I put in the .conf file.
Right now I'm trying to get BaseMosaic to work in 10-monitor.conf:
#
# Created by ctag - testing
#
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Ancor Communications Inc VS248"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Ancor Communications Inc VS248"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650 Ti BOOST"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650 Ti BOOST"
BusID "PCI:4:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "GPU-f645364c-b218-3bf2-93f7-9d9042a40b59.DVI-I-1: 1920x1080+0+0, GPU-65de2c48-af30-15a2-98a8-c717d88bec62.DVI-I-1: 1920x1080+1920+0"
Option "MultiGPU" "Off"
Option "SLI" "Off"
Option "BaseMosaic" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "GPU-f645364c-b218-3bf2-93f7-9d9042a40b59.DVI-I-1: 1920x1080+0+0, GPU-65de2c48-af30-15a2-98a8-c717d88bec62.DVI-I-1: 1920x1080+1920+0"
Option "MultiGPU" "Off"
Option "SLI" "Off"
Option "BaseMosaic" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Output from nvidia-settings:
$ nvidia-settings -q all | grep SLI
*nothing*
$ nvidia-settings -q all | grep Mosaic
Attribute 'SliMosaicModeAvailable' (BNS-anarch:0.0): 0.
'SliMosaicModeAvailable' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'SliMosaicModeAvailable' is a read-only attribute.
'SliMosaicModeAvailable' can use the following target types: X Screen, GPU, VCS.
Attribute 'SliMosaicModeAvailable' (BNS-anarch:0[gpu:0]): 0.
'SliMosaicModeAvailable' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'SliMosaicModeAvailable' is a read-only attribute.
'SliMosaicModeAvailable' can use the following target types: X Screen, GPU, VCS.
Attribute 'BaseMosaic' (BNS-anarch:0[gpu:0]): 0.
Valid values for 'BaseMosaic' are: 0.
'BaseMosaic' is a read-only attribute.
'BaseMosaic' can use the following target types: GPU.
Attribute 'SliMosaicModeAvailable' (BNS-anarch:0[gpu:1]): 0.
'SliMosaicModeAvailable' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'SliMosaicModeAvailable' is a read-only attribute.
'SliMosaicModeAvailable' can use the following target types: X Screen, GPU, VCS.
Attribute 'BaseMosaic' (BNS-anarch:0[gpu:1]): 0.
Valid values for 'BaseMosaic' are: 0.
'BaseMosaic' is a read-only attribute.
'BaseMosaic' can use the following target types: GPU.
It looks like I'm being told the only valid setting for BaseMosaic is '0'? I'm not sure what to make of this.
Thanks,
-CTAG
Last edited by CTAG (2013-12-07 23:34:29)
Offline
Today a kind soul on the #nvidia channel spent several hours of his/her time helping me troubleshoot the situation, but we reached the conclusion that it just wasn't working with the current drivers and kernel.
I swapped back to Nouveau (why did they pick such a hard to type name?) drivers and I'm fairly surprised to find the same situation: The best I can get is one working screen (screen0) and one x screen (screen1) that won't accept any windows, but I can waive my mouse around on it.
It looks like this might just be an issue with Gnome3, as it reportedly don't support multiple X screens. If so, then it's been over a year and hasn't been patched that I can tell.
Link to a bug report
Hrm, it's disheartening to see multi monitor/card setups so unsupported... Wayland, hurry up and get here!
Thanks,
-CTAG
Last edited by CTAG (2014-04-22 16:20:37)
Offline
I've now tried most of the official WMs available in the wiki, and a few work with the two screens xorg configuration.
WMs that work-ish:
e16 works well, but doesn't integrate nicely. If I stuck with it, I would have to tear it apart and get things like sound management working.
e17 works beautifully, but after a reboot I log in and the enlightenment_start program seems to hang on a blank screen. The only workaround I've found is to delete the ~/.e folder and go through the introduction screens again, which only lasts until the next reboot.
KDE somewhat works. It's buggy and will launch windows on the wrong screen occasionally. I believe if I cannot find a way to properly resolve multiple gpu/monitor setup, this may be my best bet to settle down and stare coldly at Windows and its fancy schmancy graphics card support.
WMs that everyone knows doesn't work:
Gnome. Gnome 3 appears to have a now standard feature that it will not play around with multiple screens. I've found this listed multiple times by posts as much as a year old.
WMs that don't work... but should:
i3. i3 claims to have multi-screen support. Nope, I only get one workspace on the primary monitor, the other has a blank X screen.
awesome. Same as i3, only shows up on one monitor, the other has an X cursor on black background.
I've also played with: xfce, lxde, xmonad, cinnamon, and none seem to work though I haven't spent much time on them either.
Offline
Small progress update, and if things go well, my last post about this.
I haven't heard back from Nvidia. After reading generally disappointing things about their recent Linux support and generating my own conclusion that they're publishing misleading information, I've decided to do my best to move on without the capabilities not present in the driver.
As such, I'm sticking with a straight one-to-one X screen per monitor. The i3 window manager performs beautifully here (well, as good as I've seen so far). The workspace is now ultra-compact which will impact each user differently, and I cannot move windows between screens, but most other major functionality is retained.
I don't care for graphical login managers, so I opted to log in on TTY1 and then manually bring up X11 if I wish.
Thus, I'm using .xinitrc. Here's the important bit:
DISPLAY=:0.0 i3 &
DISPLAY=:0.1 i3
And for good measure, my xorg.conf:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 331.20 (buildmeister@swio-display-x86-rhel47-05) Wed Oct 30 18:20:32 PDT 2013
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
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"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Ancor Communications Inc VS248"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: unknown, VertRefresh source: unknown
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Ancor Communications Inc VS248"
HorizSync 0.0 - 0.0
VertRefresh 0.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650 Ti BOOST"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650 Ti BOOST"
BusID "PCI:4:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Thanks,
-CTAG
Offline
Hi CTAG, I'm also in the same conundrum as you are (albeit with minor differences). I have two GTX 560 Tis with only two monitors. Both work in TwinView when connected to my primary video card (PCI:0) but if I connect my second monitor to my secondary GPU, the monitor only works with its own X server. Ideally, I'd like to have one monitor plugged into each GPU so as to balance the load between the two cards, thus balancing their expected usage lifetime.
Since I haven't been able to figure out how to span one X screen across two monitors that are plugged into different GPUs, I will plug in both monitors to my primary card and enable SLI between both GPUs and see if the secondary GPU may provide some assistance. Hopefully, this will reduce my primary GPU's normal operating temperature from about 65 degrees Celsius to somewhere around 30-40.
Thanks for your post and keep us updated!
Offline
Hi odds,
A few things have changed since my last post. I'm still working on the configuration, but I'll try to post back when it's all together.
I wouldn't know for certain, but I doubt that SLI will help you much, if you're able to properly get it working the the first place. The drivers just aren't there yet. It's possible that the recent (past week) update to the Nvidia driver will restore support for xinerama or base mosaic, but I'm not holding my breath. In any event, let me know how it goes and good luck!
Thanks,
-CTAG
Offline
Thanks for the quick response, CTAG.
I will just be waiting for a driver update so that I can finally use one monitor per graphics card with only ONE X screen. That will be the day, won't it?
Offline
As of Nvidia driver version 337.12, I now have "working" xinerama.
nvidia-settings still reports an X-screen for each monitor (0-3), but lists only X-screen 0 on the side tab and in fact appears to coalesce all four monitors into one.
Now I'm trying to salvage i3-wm as I've grown fond of it over the past few months, and it doesn't play nice with xinerama. i3 sees x-screen 0 as one huge monitor, and spreads out any open window across all four monitors. I'm getting by right now by placing terminals to make quadrants and force windows that I want onto one or two monitors, bleh. So far I haven't been able to use the xinerama-0 identifier to force workspaces on each screen separately, and of course randr is blocked or stops when xinerama is enabled.
I believe this thread is now closed for me, I'll carry on to make a new thread and see if anyone has ideas about configuring i3.
Thanks,
-ctag
Offline