Accepting request 233726 from home:tobijk:X11:XOrg

update to newer snapshot

OBS-URL: https://build.opensuse.org/request/show/233726
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=515
This commit is contained in:
Stefan Dirsch 2014-05-13 13:54:02 +00:00 committed by Git OBS Bridge
parent a29b6ab496
commit f4d8ffce9b
10 changed files with 22 additions and 383 deletions

View File

@ -1,12 +0,0 @@
--- configure.ac_orig 2014-04-28 01:51:17.419311470 +0200
+++ configure.ac 2014-04-28 01:52:25.842088562 +0200
@@ -2458,7 +2458,8 @@
XWAYLAND_SYS_LIBS="$XWAYLANDMODULES_LIBS $GLX_SYS_LIBS"
AC_SUBST([XWAYLAND_LIBS])
AC_SUBST([XWAYLAND_SYS_LIBS])
- WAYLAND_SCANNER_RULES(['$(top_srcdir)/hw/xwayland'])
+ m4_ifdef([WAYLAND_SCANNER_RULES],
+ [WAYLAND_SCANNER_RULES(['$(top_srcdir)/hw/xwayland'])])
fi

View File

@ -16,8 +16,8 @@ Index: xorg-server-1.14.3/hw/xfree86/int10/xf86x86emu.c
-#include <x86emu.h>
#include "xf86.h"
#include "compiler.h"
#include "xf86_OSproc.h"
#include "xf86Pci.h"
@@ -15,6 +14,7 @@
#define _INT10_PRIVATE
#include "xf86int10.h"

View File

