[meta-freescale] [meta-fsl-arm][PATCH v2 2/2] xserver-xorg: Backport 1.14.4 version

John Weber rjohnweber at gmail.com
Sun Feb 23 07:57:20 PST 2014


On 2/23/14, 7:23 AM, Otavio Salvador wrote:
> 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.
Assuming no changes with this wrt v1, it results in a successful build of 
core-image-x11.  Thanks!

Now to test the build.  I think something breaks here, because HDMI goes 
completely out after boot.  But I'm working on the 3.10.17 kernel, so it could 
definitely be something else.

John
> Change-Id: Ie8c8c002f7c3904abb383f2a1ee6f3dc6ad09e20
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
>   conf/machine/include/imx-base.inc                  |  3 ++
>   .../xorg-xserver/xserver-xorg/aarch64.patch        | 35 ++++++++++++++++++++++
>   .../xorg-xserver/xserver-xorg/crosscompile.patch   | 22 ++++++++++++++
>   .../fix_open_max_preprocessor_error.patch          | 15 ++++++++++
>   .../xorg-xserver/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 recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
>   create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
>   create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
>   create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
>   create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
>   create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
>
> diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
> index 3199238..08d2950 100644
> --- a/conf/machine/include/imx-base.inc
> +++ b/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/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
> new file mode 100644
> index 0000000..045e24a
> --- /dev/null
> +++ b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
> @@ -0,0 +1,35 @@
> +Subject: Add AArch64 support to xserver-xorg
> +Author: Marcin Juszkiewicz <marcin.juszkiewicz at linaro.org>
> +
> +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/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
> new file mode 100644
> index 0000000..2f98bb8
> --- /dev/null
> +++ b/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/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
> new file mode 100644
> index 0000000..2f62972
> --- /dev/null
> +++ b/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/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
> new file mode 100644
> index 0000000..ec0eea6
> --- /dev/null
> +++ b/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 <ke.yu at intel.com>
> +
> +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/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
> new file mode 100644
> index 0000000..168368e
> --- /dev/null
> +++ b/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 <raj.khem at gmail.com>
> +
> +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/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
> new file mode 100644
> index 0000000..c6e23be
> --- /dev/null
> +++ b/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 \
> +                   "



More information about the meta-freescale mailing list