summaryrefslogtreecommitdiff
path: root/data
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 /data
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.
Diffstat (limited to 'data')
-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