[systemd-devel] Starting Display Managers

Lennart Poettering lennart at poettering.net
Tue Aug 21 05:02:30 PDT 2012


On Tue, 21.08.12 11:09, Alexander E. Patrakov (patrakov at gmail.com) wrote:

> The question is: how does one write this dependency information, so
> that lxdm is not attempted to be started before udev creates the
> necessary device node? Yes, I understand that GPU hotplug in Xorg is
> the real answer, but we don't have that now, and I don't know how it
> would cover vesa-based screens.

Actually I do not think that Xorg GPU hotplug is the right answer
here. Instead the display manager should probably not start any X server
on a seat that is not graphical. For that it should watch the
CanGraphical property of the seat (as Tomasz already mentioned).

A temporary work-around could be to settle the video drivers using
udevadm. (and only the video drivers please!), and add that to
ExecStartPre= or so.

> This is not exactly a theoretical question. While I could not
> reproduce this race using a RAID0 setup made from two Samsung SATA-III
> SSDs, it does trigger reliably (even with an Intel card) if one puts
> the entire system into an initramfs and makes the /init ->
> usr/bin/systemd symlink.

Yes, this race is real, and right now no display manager really handles
this correctly. Now that our boot times are so fast these kinds of races
suddenly appear there never had been visible before.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list