Drop rules for falling back in X11

The Fedora GNOME experience provided by Workstation no longer includes
GNOME X11 on the media, so realistically there is nothing to fall back
to anymore.

Reference: https://fedoraproject.org/wiki/Changes/WaylandOnlyGNOMEWorkstationMedia
This commit is contained in:
Neal Gompa 2024-07-08 20:54:42 -04:00
parent d7de68637c
commit 1f59144b92
4 changed files with 130 additions and 39 deletions

View File

@ -0,0 +1,28 @@
From a1a145b4d56be57166dc593d80bfe190e37e080e Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Mon, 8 Jul 2024 20:31:48 -0400
Subject: [PATCH 1/2] data: Drop unused gdm_prefer_xorg rule
This rule is not used for anything.
---
data/61-gdm.rules.in | 4 ----
1 file changed, 4 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index aa1a0e06c..354277bfe 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -109,10 +109,6 @@ LABEL="gdm_nvidia_drm_end"
GOTO="gdm_end"
-LABEL="gdm_prefer_xorg"
-RUN+="@libexecdir@/gdm-runtime-config set daemon PreferredDisplayServer xorg"
-GOTO="gdm_end"
-
LABEL="gdm_disable_wayland"
RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
GOTO="gdm_end"
--
2.45.2

View File

@ -1,38 +0,0 @@
From 32cabdadde5e272a8f045208fe4af1d47e4c3854 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Tue, 27 Sep 2022 10:00:11 -0400
Subject: [PATCH] udev: Stick with wayland on hybrid nvidia with vendor driver
F36 defaulted to wayland for users with hybrid graphics that
use the vendor nvidia driver.
We shouldn't change behavior so close to f37 release, so this
commit brings that behavior back.
---
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 a4f841bdf..addfc3119 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -82,12 +82,14 @@ ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machi
ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
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 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_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
--
2.40.0

View File

@ -0,0 +1,100 @@
From 91608626f360638c0dbffa1dbad58c426c8fc733 Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Mon, 8 Jul 2024 20:35:28 -0400
Subject: [PATCH 2/2] data: Drop X11 fallback rules
We expect Wayland to work on all conceivable configurations.
---
data/61-gdm.rules.in | 60 --------------------------------------------
1 file changed, 60 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index 354277bfe..eb9eedbf5 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -10,22 +10,8 @@ ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/usr/bin/touch /run/udev/g
# vga
ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
-# disable Wayland on Hi1710 chipsets
-ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
-
LABEL="gdm_pci_device_end"
-# disable Wayland if modesetting is disabled
-KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end"
-KERNEL=="card[0-9]-*", GOTO="gdm_nomodeset_end"
-SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end"
-# but keep it enabled for simple framebuffer drivers
-DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end"
-IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU"
-ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
-IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland"
-LABEL="gdm_nomodeset_end"
-
# The vendor nvidia driver has multiple modules that need to be loaded before GDM can make an
# informed choice on which way to proceed, so force GDM to wait until NVidia's modules are
# loaded before starting up.
@@ -41,17 +27,6 @@ IMPORT{program}="/bin/sh -c \"sed -e 's/: /=/g' -e 's/\([^[:upper:]]\)\([[:upper
# If it is, there's no need to check for the suspend/resume services
ENV{NVIDIA_ENABLE_S0IX_POWER_MANAGEMENT}=="1", GOTO="gdm_nvidia_suspend_end"
-# Check if suspend/resume services necessary for working wayland support is available
-TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
-TEST{0711}!="/usr/lib/systemd/system-sleep/nvidia", GOTO="gdm_disable_wayland"
-
-ENV{NVIDIA_PRESERVE_VIDEO_MEMORY_ALLOCATIONS}!="1", GOTO="gdm_disable_wayland"
-IMPORT{program}="/bin/sh -c 'echo NVIDIA_HIBERNATE=`systemctl is-enabled nvidia-hibernate`'"
-ENV{NVIDIA_HIBERNATE}!="enabled", GOTO="gdm_disable_wayland"
-IMPORT{program}="/bin/sh -c 'echo NVIDIA_RESUME=`systemctl is-enabled nvidia-resume`'"
-ENV{NVIDIA_RESUME}!="enabled", GOTO="gdm_disable_wayland"
-IMPORT{program}="/bin/sh -c 'echo NVIDIA_SUSPEND=`systemctl is-enabled nvidia-suspend`'"
-ENV{NVIDIA_SUSPEND}!="enabled", GOTO="gdm_disable_wayland"
LABEL="gdm_nvidia_suspend_end"
LABEL="gdm_nvidia_end"
@@ -76,41 +51,6 @@ ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machi
ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
LABEL="gdm_hybrid_graphics_check_end"
-# If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland
-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"
-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
-LABEL="gdm_virt_passthrough_check"
-TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_virt_passthrough_check_end"
-TEST!="/run/udev/gdm-machine-has-virtual-gpu", GOTO="gdm_virt_passthrough_check_end"
-TEST!="/run/udev/gdm-machine-has-hardware-gpu", GOTO="gdm_virt_passthrough_check_end"
-GOTO="gdm_disable_wayland"
-LABEL="gdm_virt_passthrough_check_end"
-
-# Disable wayland when there are multiple virtual gpus
-LABEL="gdm_virt_multi_gpu_check"
-TEST!="/run/udev/gdm-machine-has-hybrid-graphics", GOTO="gdm_virt_multi_gpu_check_end"
-TEST!="/run/udev/gdm-machine-has-virtual-gpu", GOTO="gdm_virt_multi_gpu_check_end"
-TEST=="/run/udev/gdm-machine-has-hardware-gpu", GOTO="gdm_virt_multi_gpu_check_end"
-LABEL="gdm_virt_multi_gpu_check_end"
-
-# Disable wayland when nvidia modeset is disabled
-KERNEL!="nvidia_drm", GOTO="gdm_nvidia_drm_end"
-SUBSYSTEM!="module", GOTO="gdm_nvidia_drm_end"
-ACTION!="add", GOTO="gdm_nvidia_drm_end"
-# disable wayland if nvidia-drm modeset is not enabled
-ATTR{parameters/modeset}!="Y", GOTO="gdm_disable_wayland"
-LABEL="gdm_nvidia_drm_end"
-
-GOTO="gdm_end"
-
-LABEL="gdm_disable_wayland"
-RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false"
GOTO="gdm_end"
LABEL="gdm_end"
--
2.45.2

View File

@ -21,7 +21,8 @@ Source5: default.pa-for-gdm
Source6: gdm.sysusers
# Downstream patches
Patch: 0001-udev-Stick-with-wayland-on-hybrid-nvidia-with-vendor.patch
Patch: 0001-data-Drop-unused-gdm_prefer_xorg-rule.patch
Patch: 0002-data-Drop-X11-fallback-rules.patch
Patch: 0001-Honor-initial-setup-being-disabled-by-distro-install.patch
Patch: 0001-data-add-system-dconf-databases-to-gdm-profile.patch
Patch: 0001-xorg-detect.patch