From: Adam Jackson Date: Tue, 12 Mar 2019 19:22:13 +0000 (+0100) Subject: login: mark nomodeset fb devices as master-of-seat X-Git-Tag: v242-rc1~148 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=183e8c0beac3d47aa9171b9d6897283f606bb971;p=thirdparty%2Fsystemd.git login: mark nomodeset fb devices as master-of-seat When 'nomodeset' is specified, there's no DRM driver to take over from efifb. This means no device will be marked as a seat master, so gdm will never find a sufficiently active seat to start on. I'm not aware of an especially good way to detect this through a proper kernel API, so check for the word 'nomodeset' on the command line and allow fbdev devices to be seat masters if found. For https://bugzilla.redhat.com/show_bug.cgi?id=1683197. --- diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in index a5928b0a4f3..b67966cdf6d 100644 --- a/src/login/71-seat.rules.in +++ b/src/login/71-seat.rules.in @@ -17,6 +17,9 @@ SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat" # HyperV currently doesn't do DRM, hence we need to synthesize for HyperV's fb device instead SUBSYSTEM=="graphics", KERNEL=="fb[0-9]", DRIVERS=="hyperv_fb", TAG+="master-of-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" + SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", TAG+="master-of-seat" SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat"