diff --git a/u_keep_non_seat0_x_server_from_touching_vts.patch b/u_keep_non_seat0_x_server_from_touching_vts.patch new file mode 100644 index 0000000..fcc68bd --- /dev/null +++ b/u_keep_non_seat0_x_server_from_touching_vts.patch @@ -0,0 +1,45 @@ +From 405e2805d3903a8a631f01924593a227c634f05d Mon Sep 17 00:00:00 2001 +From: LaƩrcio de Sousa +Date: Thu, 12 Dec 2013 16:22:48 +0000 +Subject: xfree86: Keep a non-seat0 X server from touching VTs (#71258) + +Updated patch following Hans de Goede's advice. + +If -seat option is passed with a value different from seat0, +X server won't call xf86OpenConsole(). + +This is needed to avoid any race condition between seat0 and +non-seat0 X servers. If a non-seat0 X server opens a given VT +before a seat0 one which expects to open the same VT, one can +get an inactive systemd-logind graphical session for seat0. + +This patch was first tested in a multiseat setup with multiple +video cards and works quite well. + +I suppose it can also make things like DontVTSwitch and -sharevts +meaningless for non-seat0 seats, so it may fix bug #69477, too. + +Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71258 + https://bugs.freedesktop.org/show_bug.cgi?id=69477 (maybe) + +See also: http://lists.x.org/archives/xorg-devel/2013-October/038391.html + https://bugzilla.redhat.com/show_bug.cgi?id=1018196 + +Signed-off-by: Hans de Goede +--- +diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c +index 91ec4c8..1e95061 100644 +--- a/hw/xfree86/common/xf86Init.c ++++ b/hw/xfree86/common/xf86Init.c +@@ -544,7 +544,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) + if (NEED_IO_ENABLED(flags)) + want_hw_access = TRUE; + +- if (!(flags & HW_SKIP_CONSOLE)) ++ /* Non-seat0 X servers should not open console */ ++ if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0()) + xorgHWOpenConsole = TRUE; + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 5ed7365..ec159af 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Dec 16 11:56:23 UTC 2013 - lbsousajr@gmail.com + +- Add u_keep_non_seat0_x_server_from_touching_vts.patch + * See: http://cgit.freedesktop.org/~jwrdegoede/xserver/commit/?id=405e2805d3903a8a631f01924593a227c634f05d + * Pull request to main xserver git tree scheduled after 1.15 release + ------------------------------------------------------------------- Thu Dec 12 14:57:15 UTC 2013 - msrb@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index dbd4e49..d78c5b7 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -134,6 +134,7 @@ Patch106: u_exa-only-draw-valid-trapezoids.patch Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch Patch222: b_sync-fix.patch +Patch223: u_keep_non_seat0_x_server_from_touching_vts.patch %description This package contains the X.Org Server. @@ -210,6 +211,8 @@ cp %{SOURCE90} . ### patch222 might not be applicable anymore #%patch222 -p1 +%patch223 -p1 + %build autoreconf -fi %configure CFLAGS="%{optflags} -fno-strict-aliasing" \