← Back to team overview

ubuntu-multiseat team mailing list archive

Re: Lightdm and Xephyr multiseat fun

 

On 3 March 2014 22:52, Laércio de Sousa <lbsousajr@xxxxxxxxx> wrote:
> Em 02/03/2014 17:38, "Laércio de Sousa" <lbsousajr@xxxxxxxxx> escreveu:
>> Em 02/03/2014 16:22, "Daniel J Blueman" <daniel@xxxxxxxxx> escreveu:
>> > Using Ubuntu 13.10 i686 and the superb work in the ubuntu-multiseat
>> > PPA, I run a configured X server on a dual-output Intel GPU (started
>> > from a modified lightdm upstart script [1]):
>> > # /usr/bin/Xorg :0 -nolisten tcp vt7
>> >
>> > then start configured [2] lightdm, which in turn runs the Xephyr
>> > wrapper [3]. Both user sessions start; so far so good.
>> >
>> > Since I need to also attach touchscreen and sound to the screens, I
>> > have to use udev tags, so I assign a mouse the 'seat1' tag [4,5] and
>> > it isn't listed in 'loginctl seat-status seat0' as expected, but it
>> > doesn't move the cursor on the second head (or first).
>> >
>> > loginctl shows only a single seat, despite both Xephyr servers being
>> > passed '-seat seat0' and '-seat1' (which isn't listed in 'Xephyr
>> > -help):
>> > $ loginctl list-seats
>> > SEAT
>> > seat0
>> >
>> > 1 seats listed.
>> >
>> > Any idea what I'm missing?
[]
>> In order to create a new seat in logind, you need to have at least one
>> device udev-tagged as master-of-seat attached to it. Try to write a udev
>> rule that tags one of your seat1 devices as master-of-seat.
>
> Moreover, you also need a Xephyr built with configure option
> --enable-kdrive-evdev (like the one available in Multiseat PPA). Then you
> need to pass explictly the devpaths of your input devices to Xephyr with
> options -keybd and -mouse. Xephyr doesn't recognize option -seat directly.

Yes, that seems to be what I'm finding. The updated udev rules [1]
work nice [2], but the mouse from the Xephyr seat0 can move onto the
seat1 screen, despite:

$ ps -ef
[]
/usr/bin/Xephyr -zaphod -fullscreen :1 -seat seat0 -auth
/var/run/lightdm/root/:1 -nolisten tcp
/usr/bin/Xephyr -zaphod -fullscreen :2 -seat seat1 -auth
/var/run/lightdm/root/:2 -nolisten tcp

For the system I'll be setting up, there will be three touchscreen
monitors with sound via HDMI on a triple-output Intel GPU, so I'm out
of luck with the -mouse and -keybd options.

Maybe you or Richard know if anyone has had any luck with eg MDM or
other solutions (Wayland?), rather than Xephyr?

Thanks,
  Daniel

-- [1] /etc/udev/rules.d/99-multiseat.rules

DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2",
ENV{ID_SEAT}="seat1", TAG+="master-of-seat", TAG+="seat1", TAG+="seat"

-- [2]

$ loginctl list-seats
SEAT
seat0
seat1

2 seats listed.

$ loginctl seat-status seat1
seat1
        Sessions: *c4
         Devices:
                  └─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2
                    [MASTER] usb:1-1.2

└─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
                      input:input6 " USB OPTICAL MOUSE"
-- 
Daniel J Blueman


Follow ups

References