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 “”
[ 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 878605 – systemd-logind: No way to setup multi-seat with two nvidia cards using proprietary drivers
and 962907 – X server needs fixes to start properly on non-seat0 seats with non-KMS video drivers
about the same problem already exist, but aren’t solved.
I hope that some of the developers will fix this issue.
Floris