diff --git a/U_kdrive-UnregisterFd-Fix-off-by-one.patch b/U_kdrive-UnregisterFd-Fix-off-by-one.patch deleted file mode 100644 index 242291f..0000000 --- a/U_kdrive-UnregisterFd-Fix-off-by-one.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Egbert Eich -Date: Tue Nov 24 16:10:08 2015 +0100 -Subject: [PATCH]kdrive/UnregisterFd: Fix off by one -Patch-mainline: to be upstreamed - -References: boo#867483 -Signed-off-by: Egbert Eich - -The number of FDs has been decremented already, therefore this -number contains the index of the top one that is to me moved down. - -Signed-off-by: Egbert Eich ---- - hw/kdrive/src/kinput.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c -index a539ca5..d28bbe0 100644 ---- a/hw/kdrive/src/kinput.c -+++ b/hw/kdrive/src/kinput.c -@@ -221,7 +221,7 @@ KdUnregisterFd(void *closure, int fd, Bool do_close) - if (do_close) - close(kdInputFds[i].fd); - kdNumInputFds--; -- for (j = i; j < (kdNumInputFds - 1); j++) -+ for (j = i; j < kdNumInputFds; j++) - kdInputFds[j] = kdInputFds[j + 1]; - break; - } diff --git a/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch b/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch deleted file mode 100644 index 2312dac..0000000 --- a/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch +++ /dev/null @@ -1,61 +0,0 @@ -From fe8562f5316d8c74ca074ad145295c65ddff5fc2 Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith -Date: Fri, 1 Jan 2016 18:10:08 -0800 -Subject: [PATCH] modesetting should not reference gbm when it's not defined - -Fixes build errors of: -present.c: In function 'ms_do_pageflip': -present.c:410:17: error: 'drmmode_bo' has no member named 'gbm' - new_front_bo.gbm = glamor_gbm_bo_from_pixmap(screen, new_front); - ^ -present.c:412:22: error: 'drmmode_bo' has no member named 'gbm' - if (!new_front_bo.gbm) { - ^ -present.c: In function 'ms_present_check_flip': -present.c:536:36: error: 'drmmode_bo' has no member named 'gbm' - if (drmmode_crtc->rotate_bo.gbm) - ^ -Introduced by commit 13c7d53d - -Reviewed-by: Adam Jackson -Signed-off-by: Alan Coopersmith ---- - hw/xfree86/drivers/modesetting/present.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/hw/xfree86/drivers/modesetting/present.c b/hw/xfree86/drivers/modesetting/present.c -index bb2976b..d65c8c8 100644 ---- a/hw/xfree86/drivers/modesetting/present.c -+++ b/hw/xfree86/drivers/modesetting/present.c -@@ -398,6 +398,9 @@ ms_do_pageflip(ScreenPtr screen, - int ref_crtc_vblank_pipe, - Bool async) - { -+#ifndef GLAMOR_HAS_GBM -+ return FALSE; -+#else - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - modesettingPtr ms = modesettingPTR(scrn); - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); -@@ -505,6 +508,7 @@ error_out: - flipdata->flip_count--; - - return FALSE; -+#endif /* GLAMOR_HAS_GBM */ - } - - /* -@@ -533,8 +537,10 @@ ms_present_check_flip(RRCrtcPtr crtc, - drmmode_crtc_private_ptr drmmode_crtc = config->crtc[i]->driver_private; - - /* Don't do pageflipping if CRTCs are rotated. */ -+#ifdef GLAMOR_HAS_GBM - if (drmmode_crtc->rotate_bo.gbm) - return FALSE; -+#endif - - if (ms_crtc_on(config->crtc[i])) - num_crtcs_on++; --- -2.6.2 - diff --git a/U_systemd-logind-do-not-rely-on-directed-signals.patch b/U_systemd-logind-do-not-rely-on-directed-signals.patch deleted file mode 100644 index 8197e10..0000000 --- a/U_systemd-logind-do-not-rely-on-directed-signals.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 22 Jun 2015 21:13:05 +0200 -Subject: [PATCH] systemd-logind: do not rely on directed signals - -Right now, Xorg does not install DBus matches for "PauseDevice" / -"ResumeDevice". Therefore, it should usually not receive those DBus -signals from logind. It is just a coincidence that systemd-logind sends -those signals in a directed manner right now. Therefore, dbus-daemon -bypasses the broadcast matches. - -However, this is not ABI and Xorg should not rely on this. systemd-logind -is free to send those signals as broadcasts, in which case Xorg will -freeze the VT. Fix this by always installing those matches. - -Cc: Hans de Goede -Cc: Keith Packard -Reported-by: Jan Alexander Steffens -Signed-off-by: David Herrmann -Reviewed-by: Hans de Goede -Tested-by: Hans de Goede -Signed-off-by: Hans de Goede ---- - hw/xfree86/os-support/linux/systemd-logind.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c -index 69e2f673d4bb..2612d9e23bc4 100644 ---- a/hw/xfree86/os-support/linux/systemd-logind.c -+++ b/hw/xfree86/os-support/linux/systemd-logind.c -@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data) - goto cleanup; - } - -+ dbus_bus_add_match(connection, -+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'", -+ &error); -+ if (dbus_error_is_set(&error)) { -+ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", -+ error.message); -+ goto cleanup; -+ } -+ -+ dbus_bus_add_match(connection, -+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'", -+ &error); -+ if (dbus_error_is_set(&error)) { -+ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n", -+ error.message); -+ goto cleanup; -+ } -+ - /* - * HdG: This is not useful with systemd <= 208 since the signal only - * contains invalidated property names there, rather than property, val --- -2.4.6 - diff --git a/ux_xserver_xvfb-randr.patch b/ux_xserver_xvfb-randr.patch deleted file mode 100644 index b74afe4..0000000 --- a/ux_xserver_xvfb-randr.patch +++ /dev/null @@ -1,192 +0,0 @@ -Author: Lambros Lambrou -Subject: xvfb: add randr support -Patch-Mainline: To be upstreamed -References: bnc#823410 fdo#26391 -Signed-off-by: Michal Srb - ---- a/hw/vfb/InitOutput.c -+++ b/hw/vfb/InitOutput.c -@@ -66,6 +66,7 @@ - #include "dix.h" - #include "miline.h" - #include "glx_extinit.h" -+#include "randrstr.h" - - #define VFB_DEFAULT_WIDTH 1280 - #define VFB_DEFAULT_HEIGHT 1024 -@@ -812,6 +813,165 @@ - } - - static Bool -+vfbRROutputValidateMode(ScreenPtr pScreen, -+ RROutputPtr output, -+ RRModePtr mode) -+{ -+ rrScrPriv(pScreen); -+ -+ if (pScrPriv->minWidth <= mode->mode.width && -+ pScrPriv->maxWidth >= mode->mode.width && -+ pScrPriv->minHeight <= mode->mode.height && -+ pScrPriv->maxHeight >= mode->mode.height) -+ return TRUE; -+ else -+ return FALSE; -+} -+ -+static Bool -+vfbRRScreenSetSize(ScreenPtr pScreen, -+ CARD16 width, -+ CARD16 height, -+ CARD32 mmWidth, -+ CARD32 mmHeight) -+{ -+ WindowPtr root = pScreen->root; -+ WindowPtr layer; -+ WindowPtr child; -+ BoxRec box; -+ -+ pScreen->width = width; -+ pScreen->height = height; -+ pScreen->mmWidth = mmWidth; -+ pScreen->mmHeight = mmHeight; -+ -+ // Resize the root window & adjust its clipping -+ box.x1 = 0; -+ box.y1 = 0; -+ box.x2 = pScreen->width; -+ box.y2 = pScreen->height; -+ REGION_INIT(pScreen, &root->winSize, &box, 1); -+ REGION_INIT(pScreen, &root->borderSize, &box, 1); -+ REGION_RESET(pScreen, &root->borderClip, &box); -+ root->drawable.width = pScreen->width; -+ root->drawable.height = pScreen->height; -+ REGION_BREAK (pScreen, &root->clipList); -+ -+ // Update the clipping regions of all windows -+ for (child = root->firstChild; child; child = child->nextSib) -+ (*pScreen->MarkOverlappedWindows)(child, child, &layer); -+ -+ if (root->firstChild) -+ { -+ (*pScreen->MarkOverlappedWindows)(root->firstChild, -+ root->firstChild, -+ (WindowPtr *)NULL); -+ } -+ else -+ { -+ (*pScreen->MarkWindow) (root); -+ } -+ -+ (*pScreen->ValidateTree)(root, NullWindow, VTOther); -+ (*pScreen->HandleExposures)(root); -+ -+ // Reposition top-level windows to fit new root size -+ // XXX I assume this is what it does, but I'm not sure -+ ResizeChildrenWinSize (root, 0, 0, 0, 0); -+ -+ -+ // Check the pointer position -+ WindowsRestructured (); -+ -+ RRScreenSizeNotify (pScreen); -+ RRTellChanged(pScreen); -+ -+ // Flush resulting events, etc to clients -+ FlushAllOutput (); -+ -+ return TRUE; -+} -+ -+static Bool -+vfbRRCrtcSet(ScreenPtr pScreen, -+ RRCrtcPtr crtc, -+ RRModePtr mode, -+ int x, -+ int y, -+ Rotation rotation, -+ int numOutput, -+ RROutputPtr *outputs) -+{ -+ return RRCrtcNotify(crtc, mode, x, y, rotation, NULL, numOutput, outputs); -+} -+ -+static Bool -+vfbRRGetInfo(ScreenPtr pScreen, Rotation *rotations) -+{ -+ return TRUE; -+} -+ -+static Bool -+vfbRandRInit(ScreenPtr pScreen) -+{ -+ rrScrPrivPtr pScrPriv; -+#if RANDR_12_INTERFACE -+ RRModePtr mode; -+ RRCrtcPtr crtc; -+ RROutputPtr output; -+ xRRModeInfo modeInfo; -+ char name[64]; -+#endif -+ -+ if (!RRScreenInit (pScreen)) -+ return FALSE; -+ pScrPriv = rrGetScrPriv(pScreen); -+ pScrPriv->rrGetInfo = vfbRRGetInfo; -+#if RANDR_12_INTERFACE -+ pScrPriv->rrCrtcSet = vfbRRCrtcSet; -+ pScrPriv->rrScreenSetSize = vfbRRScreenSetSize; -+ pScrPriv->rrOutputSetProperty = NULL; -+#if RANDR_13_INTERFACE -+ pScrPriv->rrOutputGetProperty = NULL; -+#endif -+ pScrPriv->rrOutputValidateMode = vfbRROutputValidateMode; -+ pScrPriv->rrModeDestroy = NULL; -+ -+ RRScreenSetSizeRange (pScreen, -+ 1, 1, -+ pScreen->width, pScreen->height); -+ -+ sprintf (name, "%dx%d", pScreen->width, pScreen->height); -+ memset (&modeInfo, '\0', sizeof (modeInfo)); -+ modeInfo.width = pScreen->width; -+ modeInfo.height = pScreen->height; -+ modeInfo.nameLength = strlen (name); -+ -+ mode = RRModeGet (&modeInfo, name); -+ if (!mode) -+ return FALSE; -+ -+ crtc = RRCrtcCreate (pScreen, NULL); -+ if (!crtc) -+ return FALSE; -+ -+ output = RROutputCreate (pScreen, "screen", 6, NULL); -+ if (!output) -+ return FALSE; -+ if (!RROutputSetClones (output, NULL, 0)) -+ return FALSE; -+ if (!RROutputSetModes (output, &mode, 1, 0)) -+ return FALSE; -+ if (!RROutputSetCrtcs (output, &crtc, 1)) -+ return FALSE; -+ if (!RROutputSetConnection (output, RR_Connected)) -+ return FALSE; -+ RRCrtcNotify (crtc, mode, 0, 0, RR_Rotate_0, NULL, 1, &output); -+#endif -+ return TRUE; -+} -+ -+static Bool - vfbScreenInit(ScreenPtr pScreen, int argc, char **argv) - { - vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; -@@ -885,6 +1045,9 @@ - if (!ret) - return FALSE; - -+ if (!vfbRandRInit(pScreen)) -+ return FALSE; -+ - pScreen->InstallColormap = vfbInstallColormap; - - pScreen->SaveScreen = vfbSaveScreen; diff --git a/xorg-server-1.18.0.tar.bz2 b/xorg-server-1.18.0.tar.bz2 deleted file mode 100644 index e55cf41..0000000 --- a/xorg-server-1.18.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:195670819695d9cedd8dde95fbe069be0d0f488a77797a2d409f9f702daf312e -size 5818703 diff --git a/xorg-server-1.18.1.tar.bz2 b/xorg-server-1.18.1.tar.bz2 new file mode 100644 index 0000000..102a017 --- /dev/null +++ b/xorg-server-1.18.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85ec56dbeb89a951295cdf4f39bf38e515f900d35e06d4a8081b114d1520789d +size 5846953 diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 2663d54..12eee6f 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Tue Feb 9 20:55:28 UTC 2016 - tobias.johannes.klausmann@mni.thm.de + +- Update to version 1.18.1: + First release in the 1.18 stable branch. Major themes are bugfixes in + glamor, the modesetting driver, and the Present extension. + + Xwayland users may want to apply the following pair of patches in + addition to this release: + + https://patchwork.freedesktop.org/patch/72945/raw/ + https://patchwork.freedesktop.org/patch/72951/raw/ + + which combined fix an input issue when hotplugging monitors. Both are + likely to be included in a future release unless testing discovers + further problems. + +- Remove upstreamed patches: + + ux_xserver_xvfb-randr.patch + + U_systemd-logind-do-not-rely-on-directed-signals.patch + + U_kdrive-UnregisterFd-Fix-off-by-one.patch + + U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch + ------------------------------------------------------------------- Fri Jan 15 16:25:36 UTC 2016 - eich@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 61c1b5c..33e38e9 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -26,7 +26,7 @@ Name: xorg-x11-server -%define dirsuffix 1.18.0 +%define dirsuffix 1.18.1 Summary: X License: MIT @@ -167,7 +167,6 @@ Patch101: u_confine_to_shape.diff # PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions Patch102: u_x86emu-include-order.patch Patch104: u_xorg-server-xdmcp.patch -Patch105: ux_xserver_xvfb-randr.patch # PATCH-FIX-UPSTREAM u_exa-only-draw-valid-trapezoids.patch bnc#853846 msrb@suse.com -- Fixes possible crash of server using invalid trapezoids. 2013-12-12 patch is waiting in mailing list to be upstreamed. Patch106: u_exa-only-draw-valid-trapezoids.patch Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch @@ -179,10 +178,7 @@ Patch117: xorg-x11-server-byte-order.patch Patch160: u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch -Patch204: U_systemd-logind-do-not-rely-on-directed-signals.patch -Patch205: U_kdrive-UnregisterFd-Fix-off-by-one.patch Patch206: u_busfault_sigaction-Only-initialize-pointer-when-matched.patch -Patch207: U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch Patch208: u_Panning-Set-panning-state-in-xf86RandR12ScreenSetSize.patch Patch1000: n_xserver-optimus-autoconfig-hack.patch @@ -274,7 +270,6 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch101 %patch102 -p1 %patch104 -p1 -%patch105 -p1 %patch106 -p1 %patch112 -p1 @@ -286,10 +281,7 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch160 -p1 -%patch204 -p1 -%patch205 -p1 %patch206 -p1 -%patch207 -p1 %patch208 -p1 %patch1000 -p1