MultiSeat - Logind adds seats out of order

I am trying to get MultiSeat working with Logind and LightDM. The problem that I am having is that LoginD starts the seats out of order. Seat :1 loads xorgSeat2.conf and Seat :2 loads xorgSeat1.conf.


ATCS1:~ # loginctl list-seats
SEAT            
seat0           
seat2           
seat1

Udev Seat Rules: /etc/udev/rules.d/10-static-seat.rules


#SUBSYSTEM=="input", ENV{ID_INPUT.tags}="input_default"
SUBSYSTEM=="drm", KERNEL=="card[0-9]*", ATTRS{vendor}=="0x10de", DRIVERS=="nvidia", TAG+="master-of-seat"

#Seat0
SUBSYSTEM=="drm", DEVPATH=="/devices/pci0000:00/0000:00:07.0/0000:07:00.0/drm/card2", ENV{ID_SEAT}="seat0", TAG+="seat"
SUBSYSTEM=="sound", DEVPATH=="/devices/pci0000:00/0000:00:07.0/0000:07:00.1/sound/*", ENV{ID_SEAT}="seat0", TAG+="seat"
SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.7/usb4/4-6*", ENV{ID_SEAT}="seat0", ENV{ID_INPUT.tags}="seat0", TAG+="seat"

#Seat1
SUBSYSTEM=="drm", DEVPATH=="/sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:02.0/0000:06:00.0/drm/card1", ENV{ID_SEAT}="seat1", TAG+="seat"
SUBSYSTEM=="sound", DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:02.0/0000:06:00.1/*", ENV{ID_SEAT}="seat1", TAG+="seat"
SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.7/usb4/4-1*", ENV{ID_SEAT}="seat1", ENV{ID_INPUT.tags}="seat1", TAG+="seat"

#Seat2
SUBSYSTEM=="drm", DEVPATH=="/sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:00.0/0000:05:00.0/drm/card0 ENV{ID_SEAT}="seat2", TAG+="seat"
SUBSYSTEM=="sound", DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:00.0/0000:05:00.1/*", ENV{ID_SEAT}="seat2", TAG+="seat"
SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.7/usb4/4-4*", ENV{ID_SEAT}="seat2", ENV{ID_INPUT.tags}="seat2", TAG+="seat"

LightDM Config: /etc/lightdm/lightdm.conf


[LightDM]
minimum-display-number=0
minimum-vt=7
run-directory=/run/lightdm
logind-load-seats=true

[Seat:*]
greeter-hide-users=true

[Seat:seat0]
xserver-command=/usr/bin/startx -- :0 -sharevts -keeptty
xserver-config=/etc/X11/xorgSeat0.conf
xserver-layout=seat0

[Seat:seat1]
xserver-command=/usr/bin/startx -- :1 -sharevts -keeptty
xserver-config=xorgSeat1.conf
xserver-layout=seat1

[Seat:seat2]
xserver-command=/usr/bin/startx -- :2 -sharevts -keeptty
xserver-config=xorgSeat2.conf
xserver-layout=seat2

Looking at lightdm.log I see that the seat number is automatically being added to the xserver command overriding what I had on the xserver command.


DEBUG: Launching process 2025: /usr/bin/startx -- :2 -sharevts -keeptty :1 -config xorgSeat2.conf -layout seat2 -seat seat2 -sharevts -auth /run/lightdm/root/:1 -nolisten tcp
DEBUG: Launching process 2026: /usr/bin/startx -- :1 -sharevts -keeptty :2 -config xorgSeat1.conf -layout seat1 -seat seat1 -sharevts -auth /run/lightdm/root/:2 -nolisten tcp

I tried putting the full set of options on the startx line in lightdm.conf but the system added same options to the end of it overriding the seat number.

Does anyone know how to fix this, if not then I will submit a bug report. Thanks.

Dave W