From 3e3ffe6083746b5ce7dadc482a14f18644dbf012 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 11 Feb 2019 18:14:07 -0500 Subject: [PATCH] data: disable wayland on certain hardware We're having issues with wayland on passthrough to virt setups and with the vendor nvidia driver on hybrid graphics setups, so disable it in those cases. --- data/61-gdm.rules.in | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in index b1da191f8..fde22e9f3 100644 --- a/data/61-gdm.rules.in +++ b/data/61-gdm.rules.in @@ -1,6 +1,20 @@ # disable Wayland on Hi1710 chipsets -ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" -# disable Wayland when using the proprietary nvidia driver -DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" +ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="@libexecdir@/gdm-disable-wayland" + +# disable Wayland on hybrid systems with vendor nvidia driver +# default to Xorg on single gpu vendor nvidia systems +DRIVER=="nvidia", ENV{GDM_HAS_VENDOR_NVIDIA_DRIVER}="1" +DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon PreferredDisplayServer xorg" +SUBSYSTEM=="drm", KERNEL=="card[1-9]*", ENV{GDM_HAS_NVIDIA_DRIVER}=="1", RUN+="@libexecdir@/gdm-disable-wayland" +ACTION=="add", SUBSYSTEM=="module", KERNEL=="nvidia_drm", ATTR{parameters/modeset}=="N", RUN+="/usr/libexec/gdm-disable-wayland" + +# disable Wayland on passthrough graphics setups for now (assumes passthrough if +# there is more than one card, and one of the cards is virt: cirrus, bochs, qxl) +ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", ENV{GDM_HAS_VIRTUAL_GPU}="1" +ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", ENV{GDM_HAS_VIRTUAL_GPU}="1" +ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", ENV{GDM_HAS_VIRTUAL_GPU}="1" + +SUBSYSTEM=="drm", KERNEL=="card[1-9]*", ENV{GDM_HAS_VIRTUAL_GPU}=="1", RUN+="@libexecdir@/gdm-disable-wayland" + # disable Wayland if modesetting is disabled -IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" +IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-disable-wayland" -- 2.31.1