diff options
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | call-eglBindAPI-after-eglInitialize.patch | 48 |
3 files changed, 59 insertions, 9 deletions
@@ -1,6 +1,6 @@ pkgbase = xorg-server-dev pkgver = 1.18.3 - pkgrel = 1 + pkgrel = 2 url = http://xorg.freedesktop.org arch = i686 arch = x86_64 @@ -4,7 +4,7 @@ _pkgbase=xorg-server pkgname=('xorg-server-dev' 'xorg-server-xephyr-dev' 'xorg-server-xdmx-dev' 'xorg-server-xvfb-dev' 'xorg-server-xnest-dev' 'xorg-server-xwayland-dev' 'xorg-server-common-dev' 'xorg-server-devel-dev') pkgver=1.18.3 # http://lists.x.org/archives/xorg/2016-April/057993.html -pkgrel=1 +pkgrel=2 # https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xorg-server&id=cd174c4fbc38ec316dc6ad7fcb4709516fed8389 arch=('i686' 'x86_64') license=('custom') groups=('xorg') @@ -18,21 +18,23 @@ makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtra 'libxshmfence' 'libunwind') source=(${url}/releases/individual/xserver/${_pkgbase}-${pkgver}.tar.bz2{,.sig} xvfb-run - xvfb-run.1) + xvfb-run.1 + call-eglBindAPI-after-eglInitialize.patch) validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' 'C383B778255613DFDB409D91DB221A6900000011' 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') sha256sums=('ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd' 'SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' - '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776') + '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' + '45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d') -# prepare() { - # cd "${_pkgbase}-${pkgver}" +prepare() { + cd "${_pkgbase}-${pkgver}" - # msg2 "Fix red tint in Firefox" - # patch -Np1 -i ../0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch -# } + msg2 "Fix glamor failing to initialize with mesa + patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch +} build() { cd "${_pkgbase}-${pkgver}" diff --git a/call-eglBindAPI-after-eglInitialize.patch b/call-eglBindAPI-after-eglInitialize.patch new file mode 100644 index 000000000000..09773a2200f2 --- /dev/null +++ b/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); + |