I need to take a step back to fully understand the requirements on this one.
The simple case for this is: - 1 processor - 1 video card with two outputs - Two keyboards/mice On startup two login screens are displayed and two people can use this processor simultaneously and independently? My first question is, can logind handle this case? Can it create two seats and assign the input devices to each seat. Can it communicate to an X server that it should only use one output? If logind can't handle this case we should first investigate if we can make it do so as that will make this a lot more consistent with the other multi-seat cases. If it's not possible/appropriate for logind to do this, then I think the structure inside LightDM should be to have a "SeatManager" class that decides how the seats are laid out. In this multi-head multi-seat case we don't use the LogindSeatManager, instead we use a MultiHeadSeatManager which starts and manages the parent X server. We don't want to use the Seat class for something that is not a seat. This feature sounds a bit borderline to me. If we can't implement this cleanly, I think the answer will be "the supported method of multi-seat is to have separate output devices". -- You received this bug notification because you are a member of Ubuntu Multiseat, which is subscribed to the bug report. https://bugs.launchpad.net/bugs/1356332 Title: New approach for nested-X-server multiseat support Status in Light Display Manager: Triaged Bug description: I'm opening this bug to discuss ideas for a new approach for supporting nested-X-server multiseat setups in LightDM, so we can easily configure e.g. 2 seats using a single dual-head graphics card. I have the following initial ideas: 1. Provide a special "empty" seat module, which doesn't spawn greeters, doesn't handle sessions at all, etc. I will only start a host bare X server spanning all available monitors. 1.1 [OPTIONAL] Set property "xdg-seat" for this seat to any invalid value (from logind's perpective), in order to ensure host X server will neither grab input devices (as a non-seat0 X server do) nor touch VTs (as a seat0 X server do). Xorg-server 1.16 or newer is required. Example: xdg-seat=__lightdm-fake-seat__ 2. Link this seat to a secondary DisplayManager object which will handle all other nested-X-server seats. When this secondary display manager is stopped, that host-X-server seat should be stopped, too. Set environment variables DISPLAY and XAUTHORITY before starting nested-X-server seats. 2.1 [OPTIONAL] subscribe all nested-X-server seats to main DisplayManager object as well, so they can be registered in LightDM D-Bus API. 3. Seats could gain a new boolean property "require-nesting" or something similar. If it's true, then the seat in question should wait until host X server is ready before starting itself. If no host X server is available, start a new one. To manage notifications about this bug go to: https://bugs.launchpad.net/lightdm/+bug/1356332/+subscriptions -- Mailing list: https://launchpad.net/~ubuntu-multiseat Post to : [email protected] Unsubscribe : https://launchpad.net/~ubuntu-multiseat More help : https://help.launchpad.net/ListHelp