@ -1,242 +0,0 @@
From c29952e77111d6da1ab12957f0207d59ae14c809 Mon Sep 17 00:00:00 2001
From: Oleg Samarin <osamarin68@gmail.com>
Date: Thu, 3 Apr 2014 09:16:52 -0300
Subject: [PATCH v2 2/3] xfree86: add new key MatchSeat to xorg.conf sections
"Device", "Screen", and "ServerLayout"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch introduces a new key MatchSeat in xorg.conf (also applies to
any .conf file in xorg.conf.d). It will allow targeting a given
"Device", "Screen", and/or "ServerLayout" section to a particular
seat only (specified by option "-seat" in X server command line),
so that other seats won't be affected.
Without this patch, one needs to write a separate xorg.conf.custom
file and pass it to X server via "-config" option, if one wants that
these settings only apply for the right seat. However, in some cases,
this solution is undesirable or even impossible (e.g. when using GDM,
which doesn't allow X server command line customization).
Example file (/etc/X11/xorg.conf.d/seat1.conf), which would be ignored
by X server unless it was started with "-seat seat1" option:
Section "Device"
Identifier "card0"
Driver "nvidia"
Option "NoLogo" "True"
MatchSeat "seat1"
EndSection
Signed-off-by: Oleg Samarin <osamarin68@gmail.com>
Signed-off-by: Laércio de Sousa <lbsousajr@gmail.com>
---
hw/xfree86/common/xf86Config.c | 34 +++++++++++++++++++++++++---------
hw/xfree86/parser/Device.c | 6 ++++++
hw/xfree86/parser/Layout.c | 6 ++++++
hw/xfree86/parser/Screen.c | 6 ++++++
hw/xfree86/parser/xf86Parser.h | 3 +++
hw/xfree86/parser/xf86tokens.h | 1 +
6 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 542d5ab..5d17567 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -232,6 +232,17 @@ xf86ValidateFontPath(char *path)
return tmp_path;
}
+#define FIND_SUITABLE(pointertype, listhead, ptr) \
+ { \
+ pointertype l, p; \
+ \
+ for (l = listhead, p = NULL; !p && l; l = (pointertype) l->list.next) { \
+ if (! l->match_seat || SeatId && xf86nameCompare(l->match_seat, SeatId) == 0) \
+ p = l; \
+ } \
+ ptr = p; \
+ }
+
/*
* use the datastructure that the parser provides and pick out the parts
* that we need at this point
@@ -1580,8 +1591,11 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
* config file, or - if it is NULL - configScreen autogenerates one for
* us */
if (!count) {
+ XF86ConfScreenPtr screen;
+
+ FIND_SUITABLE (XF86ConfScreenPtr, xf86configptr->conf_screen_lst, screen);
slp[0].screen = xnfcalloc(1, sizeof(confScreenRec));
- if (!configScreen(slp[0].screen, xf86configptr->conf_screen_lst,
+ if (!configScreen(slp[0].screen, screen,
0, X_CONFIG)) {
free(slp[0].screen);
free(slp);
@@ -1821,7 +1835,7 @@ configScreen(confScreenPtr screenp, XF86ConfScreenPtr conf_screen, int scrnum,
* set it to NULL so that the section can be autoconfigured later */
screenp->device = xnfcalloc(1, sizeof(GDevRec));
if ((!conf_screen->scrn_device) && (xf86configptr->conf_device_lst)) {
- conf_screen->scrn_device = xf86configptr->conf_device_lst;
+ FIND_SUITABLE (XF86ConfDevicePtr, xf86configptr->conf_device_lst, conf_screen->scrn_device);
xf86Msg(X_DEFAULT, "No device specified for screen \"%s\".\n"
"\tUsing the first device section listed.\n", screenp->id);
}
@@ -2429,14 +2443,19 @@ xf86HandleConfigFile(Bool autoconfig)
*/
/* First check if a layout section is present, and if it is valid. */
+ XF86ConfLayoutPtr layout;
+
+ FIND_SUITABLE(XF86ConfLayoutPtr, xf86configptr->conf_layout_lst, layout);
+ if (layout == NULL || xf86ScreenName != NULL) {
+ XF86ConfScreenPtr screen;
- if (xf86configptr->conf_layout_lst == NULL || xf86ScreenName != NULL) {
if (xf86ScreenName == NULL) {
xf86Msg(X_DEFAULT,
"No Layout section. Using the first Screen section.\n");
}
+ FIND_SUITABLE (XF86ConfScreenPtr, xf86configptr->conf_screen_lst, screen);
if (!configImpliedLayout(&xf86ConfigLayout,
- xf86configptr->conf_screen_lst,
+ screen,
xf86configptr)) {
xf86Msg(X_ERROR, "Unable to determine the screen layout\n");
return CONFIG_PARSE_ERROR;
@@ -2451,16 +2470,13 @@ xf86HandleConfigFile(Bool autoconfig)
if (optlist && xf86FindOption(optlist, "defaultserverlayout"))
dfltlayout =
xf86SetStrOption(optlist, "defaultserverlayout", NULL);
- if (!configLayout
- (&xf86ConfigLayout, xf86configptr->conf_layout_lst,
- dfltlayout)) {
+ if (!configLayout(&xf86ConfigLayout, layout, dfltlayout)) {
xf86Msg(X_ERROR, "Unable to determine the screen layout\n");
return CONFIG_PARSE_ERROR;
}
}
else {
- if (!configLayout(&xf86ConfigLayout, xf86configptr->conf_layout_lst,
- NULL)) {
+ if (!configLayout(&xf86ConfigLayout, layout, NULL)) {
xf86Msg(X_ERROR, "Unable to determine the screen layout\n");
return CONFIG_PARSE_ERROR;
}
diff --git a/hw/xfree86/parser/Device.c b/hw/xfree86/parser/Device.c
index 073171f..d3ac293 100644
--- a/hw/xfree86/parser/Device.c
+++ b/hw/xfree86/parser/Device.c
@@ -71,6 +71,7 @@ xf86ConfigSymTabRec DeviceTab[] = {
{RAMDAC, "ramdac"},
{DACSPEED, "dacspeed"},
{CLOCKS, "clocks"},
+ {MATCHSEAT, "matchseat"},
{OPTION, "option"},
{VIDEORAM, "videoram"},
{BIOSBASE, "biosbase"},
@@ -216,6 +217,11 @@ xf86parseDeviceSection(void)
Error(NUMBER_MSG, "TextClockFreq");
ptr->dev_textclockfreq = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
break;
+ case MATCHSEAT:
+ if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
+ Error(QUOTE_MSG, "MatchSeat");
+ ptr->match_seat = xf86_lex_val.str;
+ break;
case OPTION:
ptr->dev_option_lst = xf86parseOption(ptr->dev_option_lst);
break;
diff --git a/hw/xfree86/parser/Layout.c b/hw/xfree86/parser/Layout.c
index 7be746f..994b31a 100644
--- a/hw/xfree86/parser/Layout.c
+++ b/hw/xfree86/parser/Layout.c
@@ -70,6 +70,7 @@ static xf86ConfigSymTabRec LayoutTab[] = {
{ENDSECTION, "endsection"},
{SCREEN, "screen"},
{IDENTIFIER, "identifier"},
+ {MATCHSEAT, "matchseat"},
{INACTIVE, "inactive"},
{INPUTDEVICE, "inputdevice"},
{OPTION, "option"},
@@ -109,6 +110,11 @@ xf86parseLayoutSection(void)
ptr->lay_identifier = xf86_lex_val.str;
has_ident = TRUE;
break;
+ case MATCHSEAT:
+ if (xf86getSubToken(&(ptr->lay_comment)) != STRING)
+ Error(QUOTE_MSG, "MatchSeat");
+ ptr->match_seat = xf86_lex_val.str;
+ break;
case INACTIVE:
{
XF86ConfInactivePtr iptr;
diff --git a/hw/xfree86/parser/Screen.c b/hw/xfree86/parser/Screen.c
index fecd57c..0e9746a 100644
--- a/hw/xfree86/parser/Screen.c
+++ b/hw/xfree86/parser/Screen.c
@@ -198,6 +198,7 @@ xf86parseDisplaySubSection(void)
static xf86ConfigSymTabRec ScreenTab[] = {
{ENDSECTION, "endsection"},
{IDENTIFIER, "identifier"},
+ {MATCHSEAT, "matchseat"},
{OBSDRIVER, "driver"},
{MDEVICE, "device"},
{MONITOR, "monitor"},
@@ -236,6 +237,11 @@ xf86parseScreenSection(void)
Error(ONLY_ONE_MSG, "Identifier or Driver");
has_ident = TRUE;
break;
+ case MATCHSEAT:
+ if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
+ Error(QUOTE_MSG, "MatchSeat");
+ ptr->match_seat = xf86_lex_val.str;
+ break;
case OBSDRIVER:
if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
Error(QUOTE_MSG, "Driver");
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h
index 8f855ac..c95423a 100644
--- a/hw/xfree86/parser/xf86Parser.h
+++ b/hw/xfree86/parser/xf86Parser.h
@@ -224,6 +224,7 @@ typedef struct {
int dev_screen;
XF86OptionPtr dev_option_lst;
char *dev_comment;
+ char *match_seat;
} XF86ConfDeviceRec, *XF86ConfDevicePtr;
typedef struct {
@@ -275,6 +276,7 @@ typedef struct {
XF86OptionPtr scrn_option_lst;
char *scrn_comment;
int scrn_virtualX, scrn_virtualY;
+ char *match_seat;
} XF86ConfScreenRec, *XF86ConfScreenPtr;
typedef struct {
@@ -366,6 +368,7 @@ typedef struct {
XF86ConfInactivePtr lay_inactive_lst;
XF86ConfInputrefPtr lay_input_lst;
XF86OptionPtr lay_option_lst;
+ char *match_seat;
char *lay_comment;
} XF86ConfLayoutRec, *XF86ConfLayoutPtr;
diff --git a/hw/xfree86/parser/xf86tokens.h b/hw/xfree86/parser/xf86tokens.h
index f751b7b..5c01ce7 100644
--- a/hw/xfree86/parser/xf86tokens.h
+++ b/hw/xfree86/parser/xf86tokens.h
@@ -87,6 +87,7 @@ typedef enum {
VENDOR,
DASH,
COMMA,
+ MATCHSEAT,
OPTION,
COMMENT,
--
1.8.4.5

View File

@ -1,66 +0,0 @@
From 1387d26159b24119903a67ffb226b869729201b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= <lbsousajr@gmail.com>
Date: Thu, 3 Apr 2014 10:20:51 -0300
Subject: [PATCH v2 3/3] xfree86: add short description about MatchSeat key in
xorg.conf man page
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Laércio de Sousa <lbsousajr@gmail.com>
---
hw/xfree86/man/xorg.conf.man | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man
index 85f9f2e..c11372f 100644
--- a/hw/xfree86/man/xorg.conf.man
+++ b/hw/xfree86/man/xorg.conf.man
@@ -1374,6 +1374,14 @@ for the regular text mode.
The frequency is specified in MHz.
This is rarely used.
.TP 7
+.BI "MatchSeat " "seat\-id"
+Only apply this
+.B Device
+section if X server was started with
+.B -seat
+.I seat\-id
+option.
+.TP 7
.BI "Option \*qModeDebug\*q \*q" boolean \*q
Enable printing of additional debugging information about modesetting to
the server log.
@@ -1896,6 +1904,14 @@ The only case where there is even a choice in this value is for depth 24,
where some hardware supports both a packed 24 bit framebuffer layout and a
sparse 32 bit framebuffer layout.
.TP 7
+.BI "MatchSeat " "seat\-id"
+Only apply this
+.B Screen
+section if X server was started with
+.B -seat
+.I seat\-id
+option.
+.TP 7
.B Options
Various
.B Option
@@ -2291,6 +2307,14 @@ and the first two should normally be used to indicate the core pointer
and core keyboard devices respectively.
.RE
.TP 7
+.BI "MatchSeat " "seat\-id"
+Only apply this
+.B ServerLayout
+section if X server was started with
+.B -seat
+.I seat\-id
+option.
+.TP 7
.B Options
In addition to the following, any option permitted in the
.B ServerFlags
--
1.8.4.5

View File

@ -1,49 +0,0 @@
From 04ad4d4010a562a663ee3224b55d2b9c8468bd0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?= <lbsousajr@gmail.com>
Date: Thu, 3 Apr 2014 09:14:36 -0300
Subject: [PATCH v2 1/3] xfree86: allow fallback to PCI bus probe for graphics
devices on non-seat0 X servers (#66851)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Currently non-seat0 X servers only probe platform bus for graphics devices,
which is OK for most KMS-compliant drivers. However, for non-KMS drivers
(like NVIDIA proprietary ones), graphics devices can't be reached
by platform bus probe, resulting in a "No devices detected" error.
This patch allows a fallback to PCI bus probe for non-seat0 X servers
in case no platform bus graphics device is found.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66851
Signed-off-by: Laércio de Sousa <lbsousajr@gmail.com>
---
hw/xfree86/common/xf86Bus.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 507c57d..b3b3f8c 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -81,7 +81,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only)
if (drv->platformProbe != NULL) {
foundScreen = xf86platformProbeDev(drv);
}
- if (ServerIsNotSeat0())
+ if (ServerIsNotSeat0() && foundScreen)
return foundScreen;
#endif
@@ -201,7 +201,7 @@ xf86BusProbe(void)
{
#ifdef XSERVER_PLATFORM_BUS
xf86platformProbe();
- if (ServerIsNotSeat0())
+ if (ServerIsNotSeat0() && xf86_num_platform_devices > 0)
return;
#endif
#ifdef XSERVER_LIBPCIACCESS
--
1.8.4.5

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9f2a6173f132ee74b04de941a895632f7107e45edc1957135c6738c07651b8c
size 3804641

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d491f4193177620a35c2a3f736bac1b40721a5381c2a878334d820380382792
size 3805432

View File

@ -1,4 +1,4 @@
Provides: X11_ABI_XINPUT = 21.0
Provides: X11_ABI_VIDEODRV = 17.0
Provides: X11_ABI_VIDEODRV = 18.0
Provides: X11_ABI_ANSIC = 0.4
Provides: X11_ABI_EXTENSION = 8.0

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Tue May 13 13:19:30 UTC 2014 - tobias.johannes.klausmann@mni.thm.de
- Remove upstreamed patches:
- u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch
(patch108)
- u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch (patch109)
- u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch
(patch110)
-------------------------------------------------------------------
Mon May 5 13:29:21 UTC 2014 - tobias.johannes.klausmann@mni.thm.de
- Remove N_fix_XWAYLAND_SCANNER_undefined.diff
Configure line is gone
-------------------------------------------------------------------
Thu Apr 30 16:43:00 UTC 2014 - lbsousajr@gmail.com

View File

@ -18,7 +18,7 @@
Name: xorg-x11-server
%define dirsuffix 1.15.99.902.2
%define dirsuffix 1.15.99.902.5
Summary: X
License: MIT
@ -138,7 +138,6 @@ Patch2: N_zap_warning_xserver.diff
Patch3: N_driver-autoconfig.diff
Patch4: N_fix_fglrx_screendepth_issue.patch
Patch6: N_fix-dpi-values.diff
Patch7: N_fix_XWAYLAND_SCANNER_undefined.diff
Patch100: u_fbdevhw.diff
Patch101: u_confine_to_shape.diff
@ -151,9 +150,6 @@ Patch105: ux_xserver_xvfb-randr.patch
Patch106: u_exa-only-draw-valid-trapezoids.patch
# PATCH-FIX-UPSTREAM u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch -- sent to ML 2014-02-24
Patch107: u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch
Patch108: u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch
Patch109: u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch
Patch110: u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch
Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch
Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
@ -219,7 +215,6 @@ cp %{SOURCE90} .
%patch3 -p0
%patch4 -p0
%patch6 -p0
%patch7 -p0
#
%patch100
%patch101
@ -229,9 +224,6 @@ cp %{SOURCE90} .
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
### disabled for now
#%patch162 -p1