From 59e6aa646b37f776e8b5c8b61aff08347f37e8be Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Mon, 8 Feb 2021 15:18:58 +0100 Subject: data: Wait for systemd-udev-settle.service While technically deprecated, we really need to have the drm devices resolved when we try to start GNOME Shell. This is the straight forward way of ensuring that is the case. It might be possible to be a bit smarter here by watching udev and checking whether a DRM device is available for each seat. Closes: #662 --- data/gdm.service.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/data/gdm.service.in b/data/gdm.service.in index 17e8a8de..dbe11158 100644 --- a/data/gdm.service.in +++ b/data/gdm.service.in @@ -15,6 +15,14 @@ After=${PLYMOUTH_QUIT_SERVICE} # plymouth is quit, which we do) After=rc-local.service plymouth-start.service systemd-user-sessions.service +# In order to start GNOME Shell (or the X server), we need the DRM device to +# be available. However, when GDM starts the graphics driver may not be done +# probing. +# As such, delay until after systemd-udev-settle.service. Ideally we would only +# wait for the seat to have a DRM device(/output) assigned. +Wants=systemd-udev-trigger.service systemd-udev-settle.service +After=systemd-udev-trigger.service systemd-udev-settle.service + # GDM takes responsibility for stopping plymouth, so if it fails # for any reason, make sure plymouth still stops OnFailure=plymouth-quit.service -- cgit v1.2.1