summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/login/71-seat.rules.in2
-rw-r--r--src/login/logind.c12
2 files changed, 3 insertions, 11 deletions
diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in
index f554d7f615..4f1a9a59a1 100644
--- a/src/login/71-seat.rules.in
+++ b/src/login/71-seat.rules.in
@@ -10,7 +10,7 @@ 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"
+SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="seat-master"
SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat"
# 'Plugable' USB hub, sound, network, graphics adapter
diff --git a/src/login/logind.c b/src/login/logind.c
index 6438631b59..6776229ee7 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -459,11 +459,7 @@ int manager_enumerate_devices(Manager *m) {
goto finish;
}
- r = udev_enumerate_add_match_subsystem(e, "graphics");
- if (r < 0)
- goto finish;
-
- r = udev_enumerate_add_match_tag(e, "seat");
+ r = udev_enumerate_add_match_tag(e, "seat-master");
if (r < 0)
goto finish;
@@ -1295,11 +1291,7 @@ static int manager_connect_udev(Manager *m) {
if (!m->udev_seat_monitor)
return -ENOMEM;
- r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat");
- if (r < 0)
- return r;
-
- r = udev_monitor_filter_add_match_subsystem_devtype(m->udev_seat_monitor, "graphics", NULL);
+ r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat-master");
if (r < 0)
return r;