[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