[systemd-devel] [RFC] Multiseat X sessions and Xorg configs

2013-07-16 Thread Glen Gray
Hey guys,

I'm currently working with a Plugable DisplayLink usb hub/adaptor for adding 
multi-seat support to an embedded PC formfactor.

I've been running into difficulties with the changes to GDM and systemd with 
regards to multiseat support.

For GDM, I've patched it to do the following...
1) In daemon/gdm-display.c where it currently checks if the seat != seat0. 
Rather than doing goto out; immediately, it queries the username. If the 
username is utilising the script method then let the automated login proceed. 
The script method will parse the login name as a script path if it ends with | 
character.

2) In daemon/gdm-simple-slave.c, rather than using a global level 
GDM_RAN_ONCE_FILE_MARKER, create one per seat. This allows the 
wants_autologin() to return True on a another seat rather than drop through to 
simply start_greeter().

3) In daemon/gdm-slave.c, Export the GDM_SEAT_ID for the initial gdm slave 
display. This allows you to check the current seat in the script for item 1) 
above.

That solved my gdm automated login process on the different seats. I've emailed 
the patch to the gdm list.

However, I also ran into a problem with Xorg configurations. 

The host system runs on an embedded PC and has an xorg.conf.d Device entry for 
the Intel driver to enable certain options. However, this is global and caused 
problems with the displays on the other seats. e.g. with the second seat 
starting Xorg and looking for the Intel device as described in the xorg.conf.d 
file, rather than using the appropriate Frame-buffer device. I've patched the 
systemd/login/multi-seat-x.c to also pass over a -configdir parameter to the 
Xorg it launches. e.g '-configdir 
/etc/X11/xorg.conf.d/multi-session-x/seat-usb-pci-
_00_1d_7-usb-0_3_1_4'. I'm not entirely confident that's the correct path I 
should be using.

I've attached the patch for your comments/feedback.
Thanks in advance,
-- 
Glen Gray
sla...@slaine.org



multi-session-xorg-confdir.patch
Description: Binary data


___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [RFC] Multiseat X sessions and Xorg configs

2013-07-16 Thread Glen Gray

On 16 Jul 2013, at 16:28, Lennart Poettering lenn...@poettering.net wrote:

 On Tue, 16.07.13 16:09, Glen Gray (sla...@slaine.org) wrote:
 
 However, I also ran into a problem with Xorg configurations. 
 
 The host system runs on an embedded PC and has an xorg.conf.d Device entry 
 for the Intel driver to enable certain options. However, this is global and 
 caused problems with the displays on the other seats. e.g. with the second 
 seat starting Xorg and looking for the Intel device as described in the 
 xorg.conf.d file, rather than using the appropriate Frame-buffer device. 
 I've patched the systemd/login/multi-seat-x.c to also pass over a -configdir 
 parameter to the Xorg it launches. e.g '-configdir 
 /etc/X11/xorg.conf.d/multi-session-x/seat-usb-pci-
 _00_1d_7-usb-0_3_1_4'. I'm not entirely confident that's the correct 
 path I should be using.
 
 I figure both of these issues are better discussed in the gdm and X11
 mailing lists rather than here.

Agreed, however, given that systemd is currently patching the launch of Xorg 
for this environment, I thought I'd pass on my update which solves my version 
of the problem.

 Note that the multi-seat-x tool is on its way, see this thread:
 
 http://lists.x.org/archives/xorg-devel/2013-July/036866.html
 
 In this same thread there are discussions about adding a MatchSeat
 option to X. This really looks like what you are looking for? With that
 in place you could have configuration fragments that only apply to
 specific seats rather than all of them?

Ok, probably best if I take this over the the xorg-devel list then. That looks 
like the conversation I'm interested in.

Thanks,
-- 
Glen Gray
sla...@slaine.org

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel