Am 21.11.2012 20:23, schrieb Lennart Poettering: > Ahum, we wrote this with modern in-kernel drivers in mind, really. I > understand that people want to run this stuff with the closed-source > binary drivers, but due to the closed-source-ness this is really not > that high on my TODO list and is not as easy to implement as it sounds.
I have been looking into this topic, but lacked the time to finish the thought. For me, the major problem is that the selection of "seat master devices" is hard-coded in logind (it selects devices of type "graphics" from udev, [1]). Step 1 would be to move that to a udev rule: Add a "seatmaster" tag to all graphics devices and have logind select those (this would actually remove three LOC in logind.c, and change one line). Now, an admin could give this tag to any device. This fix is very easy, non-invasive and would make logind's multi-seat support much more flexible (it also allows an admin to do very stupid things, but I don't see any reason to prevent that). The second step is to make multi-seat-x support custom configurations: If an X server is to be spawned on on a seat named "seatN" and /etc/X11/xorg.conf_seatN exists, then that configuration file is used and multi-seat-x doesn't generate one. (Over time, maybe multi-seat-x can be extended to support more setups automatically, but that is a very low priority for me, as figuring out the correct configuration with the proprietary nvidia driver is not straight-forward.) This wouldn't work with dynamically appearing and disappearing seats, and it wouldn't be fully automatic, but that isn't my use case anyway: I have computers with two NVidia PCIe cards, and thus always have exactly two seats. I simply launch two X servers manually with the correct configuration from KDM. This setup works perfectly right now, except that logind doesn't recognize them as separate seats (there is no 'graphics' device present, so I cannot even create a second seat). The first change I outlined above would solve almost all my problems (I'd still have to cheat KDM into passing the correct XDG_SEAT, as it doesn't fully support logind yet - but I can do that without any help from systemd/logind). [1] http://cgit.freedesktop.org/systemd/systemd/tree/src/login/logind.c#n453
signature.asc
Description: OpenPGP digital signature
_______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
