summaryrefslogtreecommitdiff
path: root/data/gdm.service.in
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2022-02-14 17:03:09 -0500
committerRay Strode <rstrode@redhat.com>2022-02-15 09:06:44 -0500
commitb2d6ccee16df921af515efd559dcf59d5b2d0d99 (patch)
tree17fd29e1fec56733f83df1cb9729c9a25cc2527c /data/gdm.service.in
parent7661ffceaa8e0e19d129d5376546438af56f7750 (diff)
downloadgdm-b2d6ccee16df921af515efd559dcf59d5b2d0d99.tar.gz
data: Don't race with vendor nvidia driver at startup
The vendor nvidia driver has two modules loaded at startup. It's not uncommon for the second module to still be loading when GDM starts. Our udev rule relies on the second module to set up GDM's boot configuration. This commit adds some synchronization to stall GDM a bit if the vendor driver is still coming up. https://gitlab.gnome.org/GNOME/gdm/-/issues/763
Diffstat (limited to 'data/gdm.service.in')
-rw-r--r--data/gdm.service.in5
1 files changed, 5 insertions, 0 deletions
diff --git a/data/gdm.service.in b/data/gdm.service.in
index 17e8a8de..effdf56a 100644
--- a/data/gdm.service.in
+++ b/data/gdm.service.in
@@ -19,6 +19,11 @@ After=rc-local.service plymouth-start.service systemd-user-sessions.service
# for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service
+# If our udev rule is still trying to figure out the lay of the land
+# then block for a bit. gdm-waiting-on-udev.path will start us later
+# when appropriate.
+ConditionPathExists=!/run/udev/gdm-waiting-on-udev
+
[Service]
ExecStart=${sbindir}/gdm
KillMode=mixed