Latest LightDM update seems to break Multiseat

Bug #1380069 reported by Shill Shocked
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Light Display Manager
New
Undecided
Unassigned

Bug Description

Been using a multiseat configuration for years, working well until recently in Arch with LightDM. After an update of Mesa to 10.3 and LightDm to 1.12, I only get the first seat on my multiseat configuration. Not sure who's to blame, Mesa or LightDM

Revision history for this message
Shill Shocked (shillshocked) wrote :

I have confirmed it is lightdm. Downgrading to lightdm-1:1.10.1-3-x86_64.pkg.tar.xz fixes the problem, and it stays fixed even after updating mesa as long as you IgnorePkg=lightdm in /etc/pacman.conf

What changes have transpired since 1.10 that would make LightDM not work with multiseat?

Revision history for this message
Laércio de Sousa (lbssousa) wrote : Re: [Bug 1380069] Re: Latest LightDM update seems to break Multiseat

Since version 1.12, LightDM now relies on systemd-logind for seat
management. It means LightDM van load seats automatically as they are added
from logind.

Do you have your seats already registered in logind? Do you know how to do
it? Are you using NVIDIA or AMD graphics cards? Open-source or proprietary
drivers?
Em 11/10/2014 20:50, "Shill Shocked" <email address hidden> escreveu:

> I have confirmed it is lightdm. Downgrading to
> lightdm-1:1.10.1-3-x86_64.pkg.tar.xz fixes the problem, and it stays
> fixed even after updating mesa as long as you IgnorePkg=lightdm in
> /etc/pacman.conf
>
> What changes have transpired since 1.10 that would make LightDM not work
> with multiseat?
>
> --
> You received this bug notification because you are subscribed to Light
> Display Manager.
> https://bugs.launchpad.net/bugs/1380069
>
> Title:
> Latest LightDM update seems to break Multiseat
>
> Status in Light Display Manager:
> New
>
> Bug description:
> Been using a multiseat configuration for years, working well until
> recently in Arch with LightDM. After an update of Mesa to 10.3 and
> LightDm to 1.12, I only get the first seat on my multiseat
> configuration. Not sure who's to blame, Mesa or LightDM
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/lightdm/+bug/1380069/+subscriptions
>

Revision history for this message
Shill Shocked (shillshocked) wrote :

In my lightdm.conf, I have been using the following configuration:

[LightDM]
greeter-user=lightdm
log-directory=/var/log/lightdm
run-directory=/run/lightdm

[SeatDefaults]
xserver-command=/usr/bin/X
greeter-session=lightdm-gtk-greeter
greeter-show-manual-login=true
user-session=mate
session-wrapper=/etc/lightdm/Xsession
pam-service=lightdm-autologin
exit-on-failure=true

[Seat:0]
xserver-command=/usr/bin/X :0 -sharevts
xserver-layout=Layout0

[Seat:1]
xserver-command=/usr/bin/X :1 -sharevts
xserver-layout=Layout1

What parts of this configuration are now handled by logind? And how does one register seats via logind?

I personally am using Intel and AMD open-source drivers. But I know of someone else who has tried with his Nvidia configuration using both proprietary and open-source drivers and had the same lack of success.

Revision history for this message
Laércio de Sousa (lbssousa) wrote :

With lightdm 1.12, your config sections [Seat:0] and [Seat:1] will be read no more, since there's no need to configure seats statically.

I can see you're using specific ServerLayouts for each seat. Can you paste here your xorg.conf?

Since you're using open-source drivers, I guess you can register your seats easily in systemd-logind. To see the list of all seat-assignable hardware in your system, run the following command:

loginctl seat-status seat0

Pay special attention on lines tagged with [MASTER], like /sys/devices/.../graphics/fb[0-9]. I guess you'll get two master devices: /dev/fb0 (for your Intel graphics device) and /dev/fb1 (for your AMD card with open-source drivers).

In order to create a new seat, you need to have at least one master device assigned to it. You can assing devices (keyboard, mouse, sound device, USB hub, etc.) to seats with the following command:

loginctl attach seatXXXX /sys/devices/.../your/device

where XXXX can be replaced with any string you want. HINT: if you assing a USB hub to a seat, any device plugged in that hub will be automatically assigned to the same seat.

Revision history for this message
Shill Shocked (shillshocked) wrote :
Download full text (3.5 KiB)

