Patchwork [meta-fsl-arm,v2,2/2] xserver-xorg: Backport 1.14.4 version

login
register
mail settings
Submitter Otavio Salvador
Date Feb. 23, 2014, 1:23 p.m.
Message ID <1393161838-7573-2-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/67181/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Otavio Salvador - Feb. 23, 2014, 1:23 p.m.
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 <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
John Weber - Feb. 23, 2014, 3:57 p.m.
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 \
> +                   "
Otavio Salvador - Feb. 24, 2014, 12:06 a.m.
Hello John,

On Sun, Feb 23, 2014 at 12:57 PM, John Weber <rjohnweber@gmail.com> wrote:
> 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.

Without seeing your logs it is difficult to guess but you must to
ensure to use newer GPU when using the 3.10.17 kernel as it uses the
p13 GPU version.
John Weber - Feb. 24, 2014, 1:20 a.m.
On 2/23/14, 6:06 PM, Otavio Salvador wrote:
> Hello John,
>
> On Sun, Feb 23, 2014 at 12:57 PM, John Weber <rjohnweber@gmail.com> wrote:
>> 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.
> Without seeing your logs it is difficult to guess but you must to
> ensure to use newer GPU when using the 3.10.17 kernel as it uses the
> p13 GPU version.
>
Indeed.   Switching to master-next on meta-fsl-arm was very helpful.   And, 
looking at the Xorg.0.log was as well. Thanks!

John
Javier Viguera - March 11, 2014, 1:38 p.m.
Hi Otavio,

On 23/02/14 14:23, Otavio Salvador wrote:
> +# Use an older Xorg version until Vivante provides a valid GL API
> +PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4"

Although I know this is not the proper list to ask for bitbake questions 
I think this may be interesting not only for me (we all may learn 
something).

Using the above excerpt. Where does the '2:' in front of the version 
come from?

If the version of the package is 1.14.4, why is not?:

PREFERRED_VERSION_xserver-xorg_mx6 = "1.14.4"

I'm sure there must be a reason. I want to learn from people more 
experienced than me.

-
Javier Viguera
Software Engineer
Digi International® Spain S.A.U.
Otavio Salvador - March 11, 2014, 1:52 p.m.
Hello Javier,

On Tue, Mar 11, 2014 at 10:38 AM, Javier Viguera
<javier.viguera@digi.com> wrote:
> On 23/02/14 14:23, Otavio Salvador wrote:
>> +# Use an older Xorg version until Vivante provides a valid GL API
>> +PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4"
>
>
> Although I know this is not the proper list to ask for bitbake questions I
> think this may be interesting not only for me (we all may learn something).
>
> Using the above excerpt. Where does the '2:' in front of the version come
> from?
>
> If the version of the package is 1.14.4, why is not?:
>
> PREFERRED_VERSION_xserver-xorg_mx6 = "1.14.4"
>
> I'm sure there must be a reason. I want to learn from people more
> experienced than me.

In fact this is a metadata question. It comes from the Package Epoch.

You can see it being defined in the .inc file in the 'PE' variable.
Javier Viguera - March 11, 2014, 2:53 p.m.
On 11/03/14 14:52, Otavio Salvador wrote:
>
> In fact this is a metadata question. It comes from the Package Epoch.
>
> You can see it being defined in the .inc file in the 'PE' variable.
>

Thanks Otavio. I understand now.

-
Javier Viguera
Software Engineer
Digi International® Spain S.A.U.

Patch

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