304.121, Ubuntu 14.04, Xrandr 1.4 - multi GPU not being detected

I’ve been banging my head against this for the last couple of months on and off (various versions of 304, X and kernel)

hardware: Generic desktop PC (Intel DQ35JO board/Q6600/8Gb) Qudaro NVS 440 card.

Even though the system has the latest version of Xrandr, “xrandr --listproviders” only shows one GPU.

X logs make it clear that both GPUs on the card are being picked up.

The only way to get 4-headed X working is to enable Xinerama, which comes with significant performance penalties and disables Xrandr - which in turn means quite a few programs refuse to start.

I’ve been assuming that I’ve been missing something in the configuration, however there have been hints of a Xrandr bug in latest versions of X or the nvidia driver. Can anyone help out either way with confirmation?

Bug reports with and without Xinerama attached.

Thanks in advance.

[This file was removed because it was flagged as potentially malicious] (59.1 KB)
nvidia-bug-report.log-xinerama.gz (60.4 KB)


What arg did you use to enable multi gpu? Did you use “–multigpu=on” or something like “–multigpu=sfr”?

Have you tried a more updated driver than 304? According to nvidia.com the Quatro NVS 440 supports the 331.38 drivers which has fixes for bugs in X… not sure if it remedies your situation or not, but might as well try eh?

Ubuntu 14.04 should show the 331 drivers in the “additional drivers” part of “software & updates”

–multigpu=on is to allow several GPUs to output to ONE screen (Ditto SLI)

Yes I’ve tried it, no it doesn’t work.

WRT “more updated drivers”: what’s on the website is wrong and needs correcting. Attempting to use the 331 driver results in an error message that the gpu is not supported and to use the 304 driver.

Additionally: A closer look at xrandr output and comparing it with nouveau’s output shows that it’s seeing NO providers

$ xrandr --listproviders
Providers: number : 0

I had assumed it was 0-based, but the nouveau driver reports 2 and then lists them.

Unfortunately the nouveau driver does xrandr multihead by only working one GPU and directing the output to different heads (The “inverse-prime” driver).

Whilst that might seem ok, the 3rd and 4th screens aren’t lighting up (they activate, but nothing displays), there’s a 4000 pixel width limit (the limit of a single nv43 GPU) and most importantly the GPU locks up after a while.

It turns out that ALL current X-based OSS driver xrandr multihead setups are rendered on only one GPU, no matter how many are actually installed in the system. It’d be nice if Nvidia and ATI explained how they do it on “that other OS”

Randr 1.4 provider objects weren’t supported until the 319.xx drivers: https://devtalk.nvidia.com/default/topic/539249/unix-graphics-announcements-and-news/-linux-solaris-and-freebsd-driver-319-12-beta-/

That’s why it’s showing 0 providers. The Nvidia drivers only support Source Output anyway, so “inverse-prime” isn’t even possible with the newest drivers.

SLI Mosaic Mode does what you want, but I don’t think your GPUs support it:

Edit: It looks like BaseMosaic will do it, and it’s supposed to support non-mobile Quadro NVS cards:


[ 4151.763] () NVIDIA(0): Option “BaseMosaic” “True”
[ 4151.763] (
) NVIDIA(0): Enabling 2D acceleration
[ 4152.756] (EE) NVIDIA(0): Failed to find a valid Base Mosaic configuration.
[ 4152.756] (EE) NVIDIA(0): Invalid Base Mosaic configuration 1 of 1:
[ 4152.756] (EE) NVIDIA(0): GPUs:
[ 4152.756] (EE) NVIDIA(0): 1) NVIDIA GPU at PCI:3:0:0
[ 4152.756] (EE) NVIDIA(0): 2) NVIDIA GPU at PCI:4:0:0
[ 4152.756] (EE) NVIDIA(0): Errors:
[ 4152.756] (EE) NVIDIA(0): - Unsupported GPU
[ 4152.756] (EE) NVIDIA(0): - Chipset not approved for SLI
[ 4152.756] (WW) NVIDIA(0): Failed to find a valid Base Mosaic configuration for the
[ 4152.756] (WW) NVIDIA(0): NVIDIA graphics device PCI:3:0:0. Please see Chapter 29:
[ 4152.756] (WW) NVIDIA(0): Configuring SLI and Multi-GPU FrameRendering in the README
[ 4152.756] (WW) NVIDIA(0): for troubleshooting suggestions.

What are the odds of Randr 1.4 being backported to 304?


$ xrandr --version
xrandr program version 1.4.1
Server reports RandR version 1.4

$ xrandr --listproviders
Providers: number : 0

Something’s definitely not right.