75 lines
3.4 KiB
Diff
75 lines
3.4 KiB
Diff
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
|
|
|