From: Grazvydas Ignotas Date: Thu, 1 May 2014 22:46:35 +0000 (+0300) Subject: xserver-xorg_1.7.7: add recipe with refined hacks X-Git-Tag: sz_173~162 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37cbe635073a0554b8e3ad8e5c4d13d4653da6da;p=openembedded.git xserver-xorg_1.7.7: add recipe with refined hacks --- diff --git a/recipes/xorg-xserver/xserver-xorg-1.7.7/hack-assume-pixman-supports-overlapped-blt.patch b/recipes/xorg-xserver/xserver-xorg-1.7.7/hack-assume-pixman-supports-overlapped-blt.patch new file mode 100644 index 0000000000..a947582f15 --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg-1.7.7/hack-assume-pixman-supports-overlapped-blt.patch @@ -0,0 +1,14 @@ +diff --git a/fb/fbcopy.c b/fb/fbcopy.c +index 07eb663..ba394b7 100644 +--- a/fb/fbcopy.c ++++ b/fb/fbcopy.c +@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, + while (nbox--) + { + #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ +- if (pm == FB_ALLONES && alu == GXcopy && !reverse && +- !upsidedown) ++ if (pm == FB_ALLONES && alu == GXcopy) + { + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (pbox->x1 + dx + srcXoff), diff --git a/recipes/xorg-xserver/xserver-xorg-1.7.7/pnd-inputswitch-perf-hack.patch b/recipes/xorg-xserver/xserver-xorg-1.7.7/pnd-inputswitch-perf-hack.patch new file mode 100644 index 0000000000..12eca450d7 --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg-1.7.7/pnd-inputswitch-perf-hack.patch @@ -0,0 +1,25 @@ +diff -ur xorg-server-1.7.7_orig/xkb/xkbUtils.c xorg-server-1.7.7/xkb/xkbUtils.c +--- xorg-server-1.7.7_orig/xkb/xkbUtils.c 2014-05-02 00:17:59.955721525 +0300 ++++ xorg-server-1.7.7/xkb/xkbUtils.c 2014-05-02 01:39:59.727909694 +0300 +@@ -2092,12 +2092,21 @@ + Bool + XkbCopyDeviceKeymap(DeviceIntPtr dst, DeviceIntPtr src) + { ++ static int had_pnd_internal_dev; ++ int is_pnd_internal_dev; + xkbNewKeyboardNotify nkn; + Bool ret; + + if (!dst->key || !src->key) + return FALSE; + ++ /* pnd hack: avoid perf penalty for switching between gpio-keys/keypad */ ++ is_pnd_internal_dev = src->name != NULL && ++ (!strcmp(src->name, "keypad") || !strcmp(src->name, "gpio-keys")); ++ if (had_pnd_internal_dev == is_pnd_internal_dev) ++ return XkbCopyKeymap(dst->key->xkbInfo->desc, src->key->xkbInfo->desc); ++ had_pnd_internal_dev = is_pnd_internal_dev; ++ + memset(&nkn, 0, sizeof(xkbNewKeyboardNotify)); + nkn.oldMinKeyCode = dst->key->xkbInfo->desc->min_key_code; + nkn.oldMaxKeyCode = dst->key->xkbInfo->desc->max_key_code; diff --git a/recipes/xorg-xserver/xserver-xorg-1.7.7/sysroot_fix.patch b/recipes/xorg-xserver/xserver-xorg-1.7.7/sysroot_fix.patch new file mode 100644 index 0000000000..b7eb19880a --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg-1.7.7/sysroot_fix.patch @@ -0,0 +1,13 @@ +diff -ur xorg-server-1.7.7_orig/xorg-server.m4 xorg-server-1.7.7/xorg-server.m4 +--- xorg-server-1.7.7_orig/xorg-server.m4 2014-05-02 00:17:54.275721330 +0300 ++++ xorg-server-1.7.7/xorg-server.m4 2014-05-02 00:18:59.671723716 +0300 +@@ -31,7 +31,7 @@ + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS `pkg-config --cflags xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 +Only in xorg-server-1.7.7_orig: .xorg-server.m4.swp diff --git a/recipes/xorg-xserver/xserver-xorg-1.7.7/xorg-kill-ugly-pattern.patch b/recipes/xorg-xserver/xserver-xorg-1.7.7/xorg-kill-ugly-pattern.patch new file mode 100644 index 0000000000..11acec9fb8 --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg-1.7.7/xorg-kill-ugly-pattern.patch @@ -0,0 +1,16 @@ +Remove the default root window grey stipple pattern, replacing it with +blackness. + +--- xc/dix/window.c.die-ugly-pattern-die-die-die Tue Feb 12 16:33:04 2002 ++++ xc/dix/window.c Tue Feb 12 16:45:32 2002 +@@ -119,8 +119,8 @@ + * + ******/ + +-static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11}; +-static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88}; ++static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00}; ++static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00}; + + int screenIsSaved = SCREEN_SAVER_OFF; + diff --git a/recipes/xorg-xserver/xserver-xorg_1.7.7.bb b/recipes/xorg-xserver/xserver-xorg_1.7.7.bb new file mode 100644 index 0000000000..fe873872f1 --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg_1.7.7.bb @@ -0,0 +1,37 @@ +require xorg-xserver-common.inc + +DESCRIPTION = "the X.Org X server" +DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts" +PE = "2" +PR = "${INC_PR}.2" + +SRC_URI = " http://xorg.freedesktop.org/archive/individual/xserver/${XORG_PN}-${PV}.tar.bz2;name=archive \ + file://sysroot_fix.patch;patch=1 \ + file://dolt-fix-1.7.0.patch;patch=1 \ + file://randr-support-1.7.0.patch;patch=1 \ + file://hack-fbdev-ignore-return-mode.patch;patch=1 \ + " + +SRC_URI_append_angstrom = " file://hack-assume-pixman-supports-overlapped-blt.patch;patch=1" +SRC_URI_append_shr = " file://hack-assume-pixman-supports-overlapped-blt.patch;patch=1" + +# OpenPandora HACK! - Temp! - Do NOT put into mainline. +SRC_URI_append_omap3-pandora = " \ + file://pnd-inputswitch-perf-hack.patch;patch=1 \ + file://xorg-kill-ugly-pattern.patch;patch=1 \ +" + +do_install_prepend() { + mkdir -p ${D}/${libdir}/X11/fonts +} + +# The NVidia driver requires Xinerama support in the X server. Ion uses it. +XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" + +EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" +EXTRA_OECONF += " --disable-glx-tls --enable-dri2 --disable-unit-tests " + +export LDFLAGS += " -ldl " + +SRC_URI[archive.md5sum] = "8c0146330fb155c23d947ac37d431d4b" +SRC_URI[archive.sha256sum] = "54c4d32bfeb8852adbea3ddae6981f3bc2eadb330124d9b35226c617c01926ff"