GTX 960 + GTX 1080 TI utilizing 6 monitors w/ Linux...

I currently have an older GTX 960 w/ a newer GTX 1080 TI also in the machine. I have 4 monitors connected to the 1080 TI and 2 to the 960. How would I go about getting all of these to work in Linux (current distro I’m using is Mint Xfce, but that shouldn’t matter)? I’ve tried everything under the roof getting this to work. Any help would be appreciated…

The closest I’ve gotten is to try to use the NVIDIA drivers on the GTX 1080 TI, and nouveau drivers for the older one (set to “modesetting” in XRANDR). Haven’t gone the full way with this (so don’t think it’ll work… and by now I doubt it well; however, I’ve run out of options).

Respectfully,
Eric

See this for earlier experiments:
[url]https://devtalk.nvidia.com/default/topic/1030717/?comment=5243978[/url]
Basically, you would have to get a split kernel driver setup (nvidia/nouveau) working. Didn’t work then.

Thanks, generix. This is actually the thread I am following. I’ll let you know how it turns out… appreciate it.

A variation for post #10 of that thread would be load nouveau first, then unbind the 1080, then load the nvidia driver, then start X.

Alright, generix… I think I’m getting close. It’s a different turn-out so far than the original poster who you helped in the thread you specified. At the end of post #7, I have the following:

xrandr --listproviders

results in:

Providers: number : 2
Provider 0: id: 0x1f5 cap: 0x1, Source Output crtcs: 4 outputs: 7 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x48 cap: 0x2, Sink Output crtcs: 4 outputs: 5 associated providers: 1 name:modesetting
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

results in:

xrandr: Configure crtc 4 failed
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  81
  Current serial number in output stream:  81

In the original thread, it looked like his issue was because his GPU in “modesetting” did not have the 0x2 in cap; however, mine does. My error return also has the line ‘xrandr: Configure crtc 4 failed’ at the top where his didn’t. Any clue?

I also had to use a different xorg.conf, as the one you posted (with my BusIDs updated to fit my GPUs) resulted in just a cursor loading in the top left of the screens. My xorg.conf is as follows:

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

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

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL S2715H"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1080 Ti"
    BusID          "PCI:66:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "modesetting"
    Option         "AccelMethod" "none"
    BusID          "PCI:6:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-6"
    Option         "metamodes" "DP-5: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +1920+0, DP-3: nvidia-auto-select +3840+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    Option         "AllowEmptyInitialConfiguration"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

EDIT: BTW, using nvidia driver version 415.25

That’s quite interesting, the fact that the modesetting driver ontop of the nvidia kernel driver now exposes the Sink Output cap looks like nvidia implements prime functionally in their drm driver. Still, it now fails in a later step.
Please attach an xorg log so I can have a look at it.

I have Xorg.0.log and Xorg.1.log… I’ll attach both (sorry, fairly new to linux)
Xorg.0.log (72.7 KB)
Xorg.1.log (44.6 KB)

Some things I noticed:

[    13.189] (II) Applying OutputClass "nvidia" options to /dev/dri/card0

There’s probably a file /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf containing an nvidia OutputClass, please remove that file, it loads the nvidia driver additionally to the modesetting driver for the 960:

[    13.580] (EE) NVIDIA(GPU-1): Failed to acquire modesetting permission.
[    13.580] (II) NVIDIA(GPU-1): NVIDIA GPU GeForce GTX 960 (GM206-A) at PCI:6:0:0 (GPU-1)
[    13.580] (--) NVIDIA(GPU-1): Memory: 2097152 kBytes
[    13.580] (--) NVIDIA(GPU-1): VideoBIOS: 84.06.0d.00.02
[    13.580] (II) NVIDIA(GPU-1): Detected PCI Express Link width: 16X
[    13.581] (II) NVIDIA: Using 24576.00 MB of virtual memory for indirect memory
[    13.581] (II) NVIDIA:     access.

That shouldn’t happen and is probably interfering.
When you issue the xrandr command, the modesetting driver complains:

[    97.042] (EE) modeset(G0): failed to set mode: No space left on device

might be related to the nvidia driver being loaded.

Done; however, now I get the following:

Providers: number : 2
Provider 0: id: 0x83 cap: 0x0 crtcs: 4 outputs: 4 associated providers: 0 name:modesetting
Provider 1: id: 0x48 cap: 0x2, Sink Output crtcs: 4 outputs: 5 associated providers: 0 name:modesetting

Both are set to ‘modesetting’ and I lost the NVIDIA-0

That’s odd. Please attach a new xorg log.

Here was the file contents you wanted me to remove (just in case it’s needed):

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/x86_64-linux-gnu/xorg"
EndSection

See attached for the log files.

Xorg.0.log (113 KB)
Xorg.1.log (61.9 KB)

Ok, please leave that file out and add to your xorg.conf

Section "Files"
    ModulePath "/usr/lib/x86_64-linux-gnu/xorg,/usr/lib/xorg/modules"
EndSection

Got excited there for a second…

Was back to the proper response using:

xrandr --listproviders

However, again… using:

xrandr --auto

resulted in:

xrandr: Configure crtc 4 failed
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  81
  Current serial number in output stream:  81

I’ll attach the logs again. Also, I just realized… I have an Oculus Rift headset still attached the to GTX 1080 TI via the HDMI port. Would that have anything to do with any of this, since the resolution settings, etc. won’t match the monitors? Likely not the cause… just wanted to put it out there, just in case. Sent you a PM also.

Xorg.0.log (71.2 KB)
Xorg.1.log (41.8 KB)

Still the same as in #8. Please add

Option "ProbeAllGpus" "false"

to the nvidia device section and maybe comment out the MultiGPU and BaseMosaic options.

Which device? Both, just the 1080 TI or the 960?

I put it under the 1080 TI device, and removed the MultiGPU and BaseMosaic options under the screen section. Still the same error.

Just the 1080. Please attach a new xorg log.

The logs contain:

[   728.294] (EE) modeset(G0): failed to set mode: No space left on device

According to:
https://bugs.freedesktop.org/show_bug.cgi?id=94577

One of the posters said:

“After much experimentation, enabling the “glamor” USE flag on x11-base/xorg-server fixes this. I’ve not the faintest idea as to why this fixes it. It’s especially odd, as enabling Glamor should actually break things, according to Nvidia’s own documentation”

What is your opinion, and if it’s something we can try… how do I go about doing this?

Alright, attaching the new logs. I’ll start automatically doing that after every attempt I do… thanks.
Xorg.0.log (80.5 KB)
Xorg.1.log (41.8 KB)

The bug report is only relevant for Gentoo users, you have to compile the xserver with glamor enabled for the modesetting driver to work. Irrelevant in your case since you’re using Ubuntu and they know how to compile the xserver;) It’s just the same error message but a different cause.
So it looks like nvidia is working on prime output sink support in their driver but currently it isn’t finished. So you got a step further than previous experiments but still not reaching the goal. You could try with just one monitor connected to each card to check if you’re hitting any unknown limits.
Should be revisited when new major driver versions get released.
So for the moment, there’s only the split nvidia/nouveau setup left.

Ah, gotcha… thanks for the explanation. Then waiting it is… talk with you soon, hopefully. Again, appreciate all the help.