File 1008-login-mark-again-framebuffer-devices-as-master-of-se.patch of Package systemd

From 3a8fea22109e74e90307efa44fe103a266c9c90a Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Tue, 29 Jun 2021 16:54:56 +0200
Subject: [PATCH 1008/1008] login: mark again framebuffer devices as
 master-of-seat devices

This reverts commit 6260d28b8a002a401eab7511f96fd62f471dccdb and all subsequent
commits that addressed the regressions due to the initial change.

Upstream decided that frame-buffer devices were obsolete and DRM drivers
should be used instead, see https://github.com/systemd/systemd/issues/10435.

However not all graphic chips have a DRM drivers currently and
fallback to vesafb for example, which is graphic capable. There're
probably more fallouts so this change seems a bit premature. It would
still be possible to work around these cases by adding "nomodeset" to
the kernel command line but the user-experience would be pretty bad.

Furthermore nobody has complained about the issue fixed by the switch
to DRM driver so far. Only GDM reported a case where it doesn't handle
the transition from frame-buffer to DRM during the boot process but
GDM has been improved since then and the risk of introducing
regressions through a distro minor update exists.

Hence let's keep the frame-buffer devices available a bit longer until
simpledrm driver is out and drivers that don't export the DRM
interface (such as nVidia, HyperV, vmware, ...) provide udev rules.

See bsc#1187154 for details.

[fbui: fixes bsc#1187154]
---
 src/login/71-seat.rules.in | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in
index 25e4ee7e58..d9c173ec1b 100644
--- a/src/login/71-seat.rules.in
+++ b/src/login/71-seat.rules.in
@@ -12,19 +12,24 @@ ACTION=="remove", GOTO="seat_end"
 TAG=="uaccess", SUBSYSTEM!="sound", TAG+="seat"
 SUBSYSTEM=="sound", KERNEL=="card*", TAG+="seat"
 SUBSYSTEM=="input", KERNEL=="input*", TAG+="seat"
-SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat"
 
 # Assign keyboard and LCD backlights to the seat
 SUBSYSTEM=="leds", TAG+="seat"
 SUBSYSTEM=="backlight", TAG+="seat"
 
-# Allow efifb / uvesafb to be a master if KMS is disabled
-SUBSYSTEM=="graphics", KERNEL=="fb[0-9]", IMPORT{cmdline}="nomodeset", TAG+="master-of-seat"
-
-# Allow any PCI graphics device to be a master and synthesize a seat if KMS
-# is disabled and the kernel doesn't have a driver that would work with this device.
-SUBSYSTEM=="pci", ENV{ID_PCI_CLASS_FROM_DATABASE}=="Display controller", \
-                  ENV{DRIVER}=="", IMPORT{cmdline}="nomodeset", TAG+="seat", TAG+="master-of-seat"
+# Upstream decided that frame-buffer devices were obsolete and DRM drivers
+# should be used instead. However not all graphic chips have a DRM drivers
+# currently and fallback to vesafb for example. There're probably more fallouts
+# so this change seems a bit premature. It would still be possible to work
+# around these cases by adding "nomodeset" to the kernel command line but the
+# user-experience would be pretty bad.
+#
+# Hence let's keep the frame-buffer devices available a bit longer until
+# simpledrm driver is out and drivers that don't export the DRM interface (such
+# as nVidia, HyperV, vmware, ...) provide udev rules. See bsc#1187154 for
+# details.
+#
+SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="master-of-seat"
 
 # Synthesize a seat for graphic devices without DRM and that fall back to fb
 # device instead. Such HWs are listed in hwdb.
-- 
2.31.1

openSUSE Build Service is sponsored by