В Пн., 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
