Dual RTX6000 cards, One display - Configuring Xorg

I’m not sure how to configure the xorg.conf file (hopefully using nvidia-xconfig or similar command). It sees the display based on the output from nvidia-xconfig below, but from the Xorg.0.log file, it’s only checking GPU 0 for displays, doesn’t find any, and won’t start X. I’m remote from the system so I can’t just swap the display to the other card. Any suggestions or guidance is appreciated!

nvidia-xconfig --query-gpu-info

Number of GPUs: 2

GPU #0:
Name : Quadro RTX 6000
UUID : GPU-860f605e-0cbf-60cc-f6e1-05b3d80a0396
PCI BusID : PCI:21:0:0

Number of Display Devices: 0

GPU #1:
Name : Quadro RTX 6000
UUID : GPU-8a10b12a-8682-0972-9731-72421b45757b
PCI BusID : PCI:45:0:0

Number of Display Devices: 1

Display Device 0 (TV-0):
EDID Name : DELL P2213
Minimum HorizSync : 30.000 kHz
Maximum HorizSync : 83.000 kHz
Minimum VertRefresh : 56 Hz
Maximum VertRefresh : 75 Hz
Maximum PixelClock : 160.000 MHz
Maximum Width : 1680 pixels
Maximum Height : 1050 pixels
Preferred Width : 1680 pixels
Preferred Height : 1050 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 470 mm
Physical Height : 300 mm

I might be able to help… but I need to understand further your end goal.

  1. Is it to run 2 GPU in SLI mode? If so, refer to this https://download.nvidia.com/XFree86/Linux-x86_64/396.51/README/sli.html

  2. is you want to allocate GPU-0 as your Display GPU and use GPU-1 as an additional CUDA node or something similar, then read below…

Your problem is mostly due to the absence of a /ext/X11/xorg.conf X11 configuration file and the fact that XRandR might assume GPU-1 as your primary device. To avoid this auto-magically mayhem, you must provide at least one Device and Screen sections to the Xorg Server and tell it to move aside and listen to ya ;)

Let’s bind GPU-0 as Device0 in your /etc/X11/xorg.conf file

First, list all available GPUs and grab the PCI BusID of GPU-0. Here’s my Quadro P4000 setup

$ lspci | grep -e VGA 
06:00.0 VGA compatible controller: NVIDIA Corporation GP104GL [Quadro P4000] (rev a1)

Second, edit your /etc/X11/xorg.conf file to something like mine. Adapt to your setup and PCI BusID

Section "Device"
    Identifier    "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro P4000"
    BusID                  "PCI:6:0:0"
EndSection

Now we attach Device0 (GPU-0) to a Screen0.

I recommend to run xrandr command to list all available connected monitors. Here’s what mine looks like… My screen ID is DP-6, as in DisplayPort no.6

$ xrandr --listmonitors
Monitors: 1
 0: +*DP-6 3840/800x2160/450+0+0  DP-6

Finally, create or adapt the Screen section to attach Device0 to Screen0.

Here’s what mine looks like. Again, adapt to your specific needs. Be aware, XComposite doesn’t play nice with Hardware Overlay. It’s one or the other kind of deal. Be sure to adapt the SLI and multi-GPU accordingly

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "DP-6"
    DefaultDepth    24
    Option         "AllowGLXWithComposite" "True"
    Option         "nvidiaXineramaInfo" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
    Option         "UBB" "True"
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-6"
    Option         "metamodes" "DP-6: 3840x2160_60 +0+0 {ForceCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

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

Good luck and welcome to the major league.

Cheers,

Eric