Keep F36 behavior for hybrid machines with vendor nvidia driver...

rather than defaulting to Xorg with wayland as an option.

Resolves: #2128910
This commit is contained in:
Ray Strode 2022-09-27 10:01:46 -04:00
parent 27625e5ff8
commit 3cfc516785

View File

@ -1,26 +1,22 @@
From cc376327163a2c75487b07fa26880bf7a3b080fa Mon Sep 17 00:00:00 2001
From 5d363136eccb0c00368112e1856bb37ed26c6b16 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Tue, 27 Sep 2022 09:04:54 -0400
Subject: [PATCH] udev: Allow wayland on hybrid vendor nvidia machines
Date: Tue, 27 Sep 2022 10:00:11 -0400
Subject: [PATCH] udev: Stick with wayland on hybrid nvidia with vendor driver
We currently disable wayland on machines with the vendor
nvidia driver upstream if hybrid graphics are in place because there
is poor performance for multimonitor use cases.
F36 defaulted to wayland for users with hybrid graphics that
use the vendor nvidia driver.
But springing that change on users in F37 this late in the game
isn't nice, so instead default to Xorg and provide wayland as an
option in the menu.
https://bugzilla.redhat.com/show_bug.cgi?id=2128910
We shouldn't change behavior so close to f37 release, so this
commit brings that behavior back.
---
data/61-gdm.rules.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
data/61-gdm.rules.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index 5bc9941..7e17be0 100644
index 5bc9941..d13f0b8 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -57,66 +57,67 @@ TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
@@ -57,66 +57,68 @@ TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
TEST{0711}!="/usr/lib/systemd/system-sleep/nvidia", GOTO="gdm_disable_wayland"
IMPORT{program}="/bin/sh -c \"sed -e 's/: /=/g' -e 's/\([^[:upper:]]\)\([[:upper:]]\)/\1_\2/g' -e 's/[[:lower:]]/\U&/g' -e 's/^/NVIDIA_/' /proc/driver/nvidia/params\""
ENV{NVIDIA_PRESERVE_VIDEO_MEMORY_ALLOCATIONS}!="1", GOTO="gdm_disable_wayland"
@ -52,14 +48,15 @@ index 5bc9941..7e17be0 100644
LABEL="gdm_hybrid_graphics_check_end"
-# If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland
+# If this is a hybrid graphics laptop with vendor nvidia driver, prefer xorg since
+# multimonitor has very poor performance
+# If this is a hybrid graphics laptop with vendor nvidia driver default to wayland
+# It gives poor performance for multi-monitor, but Xorg fails some multi-monitor
+# setups too, and this is what we did in F36.
LABEL="gdm_hybrid_nvidia_laptop_check"
TEST!="/run/udev/gdm-machine-is-laptop", GOTO="gdm_hybrid_nvidia_laptop_check_end"
TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_hybrid_nvidia_laptop_check_end"
TEST!="/run/udev/gdm-machine-has-vendor-nvidia-driver", GOTO="gdm_hybrid_nvidia_laptop_check_end"
-GOTO="gdm_disable_wayland"
+GOTO="gdm_prefer_xorg"
+GOTO="gdm_end"
LABEL="gdm_hybrid_nvidia_laptop_check_end"
# Disable wayland in situation where we're in a guest with a virtual gpu and host passthrough gpu