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

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