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

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