Multiseat with systemd

Hey,

I already know that the nvidia driver creates the framebuffer after the X server is started, so I have to create an udev rule to make a “seat-master” (or is it “master-of-seat”)

on http://www.freedesktop.org/wiki/Software/systemd/multiseat/
Quote: …

Tag “master-of-seat”: if set this device is enough for a seat to be considered existent. This tag is
usually set for the framebuffer device of graphics cards. A seat hence consists of an arbitrary
number of devices marked with the “seat” tag, but (at least) one of these devices needs to be
tagged with “master-of-seat” before the seat is actually considered to be around.

Can someone give me an example to set this tag in an udev rule?

thanks,

jkfloris

The people of systemd where so kind to give me an example:
SUBSYSTEM==“graphics”, KERNEL==“fb[0-9]*”, TAG+=“seat”, TAG+=“master-of-seat”

Unfortunately, Nvidia doesn’t create a SUBSYSTEM==graphics or a KERNEL==fb0

$sudo udevadm info -a -p /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/

looking at device ‘/devices/pci0000:00/0000:00:03.0/0000:01:00.0’:
KERNEL==“0000:01:00.0”
SUBSYSTEM==“pci”
DRIVER==“nvidia”
ATTR{vendor}==“0x10de”
ATTR{device}==“0x0615”
ATTR{subsystem_vendor}==“0x1043”
ATTR{subsystem_device}==“0x82fb”
ATTR{class}==“0x030000”
ATTR{irq}==“16”
ATTR{local_cpus}==“00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f”
ATTR{local_cpulist}==“0-3”
ATTR{numa_node}=="-1"
ATTR{dma_mask_bits}==“40”
ATTR{consistent_dma_mask_bits}==“32”
ATTR{enable}==“1”
ATTR{broken_parity_status}==“0”
ATTR{msi_bus}==""
ATTR{boot_vga}==“1”

so I tried
SUBSYSTEM==“pci”, KERNEL==“0000:02:00.0”, TAG+=“seat”, TAG+=“master-of-seat”

but without success,

some more tips?

thanks

I used this:

DEVPATH=="/devices/pci0000:00/0000:00:0b.0/0000:06:00.0", TAG+=“seat”, TAG+=“master-of-seat”

Which (I think) was able to be triggered to activate with:

sudo udevadm trigger --attr-match=vendor=‘0x10de’

I found this bug and some useful information thereabouts, but the conclusion was that it is not possible to get this working today with the standard packages:
https://bugzilla.redhat.com/show_bug.cgi?id=878605

Try this udev rule:

SUBSYSTEM=="drm", KERNEL=="card[0-9]*", ATTRS{vendor}=="0x10de", DRIVERS=="nvidia", TAG+="master-of-seat"

If your system does not have any /dev/dri/card* device files, try this other one:

SUBSYSTEM=="pci", ATTRS{vendor}=="0x10de", DRIVER=="nvidia", TAG+="seat", TAG+="master-of-seat"

And make sure you’re using Xorg server 1.16 or newer.