Blame SOURCES/0001-data-disable-wayland-on-certain-hardware.patch

6b1540
From e01c0894669f5fe3d1a1c4148b7507e61b95d035 Mon Sep 17 00:00:00 2001
890c66
From: Ray Strode <rstrode@redhat.com>
890c66
Date: Mon, 11 Feb 2019 18:14:07 -0500
3b7e70
Subject: [PATCH] data: disable wayland on certain hardware
890c66
3b7e70
We're having issues with wayland on passthrough to virt
3b7e70
setups and with the vendor nvidia driver on hybrid graphics
3b7e70
setups, so disable it in those cases.
890c66
3b7e70
Also disable it on server chips for performance reasons.
890c66
---
6b1540
 data/61-gdm.rules.in | 39 +++++++++++++++++++++++++++++++++++----
6b1540
 1 file changed, 35 insertions(+), 4 deletions(-)
890c66
890c66
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
6b1540
index b1da191f..d599a146 100644
890c66
--- a/data/61-gdm.rules.in
890c66
+++ b/data/61-gdm.rules.in
6b1540
@@ -1,6 +1,37 @@
3b7e70
 # disable Wayland on Hi1710 chipsets
3b7e70
-ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
3b7e70
-# disable Wayland when using the proprietary nvidia driver
3b7e70
-DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
3b7e70
+ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-disable-wayland"
3b7e70
+
890c66
+# disable Wayland on Matrox chipsets
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+
890c66
+# disable Wayland on aspeed chipsets
890c66
+ATTR{vendor}=="0x1a03", ATTR{device}=="0x2010", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+ATTR{vendor}=="0x1a03", ATTR{device}=="0x2000", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+
3b7e70
+# disable Wayland on hybrid systems with vendor nvidia driver
3b7e70
+# default to Xorg on single gpu vendor nvidia systems
3b7e70
+DRIVER=="nvidia", ENV{GDM_HAS_VENDOR_NVIDIA_DRIVER}="1"
3b7e70
+DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon PreferredDisplayServer xorg"
3b7e70
+SUBSYSTEM=="drm", KERNEL=="card[1-9]*", ENV{GDM_HAS_NVIDIA_DRIVER}=="1", RUN+="@libexecdir@/gdm-disable-wayland"
3b7e70
+ACTION=="add", SUBSYSTEM=="module", KERNEL=="nvidia_drm", ATTR{parameters/modeset}=="N", RUN+="/usr/libexec/gdm-disable-wayland"
3b7e70
+
6b1540
+# disable Wayland on HyperV guests
6b1540
+DRIVER=="hyperv_fb", RUN+="@libexecdir@/gdm-disable-wayland"
6b1540
+
3b7e70
+# disable Wayland on passthrough graphics setups for now (assumes passthrough if
3b7e70
+# there is more than one card, and one of the cards is virt: cirrus, bochs, qxl)
3b7e70
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", ENV{GDM_HAS_VIRTUAL_GPU}="1"
3b7e70
+ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", ENV{GDM_HAS_VIRTUAL_GPU}="1"
3b7e70
+ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", ENV{GDM_HAS_VIRTUAL_GPU}="1"
890c66
+
3b7e70
+SUBSYSTEM=="drm", KERNEL=="card[1-9]*", ENV{GDM_HAS_VIRTUAL_GPU}=="1", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
+
3b7e70
 # disable Wayland if modesetting is disabled
3b7e70
-IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
3b7e70
+IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-disable-wayland"
890c66
-- 
6b1540
2.27.0
890c66