Here is my current xorg.conf:

Section "ServerFlags"
    Option "DefaultServerLayout" "Layout1"
# Option "AllowMouseOpenFail" "true"
    Option "AutoAddDevices" "false"
    Option "AutoEnableDevices" "false"
    Option "DontZap" "false"
    Option "Xinerama" "0"
    Option "AutoAddGPU" "FALSE"
EndSection

Section "ServerLayout"
    Identifier "Layout0"
    Screen 0 "Screen0" 0 0
    InputDevice "kbd_0" "CoreKeyboard"
    InputDevice "mouse_0" "CorePointer"
    Option "AllowEmptyInput" "true"
    Option "DontVTSwitch" "true"
EndSection

Section "ServerLayout"
    Identifier "Layout1"
    Screen 0 "Screen1" 0 0
    InputDevice "kbd_1" "CoreKeyboard"
    InputDevice "mouse_1" "CorePointer"
    Option "AllowEmptyInput" "true"
    Option "DontVTSwitch" "true"
EndSection

Section "Module"
# Load "dbe"
# Load "extmod"
# Load "type1"
# Load "freetype"
# Load "glx"
# Load "dri2"
# Load "glamoregl"
EndSection

Section "InputDevice"
    Identifier "kbd_0"
    Driver "evdev"
    Option "Device" "/dev/input/by-path/pci-0000:00:1a.0-usb-0:1.6:1.0-event-kbd"
    Option "GrabDevice" "on"
    Option "XkbRules" "xorg"
    Option "XkbModel" "105"
    Option "XkbLayout" "us"
    Option "Protocol" "Standard"
EndSection

Section "InputDevice"
    Identifier "kbd_1"
    Driver "evdev"
    Option "Device" "/dev/input/by-path/pci-0000:04:00.0-usb-0:1:1.0-event-kbd"
    Option "GrabDevice" "on"
    Option "XkbRules" "xorg"
    Option "XkbModel" "105"
    Option "XkbLayout" "us"
    Option "Protocol" "Standard"
EndSection

Section "InputDevice"
    Identifier "mouse_0"
    Driver "evdev"
    Option "Device" "/dev/input/by-path/pci-0000:04:00.0-usb-0:2:1.0-event-mouse"
    Option "GrabDevice" "on"
EndSection

Section "InputDevice"
    Identifier "mouse_1"
    Driver "evdev"
    Option "Device" "/dev/input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-event-mouse"
    Option "GrabDevice" "on"
EndSection

Section "Monitor"
    Identifier "Monitor0"
    Option "VendorName" "Unknown"
    Option "ModelName" "Generic Autodetecting Monitor"
# Option "DPMS" "true"
EndSection

Section "Monitor"
    Identifier "Monitor1"
    Option "VendorName" "Unknown"
    Option "ModelName" "Generic Autodetecting Monitor"
EndSection

Section "Device"
    Identifier "Device0"
    Driver "radeon"
# Option "AccelMethod" "glamor"
    Option "AccelMethod" "EXA"
    VendorName ""
    BoardName ""
    BusID "PCI:1:0:0"
    Screen 0
# Option "EXAVSync"
EndSection

Section "Device"
    Identifier "Device1"
    Driver "intel"
    VendorName ""
    BoardName ""
    BusID "PCI:0:2:0"
    Screen 0
# Option "AccelMethod" "UXA"
# Option ...

Read more...

Revision history for this message
Laércio de Sousa (lbssousa) wrote :

OK. It seems your xorg.conf contains no specific customizations for your graphics devices, which means you can safely drop it and let systemd-logind do the rest.

But pay attention to your input devices' devpaths:

seat0 keyboard => /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.6:1.0-event-kbd
seat0 mouse => /dev/input/by-path/pci-0000:04:00.0-usb-0:2:1.0-event-mouse

seat1 keyboard => /dev/input/by-path/pci-0000:04:00.0-usb-0:1:1.0-event-kbd
seat1 mouse => /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-event-mouse

Try to map these devpath into corresponding sysfs paths (/sys/devices/...) and use them to make proper assignments:

loginctl attach seat1 /sys/devices/.../your/radeon/graphics/fb?
loginctl attach seat1 /sys/devices/.../your/seat1/keyboard/input/input?
loginctl attach seat1 /sys/devices/.../your/seat1/mouse/input/input?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.