commit xorg-x11-server for openSUSE:Factory
Hello community, here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at 2014-05-05 21:11:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old) and /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "xorg-x11-server" Changes: -------- --- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes 2014-04-26 19:35:03.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes 2014-05-05 21:11:20.000000000 +0200 @@ -1,0 +2,21 @@ +Thu Apr 30 16:43:00 UTC 2014 - lbsousajr@gmail.com + +- Add new patches to make non-seat0 X servers work properly with + non-KMS video drivers: + + u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch + + u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch + + u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch + +------------------------------------------------------------------- +Mon Apr 28 09:02:06 UTC 2014 - sndirsch@suse.com + +- added missing pkgconfig(xf86dgaproto) BuildRequires + +------------------------------------------------------------------- +Sun Apr 27 23:55:29 UTC 2014 - stefan.bruens@rwth-aachen.de + +- N_fix_XWAYLAND_SCANNER_undefined.diff + * handle undefined XWAYLAND_SCANNER_RULES in configure; fix + compilation for openSUSE 12.3 + +------------------------------------------------------------------- New: ---- N_fix_XWAYLAND_SCANNER_undefined.diff u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.oTcNZp/_old 2014-05-05 21:11:22.000000000 +0200 +++ /var/tmp/diff_new_pack.oTcNZp/_new 2014-05-05 21:11:22.000000000 +0200 @@ -78,6 +78,7 @@ BuildRequires: pkgconfig(xdmcp) BuildRequires: pkgconfig(xext) >= 1.0.99.4 BuildRequires: pkgconfig(xextproto) >= 7.1.99 +BuildRequires: pkgconfig(xf86dgaproto) BuildRequires: pkgconfig(xf86driproto) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xfont) >= 1.4.2 @@ -137,6 +138,7 @@ 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 @@ -149,6 +151,9 @@ 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 @@ -214,6 +219,7 @@ %patch3 -p0 %patch4 -p0 %patch6 -p0 +%patch7 -p0 # %patch100 %patch101 @@ -223,6 +229,9 @@ %patch105 -p1 %patch106 -p1 %patch107 -p1 +%patch108 -p1 +%patch109 -p1 +%patch110 -p1 ### disabled for now #%patch162 -p1 ++++++ N_fix_XWAYLAND_SCANNER_undefined.diff ++++++ --- 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 ++++++ u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch ++++++
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 ++++++ u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch ++++++
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 ++++++ u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch ++++++
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 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de