diff options
6 files changed, 60 insertions, 105 deletions
diff --git a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch deleted file mode 100644 index 9daadf6..0000000 --- a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001 -From: David Herrmann <dh.herrmann@gmail.com> -Date: Mon, 22 Jun 2015 21:13:05 +0200 -Subject: 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 <hdegoede@redhat.com> -Cc: Keith Packard <keithp@keithp.com> -Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com> -Signed-off-by: David Herrmann <dh.herrmann@gmail.com> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> -Tested-by: Hans de Goede <hdegoede@redhat.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> - -diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c -index 69e2f67..2612d9e 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 --- -cgit v0.10.2 - diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD index 7f0e9d5..f560aca 100644 --- a/abs/core/xorg-server/PKGBUILD +++ b/abs/core/xorg-server/PKGBUILD @@ -4,8 +4,8 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.18.0 -pkgrel=4 +pkgver=1.18.3 +pkgrel=2 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -20,25 +20,22 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run xvfb-run.1 - 0001-systemd-logind-do-not-rely-on-directed-signals.patch - v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch - xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch - Xwrapper.config) + Xwrapper.config + call-eglBindAPI-after-eglInitialize.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A6900000011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') +sha256sums=('ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd' + 'SKIP' + 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' + '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' + 'b69ea4a8362b720aee65064534038e33ff8aa558437bcb619d1173f7e8ad3444' + '45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d') prepare() { cd "${pkgbase}-${pkgver}" - # fix VT switching with kdbus; from upstream - patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch - # fix xorg only working with root FS#47061 - patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch - # disable debugging glamor messages in xorg log file - patch -Np1 -i ../xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch - - autoreconf -fvi + patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch } build() { @@ -123,7 +120,7 @@ package_xorg-server() { # distro specific files must be installed in /usr/share/X11/xorg.conf.d install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" - + # LinHES Xwrapper.config install -m644 "${srcdir}/Xwrapper.config" "${pkgdir}/etc/X11/Xwrapper.config" @@ -227,11 +224,3 @@ package_xorg-server-devel() { install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel" ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING" } -md5sums=('3c1c1057d3ad27380d8dd87ffcc182cd' - 'SKIP' - '52fd3effd80d7bc6c1660d4ecf23d31c' - '376c70308715cd2643f7bff936d9934b' - 'bea02fd837ba756456bf14ed51ff36c8' - 'ea8214d68150f3819eb049326b275f43' - 'dc9eda462a8d83413d3edd2e7b9669f6' - 'e3d31449c79ce49a748a678463ea3f20') diff --git a/abs/core/xorg-server/__changelog b/abs/core/xorg-server/__changelog index 1d44956..2b2e6fe 100644 --- a/abs/core/xorg-server/__changelog +++ b/abs/core/xorg-server/__changelog @@ -1,4 +1,3 @@ -placeholder to prevent auto update. PKGBUILD - Change configure options: --disable-systemd-logind \ --enable-install-setuid \ diff --git a/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch b/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch new file mode 100644 index 0000000..09773a2 --- /dev/null +++ b/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch @@ -0,0 +1,48 @@ +diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c +index 4bcd3ce..16a20a7 100644 +--- a/glamor/glamor_egl.c ++++ b/glamor/glamor_egl.c +@@ -770,11 +770,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + + glamor_egl->has_gem = glamor_egl_check_has_gem(fd); + +-#ifndef GLAMOR_GLES2 +- eglBindAPI(EGL_OPENGL_API); +-#else +- eglBindAPI(EGL_OPENGL_ES_API); +-#endif + if (!eglInitialize + (glamor_egl->display, &glamor_egl->major, &glamor_egl->minor)) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n"); +@@ -782,6 +777,12 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + goto error; + } + ++#ifndef GLAMOR_GLES2 ++ eglBindAPI(EGL_OPENGL_API); ++#else ++ eglBindAPI(EGL_OPENGL_ES_API); ++#endif ++ + version = eglQueryString(glamor_egl->display, EGL_VERSION); + xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version); + +diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c +index ad66cf6..73ccd71 100644 +--- a/hw/xwayland/xwayland-glamor.c ++++ b/hw/xwayland/xwayland-glamor.c +@@ -298,12 +298,13 @@ xwl_drm_init_egl(struct xwl_screen *xwl_screen) + return; + } + +- eglBindAPI(EGL_OPENGL_API); + if (!eglInitialize(xwl_screen->egl_display, &major, &minor)) { + ErrorF("eglInitialize() failed\n"); + return; + } + ++ eglBindAPI(EGL_OPENGL_API); ++ + version = eglQueryString(xwl_screen->egl_display, EGL_VERSION); + ErrorF("glamor: EGL version %s:\n", version); + diff --git a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch b/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch deleted file mode 100644 index 220c5bb..0000000 --- a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c -index 4c37cfc..d930962 100644 ---- a/hw/xfree86/xorg-wrapper.c -+++ b/hw/xfree86/xorg-wrapper.c -@@ -24,6 +24,7 @@ - */ - - #include "dix-config.h" -+#include "xorg-config.h" - - #include <errno.h> - #include <fcntl.h> diff --git a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch b/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch deleted file mode 100644 index 41a67c7..0000000 --- a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/glamor/glamor.c b/glamor/glamor.c -index 116d10c..81aba2d 100644 ---- a/glamor/glamor.c -+++ b/glamor/glamor.c -@@ -393,6 +393,9 @@ glamor_setup_debug_output(ScreenPtr screen) - return; - - glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); -+ /* Disable debugging messages other than GL API errors */ -+ glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, -+ GL_FALSE); - glDebugMessageControl(GL_DEBUG_SOURCE_API, - GL_DEBUG_TYPE_ERROR, - GL_DONT_CARE, |