summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Martinez Canillas <javierm@redhat.com>2022-01-05 10:57:20 +0100
committerJavier Martinez Canillas <javierm@redhat.com>2022-01-05 18:05:36 +0100
commit0a87a2b53436d866e2007d5c68349cb4a1cef73e (patch)
tree9f8709c6c9b1a38e71e2325dbb2f6b00f054dd02
parenteb6d39a2473f4d58431cd599d9e8480c44aaebbc (diff)
downloadgdm-0a87a2b53436d866e2007d5c68349cb4a1cef73e.tar.gz
gdm.rules: Keep wayland enabled for simple-framebuffer DRM drivers
Not all DRM drivers are disabled when the nomodeset kernel cmdline option is used. For example the simpledrm driver that use the system framebuffer set-up by the bootloader, provides a modesetting interface. Exclude the DRM drivers that match against the "simple-framebuffer" device and only disable wayland for platform DRM drivers. This allows to start a wayland session when nomodeset is used to disable a platform DRM driver by using the simpledrm driver instead of legacy fbdev drivers such as efifb, that does not support modsetting and could only be used with an Xorg session.
-rw-r--r--data/61-gdm.rules.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index 1156f0d3..bbc6a00e 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -2,7 +2,12 @@
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
# disable Wayland if modesetting is disabled
-IMPORT{cmdline}="nomodeset", SUBSYSTEM=="drm", KERNEL=="card[0-9]*", GOTO="gdm_disable_wayland"
+KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end"
+SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end"
+# but keep it enabled for simple framebuffer drivers
+DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end"
+IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland"
+LABEL="gdm_nomodeset_end"
# Disable wayland when nvidia modeset is disabled or when drivers are a lower
# version than 470, in any case always prefer Xorg