Dual Quadro 600 w/dual monitor - no second display

Quick note: This post deals with two Quadro 600s running two monitors - one each with driver versions 300 to mid-400 and RHEL 6.4 and 6.9

  • I am aware that these are all very outdated and unsupported
  • No, I cannot update any of these and I will never be able to
  • No, I cannot just throw my hands up and say “it’s too difficult” - the only way I get out of this is quitting my job, and that’s not something I’m planning to do
  • I will not say why any of these are the case

To the issue at hand!

We have a RHEL 6.4 workstation with two Quadro 600s in it (not p, not k, etc - just plain 600) and each card is connected via DVI to one monitor running driver version ~380-ish I believe. We just updated the workstation to RHEL 6.9 and have lost the second display. Unfortunately we can’t install the exact previous driver version due to various reasons, so we have to upgrade to another version we have. Thankfully, we have a few driver versions all ranging from the high-300 to mid-400.

I’ve dug through the old x configuration, tried various iterations of it, tried installing different drivers, tried re-initing and rebooting, tried running NVIDIA’s built-in xorg generator tool, etc etc etc. The most I can get is a non-functional second display (usually labeled as “disabled” in nvidia-settings) but normally shutdowns or startups just completely hang and I have to go into single-user mode to fix or revert the xorg configuration to get it to boot normally again.

Anyone come across a similar problem? Any ideas?

Thanks,
Alex

The Quadro 600 (Fermi) is still supported, the legacy driver v390 is the correct version to use. So no need to swap.
How do you install the driver (runfile/repo)?
Please run nvidia-bug-report.sh as root and attach the resulting nvidia-bug-report.log.gz file to your post.
Please post the output of

sudo cat /sys/module/nvidia_drm/parameters/modeset

Thanks for the reply!

So it looks like the driver versions I have available are 384.90, 340.108, 375.66, and 331.89. I might be able to find more, but that’s all I have for now. Would any of those work?

We’re installing using runfiles, though we do have a precompiled version for an older kernel (which obviously won’t work here, but hey)

I did run the nvidia-bug-report.sh but the file is large enough that it would take a long time to review. Is there any section in particular that you would like to see? I can probably post sections of it.

There’s also no /sys/module/nvidia_drm/parameters directory. The driver version I’m seeing on the box right now is 384.90

I’d need a dmesg output after a fresh boot, Xorg logs, Xorg config files
and the output of
sudo lspci -k -d 10de:*
for starters.
If the nvidia-bug-report.log is very big, this points to problems flooding the log.
Any of those mentioned drivers should work on rhel 6.
Driver archive:
https://http.download.nvidia.com/XFree86/Linux-x86_64/

The nvidia-bug-report.log is 30136 lines ling and 1.8M large, but I can’t reasonably go through 30k lines to be able to post the log here.

The output of dmesg would be similar, and same with Xorg logs. Is there specific sections you’d need? I could probably hand-jam the Xorg config we’re using.

The output of the lspci command is as follows:
02:00.0 VGA compatible controller: NVIDIA Corporation GF108GL [Quadro 600] (rev a1)
Subsystem: NVIDIA Corporation Device 0835
Kernel driver in use: nvidia
Kernel modules: nvidia-drm, nvidia, nouveau, nvidiafb
02:00.1 VGA compatible controller: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
Subsystem: NVIDIA Corporation Device 0835
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel
25:00.0 VGA compatible controller: NVIDIA Corporation GF108GL [Quadro 600] (rev a1)
Subsystem: NVIDIA Corporation Device 0835
Kernel driver in use: nvidia
Kernel modules: nvidia-drm, nvidia, nouveau, nvidiafb
25:00.1 VGA compatible controller: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
Subsystem: NVIDIA Corporation Device 0835
Kernel driver in use: snd_hda_intel
Kernel modules: snd-hda-intel

Hopefully there’s no mistakes, but I had to hand-copy the output so if there are then let me know.

So the driver seems to be installed and used. Please attach your xorg.conf and Xorg.0.log.

I finally managed to download the config and logs for this. Hopefully it helps.
Thanks for helping with this!

dmesg.out (57.9 KB)

New users can only add one link at a time, so here’s the Xorg.0.log file.
Also a ~2-minute delay between replies.

Xorg.0.log (1.3 MB)

And, finally, the xorg.conf file.

xorg.conf (2.9 KB)

The xorg log doesn’t match the xorg.conf. Xorg config defines two screens running on the two nvidia gpus. The xorg log uses a config file with only one screen defined but with many options set not in the config you attached.
In general, what’s your desired setup? Two separate screens or one desktop spanning both gpus?

Odd, we tried a few different xorg configs and that one, I believe, was generated by xrandr. We had one we tried previously which worked on 6.4 but when we copied it over to the box after the 6.9 upgrade it stopped working.

The desired setup is two monitors with each monitor plugged into the DVI port of each card (ie. monitor 1 plugged into card 1 and monitor 2 plugged into card 2). The desktop should be stretched between the two monitors (side-by-side, a “usual” multi-monitor setup. Not stretched.) and windows should be able to be dragged around between them. From what I understand, that should involve the use of xinerama.

Ok, then you’re on the wrong track, you’d need to use “BaseMosaic”. Please make sure

sudo cat /sys/module/nvidia_drm/parameters/modeset

returns ‘N’, then use only this minimal xorg.conf:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro 600"
    BusID          "PCI:2:0:0"
    Option         "BaseMosaic" "true"
EndSection

afterwards, please attach a new xorg.0.log.

Additionally the command
xrandr -q :d :0
returns the following, with the desired hardware setup (two monitors, two cards, both DVI)

Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 325mm
1920x1200 59.95*+
1680x1050 59.95
1600x1200 60.00
1440x900 59.89
1280x960 60.00
1280x720 60.00
1152x864 75.00
1024x768 85.00 75.03 70.07 60.00
800x600 85.06 75.00 72.19 60.32
640x480 75.00 72.81 59.84
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)

It looks like /sys/module/nvidia_drm/parameters doesn’t exist.
The nvidia_drm directory contains
holders/
initstate
notes/
refcnt
sections/
srcversion
version

Is there any way we might be able to figure this out or move on from it? I’ve found similar fixes on this forum and around the internet but since I don’t have that sys directory I can’t verify functionality or guarantee that what I’m seeing on my end is correct.

If it doesn’t exist, it’s as good as ‘N’, disabled. It just shouldn’t return ‘Y’, enabled.
Please create a new nvidia-bug-report.log with the xorg.conf from my post in place.

the nvidia-bug-report.log is too many lines to manually review again, but I can still post the Xorg.0.log and dmesg logs for the new xorg config if you’d like.

After looking at the nvidia-settings and going over to look at the monitors it seems like both screens are functional.

What does BaseMosaic do that xinerama doesn’t? Or, specifically, what’s the difference between the config you posted and the ones we’ve been using? What have we been doing wrong?

Thank you so much for the input!

Edit: If you’ve got a venmo or paypal or something the entire team is happy to buy you a coffee or a beer or several.
Edit edit: I’ve been told from my team lead to post the logs so I’ll try to get them downloaded today if possible.

BaseMosaic is the nvidia proprietary counterpart to xinerama for quadros without the downsides of xinerama (compositing, glx).
I guess the Xorg log is sufficient.

Couldn’t get the logs downloaded yesterday or today, so it’ll have to be next week likely.
Thanks for the patience, and sorry for the delay!