Hi All, I've been looking into using systemd-logind Session.TakeControl() and friends from the xserver, so that the xserver can let logind open/close the device nodes for it, and then hopefully will no longer need root rights.
Sofar I've mainly been finding investigating / finding my way around the xserver. So today I was ready to start adding some initial code for this to the Xserver, only to immediately hit a roadblock :| Hence this mail I'm looking for input on how to solve the problems I've found sofar. Below I try to explain the 2 problems I see and I ask a few initial questions about them. Your input on this is very much appreciated. Problem 1: 1) TakeControl() works on a session, so the xserver will need to find the session it is to serve and then TakeControl of that session. Questions about problem 1: * Does gdm create the session before starting X ? * Can gdm pass in the session id, or the pid of the session leader to X when starting X ? Problem 2: 2) When switching from the "gdm" session to the user login session a new session gets created. For this to work we either need to start a new X, or X needs to deal with the session going away, and another one showing up. Dealing with this means releasing all devices including the drm node and then re-opening it when X gets the new session. Questions about problem 2: * I know starting a new X for the user-session is undesirable, but is it a blocker ? * How feasible is it to make X deal with the drm node going away, without fully invoking the entire switch vt logic ? Regards, Hans _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
