В Пн., 24/12/2012 в 13:08 +0100, Lennart Poettering пишет:
> On Thu, 20.12.12 22:08, Oleg Samarin ([email protected]) wrote:
> 
> Could you please split these patches up? The "seat-master" bit looks
> straightforward to me, and I'd merge that quickly, the ONE_SEAT thing I
> don't really get.
> 
The first part of my patch is here:


From: Oleg Samarin <[email protected]>
Subject: [PATCH] logind: Capability of making seats without framebuffer devices

file logind.c: The seat is now activated by any device with udev tag "seat-master"
file 71-seat.rules.in: All framebuffer devices have this tag
file multi-seat-x.c: if the seat does not have a framebuffer device, runs X as a proxy, adding -sharevts only
if the seat has a framebuffer device, makes a special config for X (like it did before)

diff -Naur /home/oleg/tmp/systemd.old/src/login/71-seat.rules.in /home/oleg/tmp/systemd.fb/src/login/71-seat.rules.in
--- /home/oleg/tmp/systemd.old/src/login/71-seat.rules.in	2012-11-21 05:19:20.000000000 +0400
+++ /home/oleg/tmp/systemd.fb/src/login/71-seat.rules.in	2012-12-27 22:44:56.129552678 +0400
@@ -10,7 +10,7 @@
 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 -Naur /home/oleg/tmp/systemd.old/src/login/logind.c /home/oleg/tmp/systemd.fb/src/login/logind.c
--- /home/oleg/tmp/systemd.old/src/login/logind.c	2012-11-21 05:19:20.000000000 +0400
+++ /home/oleg/tmp/systemd.fb/src/login/logind.c	2012-12-27 22:39:17.192654294 +0400
@@ -450,11 +450,7 @@
                 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;
 
@@ -1286,11 +1282,7 @@
         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;
 
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to