All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Weber <rjohnweber@gmail.com>
To: meta-freescale@yoctoproject.org
Subject: Re: [meta-fsl-arm][PATCH v2 2/2] xserver-xorg: Backport 1.14.4 version
Date: Sun, 23 Feb 2014 09:57:20 -0600	[thread overview]
Message-ID: <530A1A60.2060609@gmail.com> (raw)
In-Reply-To: <1393161838-7573-2-git-send-email-otavio@ossystems.com.br>


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@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@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@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@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 \
> +                   "



  reply	other threads:[~2014-02-23 15:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-23 13:23 [meta-fsl-arm][PATCH v2 1/2] mesa: Update to follow OE-Core changes Otavio Salvador
2014-02-23 13:23 ` [meta-fsl-arm][PATCH v2 2/2] xserver-xorg: Backport 1.14.4 version Otavio Salvador
2014-02-23 15:57   ` John Weber [this message]
2014-02-24  0:06     ` Otavio Salvador
2014-02-24  1:20       ` John Weber
2014-03-11 13:38   ` [PATCH v2 2/2] xserver-xorg: Backport 1.14.4 version: bitbake question Javier Viguera
2014-03-11 13:52     ` Otavio Salvador
2014-03-11 14:53       ` Javier Viguera

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=530A1A60.2060609@gmail.com \
    --to=rjohnweber@gmail.com \
    --cc=meta-freescale@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.