From 31aee4c667597df2411aefd05a3d6a729cd5c0f6 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Fri, 21 Feb 2014 14:48:21 -0300 Subject: [PATCH] xserver-xorg: Backport 1.14.4 version Currently Vivante does not provides a valid GL API so Xorg fails to link against it, we cannot workaround it easily in newer Xorg version so instead of maintaining a pile of patches for it we are backporting 1.14.4 version as an interim solution. Change-Id: Ie8c8c002f7c3904abb383f2a1ee6f3dc6ad09e20 Signed-off-by: Otavio Salvador Tested-by: Gary Thomas Tested-by: John Weber --- .../conf/machine/include/imx-base.inc | 3 ++ .../xorg-xserver/xserver-xorg/aarch64.patch | 35 +++++++++++++++++++ .../xserver-xorg/crosscompile.patch | 22 ++++++++++++ .../fix_open_max_preprocessor_error.patch | 15 ++++++++ .../xserver-xorg/macro_tweak.patch | 25 +++++++++++++ .../xserver-xorg/mips64-compiler.patch | 29 +++++++++++++++ .../xorg-xserver/xserver-xorg_1.14.4.bb | 35 +++++++++++++++++++ 7 files changed, 164 insertions(+) create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch create mode 100644 meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb diff --git a/meta-fsl-arm/conf/machine/include/imx-base.inc b/meta-fsl-arm/conf/machine/include/imx-base.inc index 31992380..08d2950a 100644 --- a/meta-fsl-arm/conf/machine/include/imx-base.inc +++ b/meta-fsl-arm/conf/machine/include/imx-base.inc @@ -27,6 +27,9 @@ XSERVER = "xserver-xorg \ xf86-input-evdev \ ${XSERVER_DRIVER}" +# Use an older Xorg version until Vivante provides a valid GL API +PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4" + # Ship kernel modules MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch new file mode 100644 index 00000000..045e24a2 --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch @@ -0,0 +1,35 @@ +Subject: Add AArch64 support to xserver-xorg +Author: Marcin Juszkiewicz + +lnx_video.c parts are not existing in 1.14 branch. + +Xserver was checked in AArch64 fastmodel (commercial one with graphics support). + +http://patchwork.freedesktop.org/patch/12785/ + +Upstream-Status: Pending + +--- + include/servermd.h | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +--- xorg-server-1.13.1.orig/include/servermd.h ++++ xorg-server-1.13.1/include/servermd.h +@@ -243,10 +243,17 @@ SOFTWARE. + #define BITMAP_BIT_ORDER LSBFirst + #define GLYPHPADBYTES 4 + /* ???? */ + #endif /* AMD64 */ + ++#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64) ++#define IMAGE_BYTE_ORDER MSBFirst ++#define BITMAP_BIT_ORDER MSBFirst ++#define GLYPHPADBYTES 4 ++/* ???? */ ++#endif /* AArch64 */ ++ + #if defined(SVR4) && (defined(__i386__) || defined(__i386) ) || \ + defined(__alpha__) || defined(__alpha) || \ + defined(__i386__) || \ + defined(__s390x__) || defined(__s390__) + diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch new file mode 100644 index 00000000..2f98bb8c --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch @@ -0,0 +1,22 @@ +Upstream-Status: Inappropriate [configuration] + +diff --git a/configure.ac b/configure.ac +index b3b752c..600500b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -523,13 +523,9 @@ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, + dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross + dnl compiling, assume default font path uses standard FONTROOTDIR directories. + DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" +-if test "$cross_compiling" != yes; then +- AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], +- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], +- [case $host_os in ++ case $host_os in + darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; +- esac]) +-fi ++ esac + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), + [ FONTPATH="$withval" ], + [ FONTPATH="${DEFAULT_FONT_PATH}" ]) diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch new file mode 100644 index 00000000..2f629724 --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Index: git/os/osdep.h +=================================================================== +--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100 ++++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100 +@@ -92,7 +92,7 @@ + * like sysconf(_SC_OPEN_MAX) is not supported. + */ + +-#if OPEN_MAX <= 256 ++#if 0 + #define MAXSOCKS (OPEN_MAX - 1) + #else + #define MAXSOCKS 256 diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch new file mode 100644 index 00000000..ec0eea6c --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch @@ -0,0 +1,25 @@ +This is the revised version of files/macro_tweak.patch for +xorg-server 1.8.99.904 and newer. + +Upstream-Status: Pending + +Signed-off-by: Yu Ke + +diff --git a/xorg-server.m4 b/xorg-server.m4 +index bdecf62..040fdb8 100644 +--- a/xorg-server.m4 ++++ b/xorg-server.m4 +@@ -28,10 +28,12 @@ dnl + # Checks for the $1 define in xorg-server.h (from the sdk). If it + # is defined, then add $1 to $REQUIRED_MODULES. + ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) ++ + 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 -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch new file mode 100644 index 00000000..168368e6 --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch @@ -0,0 +1,29 @@ +on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well +so we end up with incompatible conversion errors + +This patch choses the right values for mips64 + +Signed-off-by: Khem Raj + +Upstream-Status: Pending +Index: xorg-server-1.13.0/hw/xfree86/common/compiler.h +=================================================================== +--- xorg-server-1.13.0-orig/hw/xfree86/common/compiler.h 2012-06-14 23:04:29.000000000 +0300 ++++ xorg-server-1.13.0/hw/xfree86/common/compiler.h 2012-11-08 10:06:50.865831783 +0200 +@@ -101,6 +101,7 @@ + #if defined(NO_INLINE) || defined(DO_PROTOTYPES) + #if !defined(__arm__) + #if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \ ++ && !defined(__mips64) \ + && !(defined(__alpha__) && defined(linux)) \ + && !(defined(__ia64__) && defined(linux)) \ + +@@ -721,7 +722,7 @@ + } + + #elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__)) +-#ifdef __arm32__ ++#if defined (__arm32__) || defined (__mips64) + #define PORT_SIZE long + #else + #define PORT_SIZE short diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb new file mode 100644 index 00000000..c6e23be0 --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb @@ -0,0 +1,35 @@ +require recipes-graphics/xorg-xserver/xserver-xorg.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=bc098b9774ed096943f6c37b5beeef13" + +# Misc build failure for master HEAD +SRC_URI += "file://crosscompile.patch \ + file://fix_open_max_preprocessor_error.patch \ + file://mips64-compiler.patch \ + file://aarch64.patch \ + " + +SRC_URI[md5sum] = "9d68a30258c67faa3c036a4a85e8bf97" +SRC_URI[sha256sum] = "608ccfaafb845f6e559884a30f946d365209172416710d687b190e9e1ff65dc3" + +# These extensions are now integrated into the server, so declare the migration +# path for in-place upgrades. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " -- 2.40.1