[systemd-devel] X fatal server error with -seat option

Floris jkfloris at dds.nl
Mon Jul 8 08:16:48 PDT 2013


Because multiseat doesn't work out-of-the-box with the Nvidia drivers I  
try to figure out why.

The story so far:
create a udev rule for the nvidia device and attach it together with a  
usb-hub to seat1
# loginctl seat-status seat1
seat1
          Devices:
                   ├─/sys/devices/pci0000:00/0000:00:05.0/0000:02:00.0
                   │ [MASTER] pci:0000:02:00.0
                   ├─/sys/devices/pci0000:00/0000:00:05.0/0000:02:00.1/sound/card2
                   │ sound:card2 "NVidia"
                   │  
├─/sys/devices/pci0000:00/0000:00:05.0/0000:02:00.1/sound/card2/input17
                   │ │ input:input17 "HDA NVidia HDMI/DP,pcm=7"
                   │  
└─/sys/devices/pci0000:00/0000:00:05.0/0000:02:00.1/sound/card2/input18
                   │   input:input18 "HDA NVidia HDMI/DP,pcm=3"
                   ├─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3
                   │ usb:1-1.3
                   │  
└─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input2
                   │   input:input2 "Cypress Sem PS2/USB Browser Combo  
Mouse"
                   └─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4
                     usb:1-1.4
                     ├─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input3
                     │ input:input3 "BTC USB Multimedia Keyboard"
                     └─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/input/input4
                       input:input4 "BTC USB Multimedia Keyboard"

Now the "magic" should happen, but there isn't a way to add a -layout  
option to the X server, so the second seat remains black.I made a little  
script to add that option to systemd-multi-seat-x (I renamed the original  
systemd-multi-seat-x to systemd-multi-seat-x.org)

#!/bin/bash
echo "$@">>/var/log/multiseat.log

layout=$(echo "$@" | awk '{print $8}')
/lib/systemd/systemd-multi-seat-x.org "$@" -layout $layout
exit

Unfortunately, still no gdm or an other Xserver on seat1
The X server tries to start the right ServerLayout
...
[  1160.624] (++) ServerLayout "seat1"
[  1160.624] (**) |-->Screen "TV" (0)
[  1160.624] (**) |   |-->Monitor "<default monitor>"
[  1160.624] (**) |   |-->Device "seat1"
[  1160.624] (==) No monitor specified for screen "TV".
         Using a default monitor configuration.
[  1160.624] (**) Option "IsolateDevice" "PCI:02:00:0"
[  1160.624] (**) Option "SingleCard" "true"
[  1160.624] (==) Automatically adding devices
[  1160.624] (==) Automatically enabling devices
[  1160.624] (==) Automatically adding GPU devices
...
But ends with:
...
[  1160.689] (EE) No devices detected.
[  1160.689]
Fatal server error:
[  1160.690] no screens found
[  1160.690] (EE)

I figured out that I can start a second Xserver with gnome3:
#DISPLAY=:1 startx -- -layout seat1 -sharevts
But this gnome session isn't aware of any udev seat rules so it isn't  
really working

#DISPLAY=:1 startx -- -layout seat1 -sharevts -seat seat1
Ends with the same "Fatal server error:"
...
[  2188.890] (EE) No devices detected.
[  2188.890]
Fatal server error:
[  2188.890] no screens found
[  2188.890] (EE)

Bugs https://bugzilla.redhat.com/show_bug.cgi?id=878605
and https://bugzilla.redhat.com/show_bug.cgi?id=962907
about the same problem already exist, but aren't solved.

I hope that some of the developers will fix this issue.

Floris


More information about the systemd-devel mailing list