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 <[email protected]>
---
  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 <[email protected]>
+
+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 <[email protected]>
+
+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 <[email protected]>
+
+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 \
+                   "

_______________________________________________
meta-freescale mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to