Running Multiple Headless X Servers

I’m trying to run 2 headless X servers on separate Tesla M60s with GRID driver 410.92. I can run one X server without issue. But when I try to run 2, it seems that rendering only works to one at a time. To test this, I run a simple OpenGL application and capture the screen with gnome-screenshot.

Observed behavior:

  • Start X server only on GPU 0, DISPLAY=:5 -> App runs okay, screencap shows app running
  • Start X server only on GPU 1, DISPLAY=:6 -> App runs okay, screencap shows app running
  • Start both X servers -> Screencap is black on one and shows app on the other. Which one depends on where you most recently ran an app. Sometimes app errors out due to framebuffer incompleteness.

I’m running the X servers as:

sudo Xorg -config xorg.minimal-gpu0.conf :5
sudo Xorg -config xorg.minimal-gpu1.conf :6

Here are the Xorg config files for each. Either of these works in isolation.

$ cat  xorg.minimal-gpu0.conf
Section "DRI"
    Mode     0666
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Tesla M60"
    BusID          "PCI:0:29:0"
EndSection

$ cat  xorg.minimal-gpu1.conf
Section "DRI"
    Mode     0666
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Tesla M60"
    BusID          "PCI:0:30:0"
EndSection

GPU Configuration:

$ nvidia-xconfig --query-gpu-info
Number of GPUs: 2

GPU #0:
  Name      : Tesla M60
  UUID      : GPU-510e155a-edaf-d364-10f7-82620d38a945
  PCI BusID : PCI:0:29:0

  Number of Display Devices: 0


GPU #1:
  Name      : Tesla M60
  UUID      : GPU-29edf221-5069-a0de-bc9b-3546757a6585
  PCI BusID : PCI:0:30:0

  Number of Display Devices: 0