summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2021-02-08 15:18:58 +0100
committerBenjamin Berg <benjamin@sipsolutions.net>2021-02-08 14:28:26 +0000
commit59e6aa646b37f776e8b5c8b61aff08347f37e8be (patch)
tree6f8ba8957b8001422e6c0493e93df19a011b2a31
parent5510f640fc7bba35fe97d083aee6edcdf1463e57 (diff)
downloadgdm-benzea/wait-for-udev.tar.gz
data: Wait for systemd-udev-settle.servicebenzea/wait-for-udev
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
-rw-r--r--data/gdm.service.in8
1 files changed, 8 insertions, 0 deletions
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