Accepting request 211037 from home:lbssousa:branches:X11:XOrg

-  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

OBS-URL: https://build.opensuse.org/request/show/211037
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=484
This commit is contained in:
Stefan Dirsch 2013-12-17 14:19:40 +00:00 committed by Git OBS Bridge
parent 3918e2962c
commit 548d7868e7
3 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,45 @@
From 405e2805d3903a8a631f01924593a227c634f05d Mon Sep 17 00:00:00 2001
From: Laércio de Sousa <lbsousajr@gmail.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -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

View File

@ -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" \