Yocto 2.4

Move OpenBMC to Yocto 2.4(rocko)

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo.inc b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo.inc
index 8e1e2e1..20e0d2c 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo.inc
+++ b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo.inc
@@ -30,6 +30,7 @@
 PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind"
 PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl"
 PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2"
+PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
 
 #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 
 require cairo-fpu.inc
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch
new file mode 100644
index 0000000..7d02ab9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch
@@ -0,0 +1,45 @@
+From 042421e9e3d266ad0bb7805132041ef51ad3234d Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Wed, 16 Aug 2017 22:52:35 -0400
+Subject: [PATCH] cairo: Fix CVE-2017-9814
+
+The bug happens because in some scenarios the variable size can
+have a value of 0 at line 1288. And malloc(0) is not returning
+NULL as some people could expect:
+
+    https://stackoverflow.com/questions/1073157/zero-size-malloc
+
+malloc(0) returns the smallest chunk possible. So the line 1290
+with the return is not execute. And the execution continues with
+an invalid map.
+
+Since the size is 0 the variable map is not initialized correctly
+at load_trutype_table. So, later when the variable map is accessed
+previous values from a freed chunk are used. This could allows an
+attacker to control the variable map.
+
+This patch have not merge in upstream now.
+
+Upstream-Status: Backport [https://bugs.freedesktop.org/show_bug.cgi?id=101547]
+CVE: CVE-2017-9814
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ src/cairo-truetype-subset.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c
+index e3449a0..f77d11c 100644
+--- a/src/cairo-truetype-subset.c
++++ b/src/cairo-truetype-subset.c
+@@ -1285,7 +1285,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font,
+ 	return CAIRO_INT_STATUS_UNSUPPORTED;
+ 
+     size = be16_to_cpu (map->length);
+-    map = malloc (size);
++    map = _cairo_malloc (size);
+     if (unlikely (map == NULL))
+ 	return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ 
+-- 
+2.8.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
new file mode 100644
index 0000000..7aaad2e
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff
@@ -0,0 +1,22 @@
+Cairo: Fix Denial-of-Service Attack due to Logical Problem in Program
+
+https://bugs.freedesktop.org/show_bug.cgi?id=100763
+
+CVE: CVE-2017-7475
+Upstream-Status: Submitted
+
+Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
+
+Index: cairo-1.15.4/src/cairo-ft-font.c
+===================================================================
+--- cairo-1.15.4.orig/src/cairo-ft-font.c
++++ cairo-1.15.4/src/cairo-ft-font.c
+@@ -1149,7 +1149,7 @@ _get_bitmap_surface (FT_Bitmap		     *bi
+     width = bitmap->width;
+     height = bitmap->rows;
+ 
+-    if (width == 0 || height == 0) {
++    if (width == 0 || height == 0 || bitmap->buffer == NULL) {
+ 	*surface = (cairo_image_surface_t *)
+ 	    cairo_image_surface_create_for_data (NULL, format, 0, 0, 0);
+ 	return (*surface)->base.status;
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.8.bb b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.10.bb
similarity index 82%
rename from import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.8.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.10.bb
index 5a3c74f..fcdddc6 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.8.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/cairo/cairo_1.14.10.bb
@@ -2,10 +2,13 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
 
-SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz"
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
+           file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \ 
+           file://0001-cairo-Fix-CVE-2017-9814.patch \
+          "
 
-SRC_URI[md5sum] = "4ef0db2eacb271c74f8a3fd87822aa98"
-SRC_URI[sha256sum] = "d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20"
+SRC_URI[md5sum] = "146f5f4d0b4439fc3792fd3452b7b12a"
+SRC_URI[sha256sum] = "7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09"
 
 PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb
similarity index 67%
rename from import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.0.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb
index dfa1cfe..48b0501 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.2.bb
@@ -2,8 +2,8 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI[archive.md5sum] = "b065e9ca53d1f6bc1ec26aeb27338bb7"
-SRC_URI[archive.sha256sum] = "67514e7824b3feb4723164084b36d6ce1ae41cb3a9897e9f1a56c8334993ce06"
+SRC_URI[archive.md5sum] = "a03482cbacf735eca8c996f210a21ee5"
+SRC_URI[archive.sha256sum] = "e7233314983055e9018f94f56882e29e7fc34d8d35de030789fdcd9b2d0e2e56"
 SRC_URI += "file://install-examples.patch \
             file://run-installed-tests-with-tap-output.patch \
             file://0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch \
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
index 4c87798..26ae91c 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
+++ b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc
@@ -15,3 +15,7 @@
 FILES_${PN}          += "${libdir}/gstreamer-1.0/lib*.so"
 FILES_${PN}-dev      += "${libdir}/gstreamer-1.0/*.la"
 FILES_${PN}-examples  = "${bindir}/video-player ${bindir}/video-sink"
+
+# Needs to be disable due to a dependency on gstreamer-plugins introspection files
+EXTRA_OECONF_append_mips64 = " --disable-introspection "
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.22.bb b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.22.bb
deleted file mode 100644
index 6177c91..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.22.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require clutter-gst-3.0.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
-                    file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
-
-SRC_URI[archive.md5sum] = "88eea2dd5fc4357b5b18f1dfeed56c62"
-SRC_URI[archive.sha256sum] = "f1fc57fb32ea7e3d9234b58db35eb9ef3028cf0b266d85235f959edc0fe3dfd4"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb
new file mode 100644
index 0000000..ca5e0ae
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.24.bb
@@ -0,0 +1,7 @@
+require clutter-gst-3.0.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+                    file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
+
+SRC_URI[archive.md5sum] = "3e145e24bb3c340eeeddafd18efe547d"
+SRC_URI[archive.sha256sum] = "e9f1c87d8f4c47062e952fb8008704f8942cf2d6f290688f3f7d13e83578cc6c"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.75.bb b/import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.83.bb
similarity index 93%
rename from import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.75.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.83.bb
index 56963d4..a5cb75c 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.75.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/drm/libdrm_2.4.83.bb
@@ -16,8 +16,8 @@
            file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \
           "
 
-SRC_URI[md5sum] = "57b0589122ec4b8d5dfb9e430a21f0b3"
-SRC_URI[sha256sum] = "2d5a500eef412cc287d12268eed79d571e262d4957a2ec9258073f305985054f"
+SRC_URI[md5sum] = "23800953ed7564988872e1e8c61fde31"
+SRC_URI[sha256sum] = "03a52669da60ead62548a35bc430aafb6c2d8dd21ec9dba3a90f96eff5fe36d6"
 
 inherit autotools pkgconfig manpages
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
deleted file mode 100644
index cad7170..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 11 Dec 2016 14:32:00 -0800
-Subject: [PATCH] Avoid conflicts with integer width macros from TS
- 18661-1:2014
-
-glibc 2.25+ has now defined these macros in <limits.h>
-https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- fontconfig/fontconfig.h | 2 +-
- src/fcobjs.h            | 2 +-
- src/fcobjshash.gperf    | 2 +-
- src/fcobjshash.h        | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: fontconfig-2.12.1/fontconfig/fontconfig.h
-===================================================================
---- fontconfig-2.12.1.orig/fontconfig/fontconfig.h
-+++ fontconfig-2.12.1/fontconfig/fontconfig.h
-@@ -128,7 +128,8 @@ typedef int		FcBool;
- #define FC_USER_CACHE_FILE	    ".fonts.cache-" FC_CACHE_VERSION
- 
- /* Adjust outline rasterizer */
--#define FC_CHAR_WIDTH	    "charwidth"	/* Int */
-+#define FC_CHARWIDTH	    "charwidth"	/* Int */
-+#define FC_CHAR_WIDTH	    FC_CHARWIDTH
- #define FC_CHAR_HEIGHT	    "charheight"/* Int */
- #define FC_MATRIX	    "matrix"    /* FcMatrix */
- 
-Index: fontconfig-2.12.1/src/fcobjs.h
-===================================================================
---- fontconfig-2.12.1.orig/src/fcobjs.h
-+++ fontconfig-2.12.1/src/fcobjs.h
-@@ -51,7 +51,7 @@ FC_OBJECT (DPI,			FcTypeDouble,	NULL)
- FC_OBJECT (RGBA,		FcTypeInteger,	NULL)
- FC_OBJECT (SCALE,		FcTypeDouble,	NULL)
- FC_OBJECT (MINSPACE,		FcTypeBool,	NULL)
--FC_OBJECT (CHAR_WIDTH,		FcTypeInteger,	NULL)
-+FC_OBJECT (CHARWIDTH,		FcTypeInteger,	NULL)
- FC_OBJECT (CHAR_HEIGHT,		FcTypeInteger,	NULL)
- FC_OBJECT (MATRIX,		FcTypeMatrix,	NULL)
- FC_OBJECT (CHARSET,		FcTypeCharSet,	FcCompareCharSet)
-Index: fontconfig-2.12.1/src/fcobjshash.gperf
-===================================================================
---- fontconfig-2.12.1.orig/src/fcobjshash.gperf
-+++ fontconfig-2.12.1/src/fcobjshash.gperf
-@@ -44,7 +44,7 @@ int id;
- "rgba",FC_RGBA_OBJECT
- "scale",FC_SCALE_OBJECT
- "minspace",FC_MINSPACE_OBJECT
--"charwidth",FC_CHAR_WIDTH_OBJECT
-+"charwidth",FC_CHARWIDTH_OBJECT
- "charheight",FC_CHAR_HEIGHT_OBJECT
- "matrix",FC_MATRIX_OBJECT
- "charset",FC_CHARSET_OBJECT
-Index: fontconfig-2.12.1/src/fcobjshash.h
-===================================================================
---- fontconfig-2.12.1.orig/src/fcobjshash.h
-+++ fontconfig-2.12.1/src/fcobjshash.h
-@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char
-       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
-       {-1},
- #line 47 "fcobjshash.gperf"
--      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
-+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
- #line 48 "fcobjshash.gperf"
-       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
- #line 55 "fcobjshash.gperf"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.4.bb
similarity index 79%
rename from import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.4.bb
index 95b066c..a058b35 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.4.bb
@@ -14,18 +14,22 @@
 LICENSE = "MIT-style & MIT & PD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7a0449e9bc5370402a94c00204beca3d \
                     file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \
-                    file://src/fccache.c;beginline=1360;endline=1375;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
+                    file://src/fccache.c;beginline=1367;endline=1382;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
 
 SECTION = "libs"
 
-DEPENDS = "expat freetype zlib"
+DEPENDS = "expat freetype zlib gperf-native"
 
 SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
            file://revert-static-pkgconfig.patch \
-           file://0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch \
            "
-SRC_URI[md5sum] = "ce55e525c37147eee14cc2de6cc09f6c"
-SRC_URI[sha256sum] = "a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292"
+SRC_URI[md5sum] = "4fb01fc3f41760c41c69e37cc784b658"
+SRC_URI[sha256sum] = "fd5a6a663f4c4a00e196523902626654dd0c4a78686cbc6e472f338e50fdf806"
+
+do_configure_prepend() {
+    # work around https://bugs.freedesktop.org/show_bug.cgi?id=101280
+    rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf
+}
 
 PACKAGES =+ "fontconfig-utils"
 FILES_${PN} =+ "${datadir}/xml/*"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.7.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.8.bb
similarity index 92%
rename from import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.7.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.8.bb
index 544f835..8e88e84 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.7.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/freetype/freetype_2.8.bb
@@ -18,8 +18,8 @@
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
 
-SRC_URI[md5sum] = "b3230110e0cab777e0df7631837ac36e"
-SRC_URI[sha256sum] = "3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88"
+SRC_URI[md5sum] = "2413ac3eaf508ada019c63959ea81a92"
+SRC_URI[sha256sum] = "a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b"
 
 inherit autotools pkgconfig binconfig-disabled multilib_header
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/fstests/fstests_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/fstests/fstests_git.bb
index 95c33f4..9e09cd2 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/fstests/fstests_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/fstests/fstests_git.bb
@@ -8,6 +8,7 @@
 PV = "0.1+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN}"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 LIC_FILES_CHKSUM = "file://test-pango-gdk.c;endline=24;md5=1ee74ec851ecda57eb7ac6cc180f7655"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/glew/glew_2.0.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/glew/glew_2.0.0.bb
index 1c93ca0..f2ab756 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/glew/glew_2.0.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/glew/glew_2.0.0.bb
@@ -24,6 +24,7 @@
 PACKAGECONFIG[opengl] = "SYSTEM='linux',,virtual/libx11 virtual/libgl libglu libxext libxi libxmu"
 PACKAGECONFIG[egl-gles2] = "SYSTEM='linux-egl' GLEW_NO_GLU='-DGLEW_NO_GLU' LDFLAGS.GL='-lEGL -lGLESv2',,virtual/egl virtual/libgles2"
 
+CFLAGS += "-D_GNU_SOURCE"
 # Override SYSTEM (via PACKAGECONFIG_CONFARGS) to avoid calling config.guess,
 # we're cross-compiling. Pass our CFLAGS via POPT as that's the optimisation
 # variable and safely overwritten.
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bb
similarity index 88%
rename from import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bb
index fc4773e..4f5e5a3 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bb
@@ -12,8 +12,8 @@
 
 SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2"
 
-SRC_URI[md5sum] = "7b3f445d0a58485a31c18c03ce9b4e3c"
-SRC_URI[sha256sum] = "85a27fab639a1d651737dcb6b69e4101e3fd09522fdfdcb793df810b5cb315bd"
+SRC_URI[md5sum] = "d1aa446e1e65717311c15d9ac0cf31ee"
+SRC_URI[sha256sum] = "ccec4930ff0bb2d0c40aee203075447954b64a8c2695202413cc5e428c907131"
 
 inherit autotools pkgconfig lib_package gtk-doc
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch b/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch
deleted file mode 100644
index 4d41237..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo/fix-mips.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Fix a regression that causes the MIPS code from building.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 7bfb22af123ac10798a9a4c9ec7b23e5065db35e Mon Sep 17 00:00:00 2001
-From: DRC <information@libjpeg-turbo.org>
-Date: Mon, 26 Sep 2016 17:59:14 -0500
-Subject: [PATCH] Fix broken MIPS build
-
-Regression introduced by 9055fb408dcb585ce9392d395e16630d51002152
-
-Fixes #104
----
- ChangeLog.md      | 3 +++
- simd/jsimd_mips.c | 2 ++
- 2 files changed, 5 insertions(+)
-
-diff --git a/ChangeLog.md b/ChangeLog.md
-index e2b9df3..71ddcaa 100644
---- a/ChangeLog.md
-+++ b/ChangeLog.md
-@@ -6,6 +6,9 @@
- 1. Fixed a regression introduced by 1.5.1[7] that prevented libjpeg-turbo from
- building with Android NDK platforms prior to android-21 (5.0).
- 
-+2. Fixed a regression introduced by 1.5.1[1] that prevented the MIPS DSPR2 SIMD
-+code in libjpeg-turbo from building.
-+
- 
- 1.5.1
- =====
-diff --git a/simd/jsimd_mips.c b/simd/jsimd_mips.c
-index 63b8115..02e90cd 100644
---- a/simd/jsimd_mips.c
-+++ b/simd/jsimd_mips.c
-@@ -63,6 +63,8 @@ parse_proc_cpuinfo(const char* search_string)
- LOCAL(void)
- init_simd (void)
- {
-+  char *env = NULL;
-+
-   if (simd_support != ~0U)
-     return;
- 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb
similarity index 90%
rename from import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb
index de2eeaf..58646d3 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/jpeg/libjpeg-turbo_1.5.2.bb
@@ -10,10 +10,10 @@
 DEPENDS_append_x86-64_class-target = " nasm-native"
 DEPENDS_append_x86_class-target    = " nasm-native"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
-           file://fix-mips.patch"
-SRC_URI[md5sum] = "55deb139b0cac3c8200b75d485fc13f3"
-SRC_URI[sha256sum] = "41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "6b4923e297a7eaa255f08511017a8818"
+SRC_URI[sha256sum] = "9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528"
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
 UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/kmscube/kmscube_git.bb
new file mode 100644
index 0000000..cab68ff
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Demo application to showcase 3D graphics using kms and gbm"
+HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/"
+LICENSE = "MIT"
+SECTION = "graphics"
+DEPENDS = "virtual/libgles2 virtual/egl libdrm gstreamer1.0 gstreamer1.0-plugins-base"
+
+LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
+
+SRCREV = "0d8de4ce3a03f36af1817f9b0586d132ad2c5d2e"
+SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git"
+UPSTREAM_VERSION_UNKNOWN = "1"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy/Add-fallback-definition-for-EGL-CAST.patch b/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy/Add-fallback-definition-for-EGL-CAST.patch
new file mode 100644
index 0000000..b929725
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy/Add-fallback-definition-for-EGL-CAST.patch
@@ -0,0 +1,33 @@
+Add fallback definition for EGL_CAST
+
+The EGL API update from d11104f introduced a dependency on the
+EGL_CAST() macro, provided by an updated eglplatform.h. Given that we
+don't provide eglplatform.h, add a fallback definition for if we're
+building against Mesa 17.0.x or similar.
+
+https://bugs.gentoo.org/show_bug.cgi?id=623926
+
+Upstream-Status: Backport [https://github.com/anholt/libepoxy/commit/ebe3a53db1c0bb34e1ca963b95d1f222115f93f8]
+
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+
+Index: libepoxy-1.4.3/src/gen_dispatch.py
+===================================================================
+--- libepoxy-1.4.3.orig/src/gen_dispatch.py	2017-06-06 04:24:13.000000000 -0500
++++ libepoxy-1.4.3/src/gen_dispatch.py	2017-11-06 12:45:43.594966473 -0600
+@@ -491,6 +491,15 @@
+             self.outln('#include "epoxy/gl.h"')
+             if self.target == "egl":
+                 self.outln('#include "EGL/eglplatform.h"')
++                # Account for older eglplatform.h, which doesn't define
++                # the EGL_CAST macro.
++                self.outln('#ifndef EGL_CAST')
++                self.outln('#if defined(__cplusplus)')
++                self.outln('#define EGL_CAST(type, value) (static_cast<type>(value))')
++                self.outln('#else')
++                self.outln('#define EGL_CAST(type, value) ((type) (value))')
++                self.outln('#endif')
++                self.outln('#endif')
+         else:
+             # Add some ridiculous inttypes.h redefinitions that are
+             # from khrplatform.h and not included in the XML.  We
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.0.bb
deleted file mode 100644
index ee9f694..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "OpenGL function pointer management library"
-HOMEPAGE = "https://github.com/anholt/libepoxy/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
-
-SRC_URI = "https://github.com/anholt/${BPN}/releases/download/v1.4/${BP}.tar.xz"
-SRC_URI[md5sum] = "d8d8cbf2beb64975d424fcc5167a2a38"
-SRC_URI[sha256sum] = "25a906b14a921bc2b488cfeaa21a00486fe92630e4a9dd346e4ecabeae52ab41"
-UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
-
-inherit autotools pkgconfig distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-DEPENDS = "util-macros virtual/egl"
-
-PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb b/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
new file mode 100644
index 0000000..0172322
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "OpenGL function pointer management library"
+HOMEPAGE = "https://github.com/anholt/libepoxy/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
+
+SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+           file://Add-fallback-definition-for-EGL-CAST.patch"
+SRC_URI[md5sum] = "af4c3ce0fb1143bdc4e43f85695a9bed"
+SRC_URI[sha256sum] = "0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6"
+UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
+
+inherit autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+DEPENDS = "util-macros"
+
+PACKAGECONFIG[egl] = "--enable-egl, --disable-egl, virtual/egl"
+PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
index c60ddea..4b803db 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
@@ -10,8 +10,8 @@
 DEPENDS = "libxtst"
 SECTION = "x11/wm"
 
-SRCREV = "e327ff049b8503af2dadffa84370a0860b9fb682"
-PV = "0.0+git${SRCPV}"
+SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40"
+PV = "0.3+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN}"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
new file mode 100644
index 0000000..ec8c0fd
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
@@ -0,0 +1,73 @@
+From 44e4bb4cfb81024c8f5fd2e179e8a32c42756a2f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Jul 2017 16:52:43 -0700
+Subject: [PATCH] build: Pass --tag=CC explictly when using libtool
+
+Do not depend solely on libtool heuristics which fail
+in OE case when building with external compiler and
+hardening flags
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in              | 4 ++--
+ build-scripts/makedep.sh | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ab51035..743ce30 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -72,10 +72,10 @@ depend:
+ include $(depend)
+ 
+ $(objects)/$(TARGET): $(OBJECTS)
+-	$(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
++	$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
+ 
+ $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
+-	$(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
++	$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
+ 
+ 
+ install: all install-bin install-hdrs install-lib install-data install-man
+diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh
+index 3b3863b..dba28f2 100755
+--- a/build-scripts/makedep.sh
++++ b/build-scripts/makedep.sh
+@@ -51,19 +51,19 @@ do  echo "Generating dependencies for $src"
+     case $ext in
+         c) cat >>${output}.new <<__EOF__
+ 
+-	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
++	\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
+ 
+ __EOF__
+         ;;
+         cc) cat >>${output}.new <<__EOF__
+ 
+-	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
++	\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
+ 
+ __EOF__
+         ;;
+         m) cat >>${output}.new <<__EOF__
+ 
+-	\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
++	\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
+ 
+ __EOF__
+         ;;
+@@ -75,7 +75,7 @@ __EOF__
+         ;;
+         S) cat >>${output}.new <<__EOF__
+ 
+-	\$(LIBTOOL)  --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
++	\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src  -o \$@
+ 
+ __EOF__
+         ;;
+-- 
+2.13.3
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
index c802a6f..3680ea9 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -17,6 +17,7 @@
 SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
            file://libsdl-1.2.15-xdata32.patch \
            file://pkgconfig.patch \
+           file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \
           "
 
 UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -53,6 +54,10 @@
 PACKAGECONFIG[opengl] = "--enable-video-opengl, --disable-video-opengl, virtual/libgl libglu"
 PACKAGECONFIG[x11] = "--enable-video-x11 --disable-x11-shared, --disable-video-x11, virtual/libx11 libxext libxrandr libxrender"
 
+# The following two options should only enabled with mingw support
+PACKAGECONFIG[stdio-redirect] = "--enable-stdio-redirect,--disable-stdio-redirect"
+PACKAGECONFIG[directx] = "--enable-directx,--disable-directx"
+
 EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
 
 do_configure_prepend() {
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch b/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch
deleted file mode 100644
index a99c225..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0af30602502035155929dd2a14482b82a9747cf8 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Thu, 23 Feb 2017 15:23:15 +0200
-Subject: [PATCH] configure.ac: Use wayland-scanner in PATH
-
-pkg-config will give us the wrong wayland-scanner location.
-Use the one in path instead: it will be from native sysroot.
-
-This is a workaround and should be fixed upstream: preferably
-with the same fix as all the other wayland-scanner users
-(see YOCTO #11100).
-
-Upstream-Status: Inappropriate [workaround]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 64eddf2..5536f35 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -273,10 +273,7 @@ if test "$enable_wayland" = "yes"; then
-     PKG_CHECK_MODULES([WAYLAND], [wayland-client >= wayland_api_version],
-         [USE_WAYLAND="yes"], [:])
-     if test "$USE_WAYLAND" = "yes"; then
--
--        WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
--        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
--                     [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
-+        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
- 
-         AC_DEFINE([HAVE_VA_WAYLAND], [1],
-                   [Defined to 1 if VA/Wayland API is built])
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch b/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch
deleted file mode 100644
index bd97e22..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch
+++ /dev/null
@@ -1,339 +0,0 @@
-From 5993a7710cc8fd9a392d5015be5109987a42b498 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Thu, 23 Feb 2017 16:10:09 +0200
-Subject: [PATCH] wayland: Don't commit and ship generated files
-
-I believe shipping wayland-drm-client-protocol.h is wrong: The header
-should always be generated by the wayland-scanner that matches the
-runtime wayland version. Currently when someone clones the repo and
-builds, the shipped version is used.
-
-Upstream-Status: Submitted [https://github.com/01org/libva/pull/33]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- va/wayland/Makefile.am                   |   5 +-
- va/wayland/wayland-drm-client-protocol.h | 290 -------------------------------
- 2 files changed, 4 insertions(+), 291 deletions(-)
- delete mode 100644 va/wayland/wayland-drm-client-protocol.h
-
-diff --git a/va/wayland/Makefile.am b/va/wayland/Makefile.am
-index 4f8262c..4ab8d07 100644
---- a/va/wayland/Makefile.am
-+++ b/va/wayland/Makefile.am
-@@ -53,7 +53,7 @@ protocol_source_h = \
- noinst_LTLIBRARIES		= libva_wayland.la
- libva_waylandincludedir		= ${includedir}/va
- libva_waylandinclude_HEADERS	= $(source_h)
--libva_wayland_la_SOURCES	= $(source_c) $(protocol_source_h)
-+libva_wayland_la_SOURCES	= $(source_c)
- noinst_HEADERS			= $(source_h_priv)
- 
- # Wayland protocol
-@@ -65,5 +65,8 @@ EXTRA_DIST = \
- 	wayland-drm.xml         \
- 	$(NULL)
- 
-+BUILT_SOURCES = $(protocol_source_h)
-+CLEANFILES = $(BUILT_SOURCES)
-+
- # Extra clean files so that maintainer-clean removes *everything*
- MAINTAINERCLEANFILES = Makefile.in
-diff --git a/va/wayland/wayland-drm-client-protocol.h b/va/wayland/wayland-drm-client-protocol.h
-deleted file mode 100644
-index da267e8..0000000
---- a/va/wayland/wayland-drm-client-protocol.h
-+++ /dev/null
-@@ -1,290 +0,0 @@
--/* Generated by wayland-scanner 1.11.90 */
--
--#ifndef DRM_CLIENT_PROTOCOL_H
--#define DRM_CLIENT_PROTOCOL_H
--
--#include <stdint.h>
--#include <stddef.h>
--#include "wayland-client.h"
--
--#ifdef  __cplusplus
--extern "C" {
--#endif
--
--/**
-- * @page page_drm The drm protocol
-- * @section page_ifaces_drm Interfaces
-- * - @subpage page_iface_wl_drm - 
-- * @section page_copyright_drm Copyright
-- * <pre>
-- *
-- * Copyright © 2008-2011 Kristian Høgsberg
-- * Copyright © 2010-2011 Intel Corporation
-- *
-- * Permission to use, copy, modify, distribute, and sell this
-- * software and its documentation for any purpose is hereby granted
-- * without fee, provided that\n the above copyright notice appear in
-- * all copies and that both that copyright notice and this permission
-- * notice appear in supporting documentation, and that the name of
-- * the copyright holders not be used in advertising or publicity
-- * pertaining to distribution of the software without specific,
-- * written prior permission.  The copyright holders make no
-- * representations about the suitability of this software for any
-- * purpose.  It is provided "as is" without express or implied
-- * warranty.
-- *
-- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-- * THIS SOFTWARE.
-- * </pre>
-- */
--struct wl_buffer;
--struct wl_drm;
--
--/**
-- * @page page_iface_wl_drm wl_drm
-- * @section page_iface_wl_drm_api API
-- * See @ref iface_wl_drm.
-- */
--/**
-- * @defgroup iface_wl_drm The wl_drm interface
-- */
--extern const struct wl_interface wl_drm_interface;
--
--#ifndef WL_DRM_ERROR_ENUM
--#define WL_DRM_ERROR_ENUM
--enum wl_drm_error {
--	WL_DRM_ERROR_AUTHENTICATE_FAIL = 0,
--	WL_DRM_ERROR_INVALID_FORMAT = 1,
--	WL_DRM_ERROR_INVALID_NAME = 2,
--};
--#endif /* WL_DRM_ERROR_ENUM */
--
--#ifndef WL_DRM_FORMAT_ENUM
--#define WL_DRM_FORMAT_ENUM
--enum wl_drm_format {
--	WL_DRM_FORMAT_C8 = 0x20203843,
--	WL_DRM_FORMAT_RGB332 = 0x38424752,
--	WL_DRM_FORMAT_BGR233 = 0x38524742,
--	WL_DRM_FORMAT_XRGB4444 = 0x32315258,
--	WL_DRM_FORMAT_XBGR4444 = 0x32314258,
--	WL_DRM_FORMAT_RGBX4444 = 0x32315852,
--	WL_DRM_FORMAT_BGRX4444 = 0x32315842,
--	WL_DRM_FORMAT_ARGB4444 = 0x32315241,
--	WL_DRM_FORMAT_ABGR4444 = 0x32314241,
--	WL_DRM_FORMAT_RGBA4444 = 0x32314152,
--	WL_DRM_FORMAT_BGRA4444 = 0x32314142,
--	WL_DRM_FORMAT_XRGB1555 = 0x35315258,
--	WL_DRM_FORMAT_XBGR1555 = 0x35314258,
--	WL_DRM_FORMAT_RGBX5551 = 0x35315852,
--	WL_DRM_FORMAT_BGRX5551 = 0x35315842,
--	WL_DRM_FORMAT_ARGB1555 = 0x35315241,
--	WL_DRM_FORMAT_ABGR1555 = 0x35314241,
--	WL_DRM_FORMAT_RGBA5551 = 0x35314152,
--	WL_DRM_FORMAT_BGRA5551 = 0x35314142,
--	WL_DRM_FORMAT_RGB565 = 0x36314752,
--	WL_DRM_FORMAT_BGR565 = 0x36314742,
--	WL_DRM_FORMAT_RGB888 = 0x34324752,
--	WL_DRM_FORMAT_BGR888 = 0x34324742,
--	WL_DRM_FORMAT_XRGB8888 = 0x34325258,
--	WL_DRM_FORMAT_XBGR8888 = 0x34324258,
--	WL_DRM_FORMAT_RGBX8888 = 0x34325852,
--	WL_DRM_FORMAT_BGRX8888 = 0x34325842,
--	WL_DRM_FORMAT_ARGB8888 = 0x34325241,
--	WL_DRM_FORMAT_ABGR8888 = 0x34324241,
--	WL_DRM_FORMAT_RGBA8888 = 0x34324152,
--	WL_DRM_FORMAT_BGRA8888 = 0x34324142,
--	WL_DRM_FORMAT_XRGB2101010 = 0x30335258,
--	WL_DRM_FORMAT_XBGR2101010 = 0x30334258,
--	WL_DRM_FORMAT_RGBX1010102 = 0x30335852,
--	WL_DRM_FORMAT_BGRX1010102 = 0x30335842,
--	WL_DRM_FORMAT_ARGB2101010 = 0x30335241,
--	WL_DRM_FORMAT_ABGR2101010 = 0x30334241,
--	WL_DRM_FORMAT_RGBA1010102 = 0x30334152,
--	WL_DRM_FORMAT_BGRA1010102 = 0x30334142,
--	WL_DRM_FORMAT_YUYV = 0x56595559,
--	WL_DRM_FORMAT_YVYU = 0x55595659,
--	WL_DRM_FORMAT_UYVY = 0x59565955,
--	WL_DRM_FORMAT_VYUY = 0x59555956,
--	WL_DRM_FORMAT_AYUV = 0x56555941,
--	WL_DRM_FORMAT_NV12 = 0x3231564e,
--	WL_DRM_FORMAT_NV21 = 0x3132564e,
--	WL_DRM_FORMAT_NV16 = 0x3631564e,
--	WL_DRM_FORMAT_NV61 = 0x3136564e,
--	WL_DRM_FORMAT_YUV410 = 0x39565559,
--	WL_DRM_FORMAT_YVU410 = 0x39555659,
--	WL_DRM_FORMAT_YUV411 = 0x31315559,
--	WL_DRM_FORMAT_YVU411 = 0x31315659,
--	WL_DRM_FORMAT_YUV420 = 0x32315559,
--	WL_DRM_FORMAT_YVU420 = 0x32315659,
--	WL_DRM_FORMAT_YUV422 = 0x36315559,
--	WL_DRM_FORMAT_YVU422 = 0x36315659,
--	WL_DRM_FORMAT_YUV444 = 0x34325559,
--	WL_DRM_FORMAT_YVU444 = 0x34325659,
--};
--#endif /* WL_DRM_FORMAT_ENUM */
--
--#ifndef WL_DRM_CAPABILITY_ENUM
--#define WL_DRM_CAPABILITY_ENUM
--/**
-- * @ingroup iface_wl_drm
-- * wl_drm capability bitmask
-- *
-- * Bitmask of capabilities.
-- */
--enum wl_drm_capability {
--	/**
--	 * wl_drm prime available
--	 */
--	WL_DRM_CAPABILITY_PRIME = 1,
--};
--#endif /* WL_DRM_CAPABILITY_ENUM */
--
--/**
-- * @ingroup iface_wl_drm
-- * @struct wl_drm_listener
-- */
--struct wl_drm_listener {
--	/**
--	 */
--	void (*device)(void *data,
--		       struct wl_drm *wl_drm,
--		       const char *name);
--	/**
--	 */
--	void (*format)(void *data,
--		       struct wl_drm *wl_drm,
--		       uint32_t format);
--	/**
--	 */
--	void (*authenticated)(void *data,
--			      struct wl_drm *wl_drm);
--	/**
--	 */
--	void (*capabilities)(void *data,
--			     struct wl_drm *wl_drm,
--			     uint32_t value);
--};
--
--/**
-- * @ingroup wl_drm_iface
-- */
--static inline int
--wl_drm_add_listener(struct wl_drm *wl_drm,
--		    const struct wl_drm_listener *listener, void *data)
--{
--	return wl_proxy_add_listener((struct wl_proxy *) wl_drm,
--				     (void (**)(void)) listener, data);
--}
--
--#define WL_DRM_AUTHENTICATE 0
--#define WL_DRM_CREATE_BUFFER 1
--#define WL_DRM_CREATE_PLANAR_BUFFER 2
--#define WL_DRM_CREATE_PRIME_BUFFER 3
--
--/**
-- * @ingroup iface_wl_drm
-- */
--#define WL_DRM_AUTHENTICATE_SINCE_VERSION 1
--/**
-- * @ingroup iface_wl_drm
-- */
--#define WL_DRM_CREATE_BUFFER_SINCE_VERSION 1
--/**
-- * @ingroup iface_wl_drm
-- */
--#define WL_DRM_CREATE_PLANAR_BUFFER_SINCE_VERSION 1
--/**
-- * @ingroup iface_wl_drm
-- */
--#define WL_DRM_CREATE_PRIME_BUFFER_SINCE_VERSION 2
--
--/** @ingroup iface_wl_drm */
--static inline void
--wl_drm_set_user_data(struct wl_drm *wl_drm, void *user_data)
--{
--	wl_proxy_set_user_data((struct wl_proxy *) wl_drm, user_data);
--}
--
--/** @ingroup iface_wl_drm */
--static inline void *
--wl_drm_get_user_data(struct wl_drm *wl_drm)
--{
--	return wl_proxy_get_user_data((struct wl_proxy *) wl_drm);
--}
--
--static inline uint32_t
--wl_drm_get_version(struct wl_drm *wl_drm)
--{
--	return wl_proxy_get_version((struct wl_proxy *) wl_drm);
--}
--
--/** @ingroup iface_wl_drm */
--static inline void
--wl_drm_destroy(struct wl_drm *wl_drm)
--{
--	wl_proxy_destroy((struct wl_proxy *) wl_drm);
--}
--
--/**
-- * @ingroup iface_wl_drm
-- */
--static inline void
--wl_drm_authenticate(struct wl_drm *wl_drm, uint32_t id)
--{
--	wl_proxy_marshal((struct wl_proxy *) wl_drm,
--			 WL_DRM_AUTHENTICATE, id);
--}
--
--/**
-- * @ingroup iface_wl_drm
-- */
--static inline struct wl_buffer *
--wl_drm_create_buffer(struct wl_drm *wl_drm, uint32_t name, int32_t width, int32_t height, uint32_t stride, uint32_t format)
--{
--	struct wl_proxy *id;
--
--	id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
--			 WL_DRM_CREATE_BUFFER, &wl_buffer_interface, NULL, name, width, height, stride, format);
--
--	return (struct wl_buffer *) id;
--}
--
--/**
-- * @ingroup iface_wl_drm
-- */
--static inline struct wl_buffer *
--wl_drm_create_planar_buffer(struct wl_drm *wl_drm, uint32_t name, int32_t width, int32_t height, uint32_t format, int32_t offset0, int32_t stride0, int32_t offset1, int32_t stride1, int32_t offset2, int32_t stride2)
--{
--	struct wl_proxy *id;
--
--	id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
--			 WL_DRM_CREATE_PLANAR_BUFFER, &wl_buffer_interface, NULL, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2);
--
--	return (struct wl_buffer *) id;
--}
--
--/**
-- * @ingroup iface_wl_drm
-- */
--static inline struct wl_buffer *
--wl_drm_create_prime_buffer(struct wl_drm *wl_drm, int32_t name, int32_t width, int32_t height, uint32_t format, int32_t offset0, int32_t stride0, int32_t offset1, int32_t stride1, int32_t offset2, int32_t stride2)
--{
--	struct wl_proxy *id;
--
--	id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
--			 WL_DRM_CREATE_PRIME_BUFFER, &wl_buffer_interface, NULL, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2);
--
--	return (struct wl_buffer *) id;
--}
--
--#ifdef  __cplusplus
--}
--#endif
--
--#endif
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libva/libva-utils_1.8.3.bb b/import-layers/yocto-poky/meta/recipes-graphics/libva/libva-utils_1.8.3.bb
new file mode 100644
index 0000000..c082c18
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libva/libva-utils_1.8.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "libva-utils is a collection of utilities from libva project"
+
+DESCRIPTION = "libva-utils is a collection of utilities \
+and examples to exercise VA-API in accordance with the libva \
+project.VA-API is an open-source library and API specification, \
+which provides access to graphics hardware acceleration capabilities \
+for video processing. It consists of a main library and driver-specific \
+acceleration backends for each supported hardware vendor"
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/01org/libva-utils/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
+
+SRC_URI = "git://github.com/01org/libva-utils.git;branch=v1.8-branch"
+SRCREV = "011c709b98b52db3b10aeb361dfea9da43930364"
+UPSTREAM_CHECK_URI = "https://github.com/01org/libva-utils/releases"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libva"
+
+inherit autotools pkgconfig distro_features_check
+
+# depends on libva which requires opengl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.7.3.bb b/import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.8.3.bb
similarity index 85%
rename from import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.7.3.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.8.3.bb
index 6c0b90f..ceeda84 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.7.3.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/libva/libva_1.8.3.bb
@@ -17,11 +17,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
 
-SRC_URI = "git://github.com/01org/libva.git;protocol=http;branch=v1.7-branch \
-           file://0001-configure.ac-Use-wayland-scanner-in-PATH.patch \
-           file://0001-wayland-Don-t-commit-and-ship-generated-files.patch"
-SRCREV = "dbf9f7e33349c3cee8d131e93a6a4f91255635cb"
-UPSTREAM_CHECK_GITTAGREGEX = "libva-(?P<pver>(\d+(\.\d+)+))"
+SRC_URI = "git://github.com/01org/libva.git;protocol=http;branch=v1.8-branch "
+SRCREV = "457470987cc9df5976ce8c72ffd4bfbd9baaf0f9"
+UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>(\d+(\.\d+)+))$"
 
 S = "${WORKDIR}/git"
 
@@ -31,7 +29,7 @@
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-EXTRA_OECONF = "--disable-dummy-driver"
+EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch
new file mode 100644
index 0000000..bd1e863
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch
@@ -0,0 +1,44 @@
+From 342311dbb190735b7b32ab20f81c1d8dbcfe717a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 11 Oct 2017 15:40:42 +0800
+Subject: [PATCH] Makefile.vulkan.am: explictly add lib expat to intel
+ libvulkan's lib depends
+
+While built with "-fvisibility=default"
+...
+|i586-oe-linux-gcc ... -fvisibility=default ... -o common/.libs/common_libintel_common_la-gen_decoder.o
+...
+
+It triggered the failure
+...
+|i586-oe-linux-g++  ... common/.libs/libintel_common.a ... -o vulkan/.libs/libvulkan_intel.so
+|common/.libs/libintel_common.a(common_libintel_common_la-gen_decoder.o):
+|In function `start_element':
+|/usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/intel/common/gen_decoder.c:371:
+undefined reference to `XML_GetCurrentLineNumber'
+...
+
+explictly add EXPAT_LIBS to intel's VULKAN_LIB_DEPS
+
+Upstream-Status: Submitted [mesa-dev@lists.freedesktop.org]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/intel/Makefile.vulkan.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am
+index 271b0a5..8fbe2c8 100644
+--- a/src/intel/Makefile.vulkan.am
++++ b/src/intel/Makefile.vulkan.am
+@@ -144,6 +144,7 @@ VULKAN_LIB_DEPS = \
+ 	$(LIBDRM_LIBS) \
+ 	$(PTHREAD_LIBS) \
+ 	$(DLOPEN_LIBS) \
++	$(EXPAT_LIBS) \
+ 	-lm
+ 
+ if HAVE_PLATFORM_X11
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch
index e49695b..eb6ff4f 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-Use-wayland-scanner-in-the-path.patch
@@ -1,4 +1,4 @@
-From 2f68fcaaf4964e7feeb383f5c26851965cda037c Mon Sep 17 00:00:00 2001
+From c908f0c13ac81a3a52140f129a13b2bc997ff4ee Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 15 Nov 2016 15:20:49 +0200
 Subject: [PATCH] Simplify wayland-scanner lookup
@@ -15,23 +15,23 @@
  1 file changed, 1 insertion(+), 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index e56e35a..a92005a 100644
+index 2c7e636fac..d2b2350739 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2020,12 +2020,7 @@ if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then
-     AC_MSG_ERROR([cannot build egl state tracker without EGL library])
+@@ -2174,12 +2174,7 @@ if test "x$with_platforms" != xauto; then
+     with_egl_platforms=$with_platforms
  fi
  
 -PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
 -        WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
 -        WAYLAND_SCANNER='')
 -if test "x$WAYLAND_SCANNER" = x; then
--    AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
+-    AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
 -fi
 +AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
  
  # Do per-EGL platform setups and checks
  egl_platforms=`IFS=', '; echo $with_egl_platforms`
 -- 
-2.1.4
+2.13.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-ac-fix-build-after-LLVM-5.0-SVN-r300718.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-ac-fix-build-after-LLVM-5.0-SVN-r300718.patch
new file mode 100644
index 0000000..b27a3bc
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-ac-fix-build-after-LLVM-5.0-SVN-r300718.patch
@@ -0,0 +1,40 @@
+From 9861437e58fdd0de01193a102608d34e5952953f Mon Sep 17 00:00:00 2001
+From: Christoph Haag <haagch+mesadev@frickel.club>
+Date: Thu, 20 Apr 2017 10:34:18 +0200
+Subject: [PATCH 1/2] ac: fix build after LLVM 5.0 SVN r300718
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+v2: previously getWithDereferenceableBytes() exists, but addAttr() doesn't take that type
+
+Signed-off-by: Christoph Haag <haagch+mesadev@frickel.club>
+Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
+Tested-and-reviewed-by: Mike Lothian <mike@fireburn.co.uk>
+---
+Upstream-Status: Backport
+
+ src/amd/common/ac_llvm_helper.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/amd/common/ac_llvm_helper.cpp b/src/amd/common/ac_llvm_helper.cpp
+index d9ea4b1..11fa809 100644
+--- a/src/amd/common/ac_llvm_helper.cpp
++++ b/src/amd/common/ac_llvm_helper.cpp
+@@ -44,9 +44,13 @@ typedef AttributeSet AttributeList;
+ void ac_add_attr_dereferenceable(LLVMValueRef val, uint64_t bytes)
+ {
+    llvm::Argument *A = llvm::unwrap<llvm::Argument>(val);
++#if HAVE_LLVM < 0x0500
+    llvm::AttrBuilder B;
+    B.addDereferenceableAttr(bytes);
+    A->addAttr(llvm::AttributeList::get(A->getContext(), A->getArgNo() + 1,  B));
++#else
++   A->addAttr(llvm::Attribute::getWithDereferenceableBytes(A->getContext(), bytes));
++#endif
+ }
+ 
+ bool ac_is_sgpr_param(LLVMValueRef arg)
+-- 
+2.13.3
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-configure.ac-Always-check-for-expat.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-configure.ac-Always-check-for-expat.patch
new file mode 100644
index 0000000..4753c49
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-configure.ac-Always-check-for-expat.patch
@@ -0,0 +1,51 @@
+From 1f7d752193f02d15d5923cee992e8f46d4c6df1b Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Mon, 28 Aug 2017 13:51:49 +0300
+Subject: [PATCH] configure.ac: Always check for expat
+
+expat was not checked if dri was not built leading to build failure
+in vulkan driver: backport a fix (a combination of multiple commits
+that should end up in 17.3).
+
+Upstream-Status: Backport
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ configure.ac | 15 ++++++---------
+ 1 file changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fd346c8aa2..662faecefa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1777,6 +1777,12 @@ if test "x$with_dri_drivers" = xno; then
+     with_dri_drivers=''
+ fi
+ 
++# Check for expat
++PKG_CHECK_MODULES([EXPAT], [expat])
++PKG_CHECK_MODULES([EXPAT], [expat],,
++    [PKG_CHECK_MODULES([EXPAT], [expat21])]
++)
++
+ dnl If $with_dri_drivers is yes, drivers will be added through
+ dnl platform checks. Set DEFINES and LIB_DEPS
+ if test "x$enable_dri" = xyes; then
+@@ -1810,15 +1816,6 @@ if test "x$enable_dri" = xyes; then
+         with_dri_drivers="i915 i965 nouveau r200 radeon swrast"
+     fi
+ 
+-    # Check for expat
+-    PKG_CHECK_MODULES([EXPAT], [expat], [],
+-        # expat version 2.0 and earlier do not provide expat.pc
+-        [AC_CHECK_HEADER([expat.h],[],
+-                         [AC_MSG_ERROR([Expat headers required for DRI not found])])
+-         AC_CHECK_LIB([expat],[XML_ParserCreate],[],
+-                     [AC_MSG_ERROR([Expat library required for DRI not found])])
+-         EXPAT_LIBS="-lexpat"])
+-
+     # put all the necessary libs together
+     DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
+ fi
+-- 
+2.14.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch
new file mode 100644
index 0000000..549b867
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0001-winsys-svga-drm-Include-sys-types.h.patch
@@ -0,0 +1,34 @@
+From d8750776404b1031d762966d0f551d13d2fe05a7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Aug 2017 18:58:20 -0700
+Subject: [PATCH] winsys/svga/drm: Include sys/types.h
+
+vmw_screen.h uses dev_t which is defines in sys/types.h
+this header is required to be included for getting dev_t
+definition. This issue happens on musl C library, it is hidden
+on glibc since sys/types.h is included through another
+system headers
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+
+Upstream-Status: Submitted
+
+ src/gallium/winsys/svga/drm/vmw_screen.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h
+index 0ef8e84..2eda97e 100644
+--- a/src/gallium/winsys/svga/drm/vmw_screen.h
++++ b/src/gallium/winsys/svga/drm/vmw_screen.h
+@@ -41,6 +41,7 @@
+ #include "svga_winsys.h"
+ #include "pipebuffer/pb_buffer_fenced.h"
+ #include <os/os_thread.h>
++#include <sys/types.h>
+ 
+ #define VMW_GMR_POOL_SIZE (16*1024*1024)
+ #define VMW_QUERY_POOL_SIZE (8192)
+-- 
+2.14.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-gallivm-Fix-build-against-LLVM-SVN-r302589.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-gallivm-Fix-build-against-LLVM-SVN-r302589.patch
new file mode 100644
index 0000000..ac8caec
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-gallivm-Fix-build-against-LLVM-SVN-r302589.patch
@@ -0,0 +1,49 @@
+From a02a0dfda2712d30ad62b8f0421ec7b8244ba2cb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
+Date: Wed, 10 May 2017 17:26:07 +0900
+Subject: [PATCH 2/2] gallivm: Fix build against LLVM SVN >= r302589
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+deregisterEHFrames doesn't take any parameters anymore.
+
+Reviewed-by: Vedran Miletić <vedran@miletic.net>
+Reviewed-by: Marek Olšák <marek.olsak@amd.com>
+---
+Upstream-Status: Backport
+
+ src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+index 2a388cb..0e4a531 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+@@ -342,14 +342,20 @@ class DelegatingJITMemoryManager : public BaseMemoryManager {
+       virtual void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) {
+          mgr()->registerEHFrames(Addr, LoadAddr, Size);
+       }
+-      virtual void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) {
+-         mgr()->deregisterEHFrames(Addr, LoadAddr, Size);
+-      }
+ #else
+       virtual void registerEHFrames(llvm::StringRef SectionData) {
+          mgr()->registerEHFrames(SectionData);
+       }
+ #endif
++#if HAVE_LLVM >= 0x0500
++      virtual void deregisterEHFrames() {
++         mgr()->deregisterEHFrames();
++      }
++#elif HAVE_LLVM >= 0x0304
++      virtual void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) {
++         mgr()->deregisterEHFrames(Addr, LoadAddr, Size);
++      }
++#endif
+       virtual void *getPointerToNamedFunction(const std::string &Name,
+                                               bool AbortOnFailure=true) {
+          return mgr()->getPointerToNamedFunction(Name, AbortOnFailure);
+-- 
+2.13.3
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch
new file mode 100644
index 0000000..0e014dc
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/0002-hardware-gloat.patch
@@ -0,0 +1,51 @@
+From 00bcd599310dc7fce4fe336ffd85902429051a0c Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+Date: Sun, 20 Mar 2016 13:27:04 +0100
+Subject: [PATCH 2/4] hardware gloat
+
+Upstream-Status: Inappropriate [not author]
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+---
+ src/gallium/drivers/llvmpipe/lp_screen.c | 7 +++++++
+ src/gallium/drivers/softpipe/sp_screen.c | 7 +++++++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
+index 4f61de8..3b0ec77 100644
+--- a/src/gallium/drivers/llvmpipe/lp_screen.c
++++ b/src/gallium/drivers/llvmpipe/lp_screen.c
+@@ -411,6 +411,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
+    if (!format_desc)
+       return FALSE;
+ 
++   if ((bind & PIPE_BIND_RENDER_TARGET) &&
++       format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
++       format != PIPE_FORMAT_R11G11B10_FLOAT &&
++       util_format_is_float(format)) {
++      return FALSE;
++   }
++
+    assert(target == PIPE_BUFFER ||
+           target == PIPE_TEXTURE_1D ||
+           target == PIPE_TEXTURE_1D_ARRAY ||
+diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c
+index 031602b..c279120 100644
+--- a/src/gallium/drivers/softpipe/sp_screen.c
++++ b/src/gallium/drivers/softpipe/sp_screen.c
+@@ -358,6 +358,13 @@ softpipe_is_format_supported( struct pipe_screen *screen,
+    if (!format_desc)
+       return FALSE;
+ 
++   if ((bind & PIPE_BIND_RENDER_TARGET) &&
++       format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
++       format != PIPE_FORMAT_R11G11B10_FLOAT &&
++       util_format_is_float(format)) {
++      return FALSE;
++   }
++
+    if (sample_count > 1)
+       return FALSE;
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch
new file mode 100644
index 0000000..aa33a1e
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/llvm-config-version.patch
@@ -0,0 +1,32 @@
+When building llvm from git or svn it embeds the svn/git revision into internal version string
+
+$ /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/mesa/2_17.1.5-r0/recipe-sysroot/usr/lib/llvm5.0/llvm-config-host --version
+5.0.0git-9a5c333388c
+
+We need to ignore everything after 5.0.0 which is what the cut cmd is doing
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: mesa-17.1.5/configure.ac
+===================================================================
+--- mesa-17.1.5.orig/configure.ac
++++ mesa-17.1.5/configure.ac
+@@ -967,7 +967,7 @@ strip_unwanted_llvm_flags() {
+ 
+ llvm_set_environment_variables() {
+     if test "x$LLVM_CONFIG" != xno; then
+-        LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'`
++        LLVM_VERSION=`$LLVM_CONFIG --version | cut -c1-5`
+         LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
+         LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
+         LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
+@@ -2560,7 +2560,7 @@ if test "x$enable_llvm" = xyes; then
+     dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823)
+     if test "x$enable_llvm_shared_libs" = xyes; then
+         dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
+-        LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
++        LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version|cut -c1-5`
+         AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes])
+ 
+         if test "x$llvm_have_one_so" = xyes; then
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch
new file mode 100644
index 0000000..15ee5ee
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/files/vulkan-mkdir.patch
@@ -0,0 +1,37 @@
+Upstream-Status: Submitted
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c78979fd95a1c4f732f7e6edf0f32c524e5955b8 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 12 Jul 2017 17:10:07 +0100
+Subject: [PATCH] src/intel/Makefile.vulkan.am: create target directories when
+ required
+
+In out-of-tree builds src/intel/vulkan won't exist, so always create it before
+writing into it.
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ src/intel/Makefile.vulkan.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am
+index 3857a5dc62..26e9cd410c 100644
+--- a/src/intel/Makefile.vulkan.am
++++ b/src/intel/Makefile.vulkan.am
+@@ -44,11 +44,13 @@ EXTRA_DIST += \
+ 	vulkan/TODO
+ 
+ vulkan/dev_icd.json : vulkan/dev_icd.json.in
++	$(MKDIR_GEN)
+ 	$(AM_V_GEN) $(SED) \
+ 		-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
+ 		< $(srcdir)/vulkan/dev_icd.json.in > $@
+ 
+ vulkan/intel_icd.@host_cpu@.json : vulkan/intel_icd.json.in
++	$(MKDIR_GEN)
+ 	$(AM_V_GEN) $(SED) \
+ 		-e "s#@install_libdir@#${libdir}#" \
+ 		< $(srcdir)/vulkan/intel_icd.json.in > $@
+-- 
+2.11.0
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb
index 8b94613..eeb898f 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb
@@ -12,7 +12,7 @@
 PE = "2"
 PR = "0"
 
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${PV}.tar.bz2"
+SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.bz2"
 
 SRC_URI[md5sum] = "be9249132ff49275461cf92039083030"
 SRC_URI[sha256sum] = "1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb
index e43b9ef..bae3b18 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
                     file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
 
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2 \
+SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \
            file://0001-mesa-demos-Add-missing-data-files.patch \
            file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \
            file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.0.2.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.0.2.bb
deleted file mode 100644
index e3604f3..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.0.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require mesa_${PV}.bb
-
-SUMMARY += " (OpenGL only, no EGL/GLES)"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/mesa:"
-
-PROVIDES = "virtual/libgl virtual/mesa"
-
-S = "${WORKDIR}/mesa-${PV}"
-
-PACKAGECONFIG ??= "dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.1.7.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.1.7.bb
new file mode 100644
index 0000000..73267eb
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa-gl_17.1.7.bb
@@ -0,0 +1,9 @@
+require mesa_${PV}.bb
+
+SUMMARY += " (OpenGL only, no EGL/GLES)"
+
+PROVIDES = "virtual/libgl virtual/mesa"
+
+S = "${WORKDIR}/mesa-${PV}"
+
+PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa.inc b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa.inc
index 25cbf63..4f31ed2 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa.inc
@@ -10,47 +10,64 @@
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.html;md5=899fbe7e42d494c7c8c159c7001693d5"
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=725f991a1cc322aa7a0cd3a2016621c4"
 
 PE = "2"
 
-DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native"
-
+DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native"
+EXTRANATIVEPATH += "chrpath-native"
 PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
 
-inherit autotools pkgconfig pythonnative gettext distro_features_check
+inherit autotools pkgconfig gettext distro_features_check
 
-REQUIRED_DISTRO_FEATURES = "opengl"
+ANY_OF_DISTRO_FEATURES = "opengl vulkan"
 
-export LLVM_CONFIG = "${STAGING_BINDIR_CROSS}/llvm-config"
-EXTRA_OECONF = "--enable-shared-glapi"
+PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \
+               ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)}"
 
-PACKAGECONFIG ??= "gbm egl gles dri \
-		${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \
-		"
+export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config"
+EXTRA_OECONF = "--enable-shared-glapi \
+                --disable-opencl \
+                --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \
+                --with-platforms='${PLATFORMS}'"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
+		   "
+
+# "gbm" requires "dri", "opengl"
 PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm"
 
 X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
+# "x11" requires "opengl"
 PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
 PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc"
-PACKAGECONFIG[wayland] = ",,wayland-native wayland"
+PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm"
 
 DRIDRIVERS = "swrast"
 DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
+# "dri" requires "opengl"
 PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm"
 PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence"
 
 # Vulkan drivers need dri3 enabled
 # radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9
-PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=intel, --without-vulkan-drivers"
+VULKAN_DRIVERS = ""
+VULKAN_DRIVERS_append_x86 = ",intel"
+VULKAN_DRIVERS_append_x86-64 = ",intel"
+PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers"
 
+PACKAGECONFIG[opengl] = "--enable-opengl, --disable-opengl"
+
+# "gles" requires "opengl"
 PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2"
 
-EGL_PLATFORMS  = "drm"
-EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'x11', ',x11', '', d)}"
-EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}"
-PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disable-egl"
+# "egl" requires "dri", "opengl"
+PACKAGECONFIG[egl] = "--enable-egl, --disable-egl"
 
 PACKAGECONFIG[etnaviv] = ""
 PACKAGECONFIG[imx] = ""
@@ -65,9 +82,9 @@
 GALLIUMDRIVERS_append_x86 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
 GALLIUMDRIVERS_append_x86-64 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
 # keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers
-PACKAGECONFIG[gallium]      = "--with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
-MESA_LLVM_RELEASE ?= "3.3"
-PACKAGECONFIG[gallium-llvm] = "--enable-gallium-llvm --enable-llvm-shared-libs, --disable-gallium-llvm, llvm${MESA_LLVM_RELEASE} \
+PACKAGECONFIG[gallium]      = "--enable-texture-float --with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
+MESA_LLVM_RELEASE ?= "5.0"
+PACKAGECONFIG[gallium-llvm] = "--enable-llvm --enable-llvm-shared-libs, --disable-llvm, llvm${MESA_LLVM_RELEASE} llvm-native \
                                ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
 export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
 PACKAGECONFIG[xa]  = "--enable-xa, --disable-xa"
@@ -75,9 +92,13 @@
 OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium-osmesa', 'osmesa', d)}"
 PACKAGECONFIG[osmesa] = "--enable-${OSMESA},--disable-${OSMESA}"
 
+PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+
 # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
 FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
 
+CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS"
+
 # Multiple virtual/gl providers being built breaks staging
 EXCLUDE_FROM_WORLD = "1"
 
@@ -106,9 +127,10 @@
     rm -f ${D}${libdir}/egl/*.la
     rm -f ${D}${libdir}/gallium-pipe/*.la
     rm -f ${D}${libdir}/gbm/*.la
-    
+
     # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used 
     rm -f ${D}${sysconfdir}/drirc
+    chrpath --delete ${D}${libdir}/dri/*_dri.so || true
 }
 
 # For the packages that make up the OpenGL interfaces, inject variables so that
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.0.2.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.0.2.bb
deleted file mode 100644
index 2689e8f..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/mesa-${PV}.tar.xz \
-           file://replace_glibc_check_with_linux.patch \
-           file://disable-asm-on-non-gcc.patch \
-           file://0001-Use-wayland-scanner-in-the-path.patch \
-"
-
-SRC_URI[md5sum] = "8f808e92b893d412fbd6510e1d16f5c5"
-SRC_URI[sha256sum] = "f8f191f909e01e65de38d5bdea5fb057f21649a3aed20948be02348e77a689d4"
-
-#because we cannot rely on the fact that all apps will use pkgconfig,
-#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
-do_install_append() {
-    if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
-        sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
-    fi
-}
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.1.7.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.1.7.bb
new file mode 100644
index 0000000..39cfce9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_17.1.7.bb
@@ -0,0 +1,25 @@
+require ${BPN}.inc
+
+SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
+           file://replace_glibc_check_with_linux.patch \
+           file://disable-asm-on-non-gcc.patch \
+           file://0001-Use-wayland-scanner-in-the-path.patch \
+           file://0002-hardware-gloat.patch \
+           file://vulkan-mkdir.patch \
+           file://llvm-config-version.patch \
+           file://0001-ac-fix-build-after-LLVM-5.0-SVN-r300718.patch \
+           file://0002-gallivm-Fix-build-against-LLVM-SVN-r302589.patch \
+           file://0001-winsys-svga-drm-Include-sys-types.h.patch \
+           file://0001-configure.ac-Always-check-for-expat.patch \
+           file://0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch \
+           "
+SRC_URI[md5sum] = "e40bb428a263bd28cbf6478dae45b207"
+SRC_URI[sha256sum] = "69f472a874b1122404fa0bd13e2d6bf87eb3b9ad9c21d2f39872a96d83d9e5f5"
+
+#because we cannot rely on the fact that all apps will use pkgconfig,
+#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
+do_install_append() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
+        sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
+    fi
+}
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_git.bb
deleted file mode 100644
index c034517..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/mesa/mesa_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require ${BPN}.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-SRCREV = "ea0d1f575c214c09ba3df12644a960e86e031766"
-PV = "10.5.4+git${SRCPV}"
-
-SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;branch=10.5"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "python-mako-native"
-
-inherit pythonnative
-
-#because we cannot rely on the fact that all apps will use pkgconfig,
-#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
-do_install_append() {
-    if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
-        sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
-    fi
-}
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.3.bb b/import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.6.bb
similarity index 92%
rename from import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.3.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.6.bb
index e259a82..31c3d2a 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.3.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/pango/pango_1.40.6.bb
@@ -17,8 +17,8 @@
             file://0001-Drop-introspection-macros-from-acinclude.m4.patch \
             file://0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch \
 "
-SRC_URI[archive.md5sum] = "17c26720f5a862a12f7e1745e2f1d966"
-SRC_URI[archive.sha256sum] = "abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3"
+SRC_URI[archive.md5sum] = "507c6746fbf53fc9d48c577f1e265de3"
+SRC_URI[archive.sha256sum] = "ca152b7383a1e9f7fd74ae96023dc6770dc5043414793bfe768ff06b6759e573"
 
 DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch
deleted file mode 100644
index 8b63424..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 47697aee05a112422acf203982085e7b3e6c05b2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Thu, 4 May 2017 00:57:39 -0500
-Subject: [PATCH 1/4] CMake: define GBM_BO_MAP only when symbol is found
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-gbm_bo_map() and _unmap() have been added recently to Mesa,
-and this update may not have reached all implementations of
-GBM, such as the one provided by Mali r6, where said
-definitions can be found in the header file but not in the
-library itself. This leads to errors like the following when
-linking:
-  ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_unmap'
-  ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_map'
-  collect2: error: ld returned 1 exit status
-  make[2]: *** [bin/point-sprite] Error 1
-
-Instead of relying on the header file, actually try to link
-using that symbol to determine if PIGLIT_HAS_GBM_BO_MAP
-should be defined.
-
-Upstream-Status: Submitted [piglit@lists.freedesktop.org]
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
-Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
----
- CMakeLists.txt | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a4ff99e..cc26fa8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -141,8 +141,9 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- 	if(GBM_FOUND)
- 		set(PIGLIT_HAS_GBM True)
- 		add_definitions(-DPIGLIT_HAS_GBM)
--		if (GBM_VERSION VERSION_EQUAL "12.1" OR GBM_VERSION VERSION_GREATER "12.1")
--			set(PIGLIT_HAS_GBM_BO_MAP True)
-+		set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GBM_LIBRARIES})
-+		CHECK_FUNCTION_EXISTS(gbm_bo_map PIGLIT_HAS_GBM_BO_MAP)
-+		if (PIGLIT_HAS_GBM_BO_MAP)
- 			add_definitions(-DPIGLIT_HAS_GBM_BO_MAP)
- 		endif()
- 	endif(GBM_FOUND)
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch
deleted file mode 100644
index f3aa1ba..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From a6608f218b5023cef36b3de5ec3c5f00b0211d1c Mon Sep 17 00:00:00 2001
-From: Daniel Diaz <daniel.diaz@linaro.org>
-Date: Wed, 17 May 2017 18:00:15 -0500
-Subject: [PATCH 2/4] util/egl: Honour Surfaceless MESA in get_default_display
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The EGL_MESA_platform_surfaceless extension was introduced not too long
-ago. Add support for it our helper.
-
-Upstream-Status: Accepted, since git 7b74602.
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
----
- tests/util/piglit-util-egl.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/tests/util/piglit-util-egl.c b/tests/util/piglit-util-egl.c
-index 106c735..389fe12 100644
---- a/tests/util/piglit-util-egl.c
-+++ b/tests/util/piglit-util-egl.c
-@@ -85,6 +85,7 @@ piglit_egl_get_default_display(EGLenum platform)
- 	static bool has_x11 = false;
- 	static bool has_wayland = false;
- 	static bool has_gbm = false;
-+	static bool has_surfaceless_mesa = false;
- 
- 	static EGLDisplay (*peglGetPlatformDisplayEXT)(EGLenum platform, void *native_display, const EGLint *attrib_list);
- 
-@@ -99,6 +100,7 @@ piglit_egl_get_default_display(EGLenum platform)
- 		has_x11 = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_x11");
- 		has_wayland = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_wayland");
- 		has_gbm = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_EXT_platform_gbm");
-+		has_surfaceless_mesa = piglit_is_egl_extension_supported(EGL_NO_DISPLAY, "EGL_MESA_platform_surfaceless");
- 
- 		peglGetPlatformDisplayEXT = (void*) eglGetProcAddress("eglGetPlatformDisplayEXT");
- 	}
-@@ -123,6 +125,11 @@ piglit_egl_get_default_display(EGLenum platform)
- 			return EGL_NO_DISPLAY;
- 		}
- 		break;
-+	case EGL_PLATFORM_SURFACELESS_MESA:
-+		if (!has_surfaceless_mesa) {
-+			return EGL_NO_DISPLAY;
-+		}
-+		break;
- 	default:
- 		fprintf(stderr, "%s: unrecognized platform %#x\n", __func__, platform);
- 		return EGL_NO_DISPLAY;
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch
deleted file mode 100644
index 0f24dc1..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c0dc430b8f5deeacdb11cd188195e16f512af233 Mon Sep 17 00:00:00 2001
-From: Daniel Diaz <daniel.diaz@linaro.org>
-Date: Wed, 17 May 2017 18:00:16 -0500
-Subject: [PATCH 3/4] egl_mesa_platform_surfaceless: Don't use
- eglGetPlatformDisplay directly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The entry point is not guaranteed to exist, so use the
-piglit_egl_get_default_display() helper which does the correct thing.
-
-Upstream-Status: Accepted, since git 7b74602.
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
----
- .../spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c  | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-index 3bbd6aa..81a3919 100644
---- a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-+++ b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-@@ -31,7 +31,7 @@ test_setup(EGLDisplay *dpy)
- 
- 	piglit_require_egl_extension(EGL_NO_DISPLAY, "EGL_MESA_platform_surfaceless");
- 
--	*dpy = eglGetPlatformDisplay(EGL_PLATFORM_SURFACELESS_MESA, NULL, NULL);
-+	*dpy = piglit_egl_get_default_display(EGL_PLATFORM_SURFACELESS_MESA);
- 	if (*dpy == EGL_NO_DISPLAY) {
- 		printf("failed to get EGLDisplay\n");
- 		piglit_report_result(PIGLIT_SKIP);
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch
deleted file mode 100644
index 0952af5..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit/0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 57de1ff6758ec5ea4a52637f233e3e3150086255 Mon Sep 17 00:00:00 2001
-From: Daniel Diaz <daniel.diaz@linaro.org>
-Date: Wed, 17 May 2017 18:00:17 -0500
-Subject: [PATCH 4/4] egl_mesa_platform_surfaceless: Use EXT functions for
- surfaces
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-These EXT symbols are guaranteed to exist since they require
-EGL_EXT_platform_base.
-
-Upstream-Status: Accepted, since git 7b74602.
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
----
- .../egl_mesa_platform_surfaceless.c                | 23 ++++++++++++++++++++--
- 1 file changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-index 81a3919..264ed71 100644
---- a/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-+++ b/tests/egl/spec/egl_mesa_platform_surfaceless/egl_mesa_platform_surfaceless.c
-@@ -24,6 +24,24 @@
- #include "piglit-util.h"
- #include "piglit-util-egl.h"
- 
-+/* Extension function pointers.
-+ *
-+ * Use prefix 'pegl' (piglit egl) instead of 'egl' to avoid collisions with
-+ * prototypes in eglext.h. */
-+EGLSurface (*peglCreatePlatformPixmapSurfaceEXT)(EGLDisplay display, EGLConfig config,
-+	    NativePixmapType native_pixmap, const EGLint *attrib_list);
-+EGLSurface (*peglCreatePlatformWindowSurfaceEXT)(EGLDisplay display, EGLConfig config,
-+	    NativeWindowType native_window, const EGLint *attrib_list);
-+
-+static void
-+init_egl_extension_funcs(void)
-+{
-+	peglCreatePlatformPixmapSurfaceEXT = (void*)
-+		eglGetProcAddress("eglCreatePlatformPixmapSurfaceEXT");
-+	peglCreatePlatformWindowSurfaceEXT = (void*)
-+		eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT");
-+}
-+
- static void
- test_setup(EGLDisplay *dpy)
- {
-@@ -72,7 +90,7 @@ test_create_window(void *test_data)
- 
- 	test_setup(&dpy);
- 
--	surf = eglCreatePlatformWindowSurface(dpy, EGL_NO_CONFIG_KHR,
-+	surf = peglCreatePlatformWindowSurfaceEXT(dpy, EGL_NO_CONFIG_KHR,
- 					      /*native_window*/ NULL,
- 					      /*attrib_list*/ NULL);
- 	if (surf) {
-@@ -103,7 +121,7 @@ test_create_pixmap(void *test_data)
- 
- 	test_setup(&dpy);
- 
--	surf = eglCreatePlatformPixmapSurface(dpy, EGL_NO_CONFIG_KHR,
-+	surf = peglCreatePlatformPixmapSurfaceEXT(dpy, EGL_NO_CONFIG_KHR,
- 					      /*native_window*/ NULL,
- 					      /*attrib_list*/ NULL);
- 	if (surf) {
-@@ -205,6 +223,7 @@ main(int argc, char **argv)
- 		piglit_report_result(PIGLIT_FAIL);
- 	}
- 
-+	init_egl_extension_funcs();
- 	result = piglit_run_selected_subtests(subtests, selected_names,
- 					      num_selected, result);
- 	piglit_report_result(result);
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit_git.bb
index 2ea5779..d274a8f 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -5,14 +5,11 @@
 SRC_URI = "git://anongit.freedesktop.org/piglit \
            file://0001-cmake-install-bash-completions-in-the-right-place.patch \
            file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \
-           file://0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch \
-           file://0002-util-egl-Honour-Surfaceless-MESA-in-get_default_disp.patch \
-           file://0003-egl_mesa_platform_surfaceless-Don-t-use-eglGetPlatfo.patch \
-           file://0004-egl_mesa_platform_surfaceless-Use-EXT-functions-for-.patch \
            "
+UPSTREAM_VERSION_UNKNOWN = "1"
 
-# From 2017-02-06
-SRCREV = "ca58eec0b965655c7eba592a634cbf4aadfbc675"
+# From 2017-07-03
+SRCREV = "c8f4fd9eeb298a2ef0855927f22634f794ef3eff"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr${SRCPV}"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb b/import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
similarity index 67%
rename from import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
index 74212e7..412da48 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
@@ -5,23 +5,22 @@
 HOMEPAGE = "https://releases.pagure.org/liberation-fonts/"
 BUGTRACKER = "https://bugzilla.redhat.com/"
 
-RECIPE_NO_UPDATE_REASON = "2.x depends on fontforge package, which is not yet provided in oe-core"
-
 SECTION = "x11/fonts"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r4"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b"
 PE = "1"
 
 inherit allarch fontcache
 
 FONT_PACKAGES = "${PN}"
 
-SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-${PV}.tar.gz \
+SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
            file://30-liberation-aliases.conf"
 
-SRC_URI[md5sum] = "4846797ef0fc70b0cbaede2514677c58"
-SRC_URI[sha256sum] = "0e0d0957c85b758561a3d4aef4ebcd2c39959e5328429d96ae106249d83531a1"
+S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
+
+SRC_URI[md5sum] = "5c781723a0d9ed6188960defba8e91cf"
+SRC_URI[sha256sum] = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"
 
 do_install () {
 	install -d ${D}${datadir}/fonts/ttf/
@@ -33,7 +32,7 @@
 	install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
 
 	install -d ${D}${prefix}/share/doc/${BPN}/
-	install -m 0644 License.txt ${D}${datadir}/doc/${BPN}/
+	install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/
 }
 
 PACKAGES = "${PN}"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/assimp_4.0.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/assimp_4.0.0.bb
new file mode 100644
index 0000000..7a96a4f
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/assimp_4.0.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \
+               various well-known 3D model formats in a uniform manner."
+HOMEPAGE = "http://www.assimp.org/"
+SECTION = "devel"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271"
+
+DEPENDS = "zlib"
+
+SRC_URI = "git://github.com/assimp/assimp.git"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
+
+SRCREV = "52c8d06f5d6498afd66df983da348a6b112f1314"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}"
+
+FILES_${PN}-dev += "${libdir}/cmake/"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch
new file mode 100644
index 0000000..d32c8f2
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Don-t-build-demos-with-questionably-licensed-data.patch
@@ -0,0 +1,91 @@
+From 55770fb07c42fe410cf8d09f8f5976babc89b9ef Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 4 Jul 2017 17:13:45 +0300
+Subject: [PATCH] Don't build demos with questionably licensed data
+
+Some of the models don't have open source compatible licenses:
+don't build demos using those. Also don't build demos that need
+resources that are not included.
+
+ssao:
+scenerendering:
+	Sibenik model, no license found
+
+deferred:
+deferredmultisampling:
+deferredshadows:
+	armor model, CC-BY-3.0
+
+vulkanscene:
+imgui:
+shadowmapping:
+	vulkanscene model, no license found
+
+indirectdraw:
+	plant model, no license found
+
+hdr:
+pbribl:
+pbrtexture:
+	Require external Vulkan Asset Pack
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ CMakeLists.txt | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4958fff..0f9d3e4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -150,17 +150,11 @@ set(EXAMPLES
+ 	computeparticles
+ 	computeshader
+ 	debugmarker
+-	deferred
+-	deferredmultisampling
+-	deferredshadows
+ 	displacement
+ 	distancefieldfonts
+ 	dynamicuniformbuffer
+ 	gears
+ 	geometryshader
+-	hdr
+-	imgui
+-	indirectdraw	
+ 	instancing
+ 	mesh
+ 	multisampling
+@@ -170,20 +164,14 @@ set(EXAMPLES
+ 	parallaxmapping
+ 	particlefire
+ 	pbrbasic
+-	pbribl
+-	pbrtexture
+ 	pipelines
+ 	pushconstants
+ 	radialblur
+ 	raytracing
+-	scenerendering
+ 	screenshot
+-	shadowmapping
+-	shadowmappingomni
+ 	skeletalanimation
+ 	specializationconstants
+ 	sphericalenvmapping
+-	ssao
+ 	subpasses
+ 	terraintessellation
+ 	tessellation
+@@ -196,7 +184,6 @@ set(EXAMPLES
+ 	texturesparseresidency
+ 	triangle
+ 	viewportarray
+-	vulkanscene
+ )
+ 
+ buildExamples()
+-- 
+2.13.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch
new file mode 100644
index 0000000..681b342
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Fix-build-on-x86.patch
@@ -0,0 +1,41 @@
+From b0495efb6c3ea3a530fcbaddac86da57ecce5a66 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Mon, 10 Jul 2017 13:11:12 +0300
+Subject: [PATCH] Fix build on x86
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| func_common.inl:193:51: error: wrong number of template arguments
+| (5, should be 6) struct compute_sign<T, P, vecType, false, Aligned>
+
+The fix is backported from the upstream glm project.
+
+Upstream-Status: Pending [https://github.com/SaschaWillems/Vulkan/issues/356]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ external/glm/glm/detail/func_common.inl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/external/glm/glm/detail/func_common.inl b/external/glm/glm/detail/func_common.inl
+index cafaed5..2dd94e1 100644
+--- a/external/glm/glm/detail/func_common.inl
++++ b/external/glm/glm/detail/func_common.inl
+@@ -190,12 +190,12 @@ namespace detail
+ 
+ #	if GLM_ARCH == GLM_ARCH_X86
+ 	template<length_t L, typename T, precision P, template<length_t, typename, precision> class vecType, bool Aligned>
+-	struct compute_sign<T, P, vecType, false, Aligned>
++	struct compute_sign<L, T, P, vecType, false, Aligned>
+ 	{
+ 		GLM_FUNC_QUALIFIER static vecType<L, T, P> call(vecType<L, T, P> const & x)
+ 		{
+ 			T const Shift(static_cast<T>(sizeof(T) * 8 - 1));
+-			vecType<L, T, P> const y(vecType<typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift));
++			vecType<L, T, P> const y(vecType<L, typename make_unsigned<T>::type, P>(-x) >> typename make_unsigned<T>::type(Shift));
+ 
+ 			return (x >> Shift) | y;
+ 		}
+-- 
+2.1.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch
new file mode 100644
index 0000000..4addea3
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos/0001-Support-installing-demos-support-out-of-tree-builds.patch
@@ -0,0 +1,85 @@
+From edca667684764cfcc0460e448e834fadf623a887 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Mon, 3 Jul 2017 14:49:18 +0300
+Subject: [PATCH] Support installing demos, support out-of-tree builds
+
+This is especially useful for cross-compile situation where testing
+happens on target.
+
+-DRESOURCE_INSTALL_DIR=<path> decides where data is installed (and
+where the binaries will load the data from): if it's left empty,
+then nothing will be installed and binaries will load the data from
+CMAKE_SOURCE_DIR.
+
+Binaries are now correctly built in CMAKE_BINARY_DIR.
+
+Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/pull/352]
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ CMakeLists.txt             | 15 ++++++++++++++-
+ base/vulkanexamplebase.cpp |  2 +-
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b9886bc..4958fff 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,8 @@ include_directories(base)
+ OPTION(USE_D2D_WSI "Build the project using Direct to Display swapchain" OFF)
+ OPTION(USE_WAYLAND_WSI "Build the project using Wayland swapchain" OFF)
+ 
++set(RESOURCE_INSTALL_DIR "" CACHE PATH "Path to install resources to (leave empty for running uninstalled)")
++
+ # Use FindVulkan module added with CMAKE 3.7
+ if (NOT CMAKE_VERSION VERSION_LESS 3.7.0)
+ 	message(STATUS "Using module to find Vulkan")
+@@ -108,6 +110,10 @@ function(buildExample EXAMPLE_NAME)
+ 		add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS})
+ 		target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ 	endif(WIN32)
++
++	if(RESOURCE_INSTALL_DIR)
++		install(TARGETS ${EXAMPLE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
++	endif()
+ endfunction(buildExample)
+ 
+ # Build all examples
+@@ -117,6 +123,13 @@ function(buildExamples)
+ 	endforeach(EXAMPLE)
+ endfunction(buildExamples)
+ 
++if(RESOURCE_INSTALL_DIR)
++	add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${RESOURCE_INSTALL_DIR}/\")
++	install(DIRECTORY data/ DESTINATION ${RESOURCE_INSTALL_DIR}/)
++else()
++	add_definitions(-DVK_EXAMPLE_DATA_DIR=\"${CMAKE_SOURCE_DIR}/data/\")
++endif()
++
+ # Compiler specific stuff
+ IF(MSVC)
+ 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
+@@ -128,7 +141,7 @@ ELSE(WIN32)
+ 	link_libraries(${XCB_LIBRARIES} ${Vulkan_LIBRARY})
+ ENDIF(WIN32)
+ 
+-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/")
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/")
+ 
+ set(EXAMPLES 
+ 	bloom
+diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp
+index 647368a..a0f28a5 100644
+--- a/base/vulkanexamplebase.cpp
++++ b/base/vulkanexamplebase.cpp
+@@ -84,7 +84,7 @@ const std::string VulkanExampleBase::getAssetPath()
+ #if defined(__ANDROID__)
+ 	return "";
+ #else
+-	return "./../data/";
++	return VK_EXAMPLE_DATA_DIR;
+ #endif
+ }
+ #endif
+-- 
+2.13.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
new file mode 100644
index 0000000..0b89435
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Collection of Vulkan examples"
+LICENSE = "MIT"
+DEPENDS = "zlib"
+
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \
+                    file://triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa"
+
+SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \
+           file://0001-Support-installing-demos-support-out-of-tree-builds.patch \
+           file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \
+           file://0001-Fix-build-on-x86.patch \
+"
+UPSTREAM_VERSION_UNKNOWN = "1"
+SRCREV = "18df00c7b4677b0889486e16977857aa987947e2"
+UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = 'vulkan'
+
+inherit cmake distro_features_check
+DEPENDS = "vulkan assimp"
+
+do_install_append () {
+    # Remove assets that have uncertain licenses
+    rm ${D}${datadir}/vulkan-demos/models/armor/* \
+       ${D}${datadir}/vulkan-demos/models/sibenik/* \
+       ${D}${datadir}/vulkan-demos/models/vulkanscene* \
+       ${D}${datadir}/vulkan-demos/models/plants.dae \
+       ${D}${datadir}/vulkan-demos/textures/texturearray_plants*
+
+    mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot
+}
+
+EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos"
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+# Can only pick one of [wayland,xcb]
+PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb' ,d)}"
+PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland"
+PACKAGECONFIG[xcb] = ",,libxcb"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch
deleted file mode 100644
index 694922c..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan/0001-Use-getenv-if-secure_getenv-does-not-exist.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 20525add1df8e1fb13fef90ac068f982def8b958 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Wed, 8 Mar 2017 13:23:58 +0200
-Subject: [PATCH] Use getenv() if secure_getenv() does not exist
-
-musl does not implement secure version: default to getenv() in that
-case.
-
-https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1538
-
-Upstream-Status: Pending
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- loader/loader.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/loader/loader.c b/loader/loader.c
-index 24758f4..bff79c1 100644
---- a/loader/loader.c
-+++ b/loader/loader.c
-@@ -54,6 +54,10 @@
- #endif
- #endif
- 
-+#if !defined(__secure_getenv)
-+#define __secure_getenv getenv
-+#endif
-+
- struct loader_struct loader = {0};
- // TLS for instance for alloc/free callbacks
- THREAD_LOCAL_DECL struct loader_instance *tls_instance;
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb
similarity index 86%
rename from import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb
index 45d1c49..9de39bc 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.39.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/vulkan/vulkan_1.0.51.0.bb
@@ -10,14 +10,15 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \
                     file://loader/loader.c;endline=25;md5=a87cd5442291c23d1fce4eece4cfde9d"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.39 \
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.0.51 \
            file://demos-Don-t-build-tri-or-cube.patch \
-           file://0001-Use-getenv-if-secure_getenv-does-not-exist.patch \
 "
-SRCREV = "9c21ed0fb275589c3af6118aec9ef4f1d1544dc1"
+SRCREV = "8d021e4d5a9f91436f4462df1dafb222908e296d"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
 
+REQUIRED_DISTRO_FEATURES = "vulkan"
 
 inherit cmake python3native lib_package distro_features_check
 ANY_OF_DISTRO_FEATURES = "x11 wayland"
@@ -32,3 +33,4 @@
 PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
 PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
 
+RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch
new file mode 100644
index 0000000..4667538
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch
@@ -0,0 +1,37 @@
+From 5e8864c5b7a2e258eea041b0ef66dac7fcab9b7f Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Wed, 9 Aug 2017 09:47:14 +0300
+Subject: [PATCH] tools: Fix race in (autotools) install
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+exec/data distinction is done based on install dir so compat scripts
+must be moved in exec hook.
+
+This should fix this occasional failure:
+| install: cannot change permissions of
+| ‘/usr/bin/libinput-debug-events.compat’: No such file or directory
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Upstream-Status: Submitted
+---
+ tools/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 2c8660b..7ee8b90 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -63,7 +63,7 @@ endif
+ 
+ EXTRA_DIST = make-ptraccel-graphs.sh install-compat-scripts.sh $(bin_SCRIPTS)
+ 
+-install-data-hook:
++install-exec-hook:
+ 	(cd $(DESTDIR)$(bindir) && mv libinput-list-devices.compat libinput-list-devices)
+ 	(cd $(DESTDIR)$(bindir) && mv libinput-debug-events.compat libinput-debug-events)
+ 
+-- 
+2.13.3
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
deleted file mode 100644
index b52b496..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-This is a workaround upstream suggests for use with kernel 4.1.
-
-Upstream-Status: Inappropriate [temporary work-around]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
-
-
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Mon Aug 3 18:23:12 PDT 2015
-Subject: [PATCH v3 libinput] touchpad: serial synaptics need to fake new touches on TRIPLETAP
-
-On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does
-2). This was added to avoid cursor jumps but has since been reverted for 4.2
-(kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP
-may be triggered without slot 2 ever activating.
-
-While there are still those kernels out there, work around this bug by opening
-a new touch point where none exists if the fake finger count exceeds the slot
-count.
-
-Reported-by: Jan Alexander Steffens <jan.steffens at gmail.com>
-Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
-Tested-by: Jan Alexander Steffens <jan.steffens at gmail.com>
-Reviewed-by: Hans de Goede <hdegoede at redhat.com>
----
-Changes to v2:
-- split out the handling instead of having a tmp state variable, see Hans'
-  comments from v2
-
-Mainly sending this to the list again so I have a link to point people to.
-If you're on 4.1.x add this patch to your distribution package.
-
- src/evdev-mt-touchpad.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
-index a683d9a..5ef03d5 100644
---- a/src/evdev-mt-touchpad.c
-+++ b/src/evdev-mt-touchpad.c
-@@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp,
- 	for (i = 0; i < tp->num_slots; i++) {
- 		struct tp_touch *t = tp_get_touch(tp, i);
- 
--		if (t->state != TOUCH_END)
-+		switch(t->state) {
-+		case TOUCH_HOVERING:
-+		case TOUCH_BEGIN:
-+		case TOUCH_UPDATE:
- 			continue;
--
--		/* new touch, move it through begin to update immediately */
--		tp_new_touch(tp, t, time);
--		tp_begin_touch(tp, t, time);
--		t->state = TOUCH_UPDATE;
-+		case TOUCH_NONE:
-+			/* new touch, move it through to begin immediately */
-+			tp_new_touch(tp, t, time);
-+			tp_begin_touch(tp, t, time);
-+			break;
-+		case TOUCH_END:
-+			/* touch just ended ,we need need to restore it to update */
-+			tp_new_touch(tp, t, time);
-+			tp_begin_touch(tp, t, time);
-+			t->state = TOUCH_UPDATE;
-+			break;
-+		}
- 	}
- }
- 
--- 
-2.4.3
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.6.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.6.1.bb
deleted file mode 100644
index c8714f2..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.6.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Library to handle input devices in Wayland compositors"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f"
-
-DEPENDS = "libevdev udev mtdev"
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
-           file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \
-"
-SRC_URI[md5sum] = "7e282344f8ed7ec5cf87ca9fc22674fb"
-SRC_URI[sha256sum] = "9d816f13eee63bcca0e9c3bb652c52ab55f39be4d1b90b54e4bfd1dc92ef55a8"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom"
-PACKAGECONFIG[gui] = "--enable-event-gui,--disable-event-gui,cairo gtk+3"
-
-UDEVDIR = "`pkg-config --variable=udevdir udev`"
-
-EXTRA_OECONF += "--with-udev-dir=${UDEVDIR}"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.8.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.8.1.bb
new file mode 100644
index 0000000..a21babe
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/libinput_1.8.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Library to handle input devices in Wayland compositors"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f"
+
+DEPENDS = "libevdev udev mtdev"
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
+           file://0001-tools-Fix-race-in-autotools-install.patch \
+"
+
+SRC_URI[md5sum] = "8247f0bb67052ffb272c50c3cb9c5998"
+SRC_URI[sha256sum] = "e3590a9037e561a5791c8bd3b34bfd30fad5cacd8cbefc0d75fafe3a41d07147"
+
+inherit autotools pkgconfig lib_package
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom"
+PACKAGECONFIG[gui] = "--enable-debug-gui,--disable-debug-gui,cairo gtk+3"
+
+UDEVDIR = "`pkg-config --variable=udevdir udev`"
+
+EXTRA_OECONF += "--with-udev-dir=${UDEVDIR} --disable-documentation --disable-tests"
+
+# package name changed in 1.8.1 upgrade: make sure package upgrades work
+RPROVIDES_${PN} = "libinput"
+RREPLACES_${PN} = "libinput"
+RCONFLICTS_${PN} = "libinput"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.7.bb b/import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.10.bb
similarity index 84%
rename from import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.7.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.10.bb
index 1d2f0db..4f9e9f3 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.7.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/wayland-protocols_1.10.bb
@@ -11,8 +11,8 @@
 
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            "
-SRC_URI[md5sum] = "9acfc9556f7cfedc44d97af60da66a5f"
-SRC_URI[sha256sum] = "635f2a937d318f1fecb97b54074ca211486e38af943868dd0fa82ea38d091c1f"
+SRC_URI[md5sum] = "84a7846c2b6a6a3e265fc9be36453e60"
+SRC_URI[sha256sum] = "5719c51d7354864983171c5083e93a72ac99229e2b460c4bb10513de08839c0a"
 
 inherit allarch autotools pkgconfig
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch
deleted file mode 100644
index c188018..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Multi-plane sub-sampled textures have partial width/height, e.g.
-YUV420/I420 has a full-size Y plane, followed by a half-width/height U
-plane, and a half-width/height V plane.
-
-zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each
-plane, but for wl_shm this must be inferred. gl-renderer was correctly
-accounting for the width and height when subsampling, but the pitch was
-being taken as the pitch for the first plane.
-
-This does not match the requirements for GStreamer's waylandsink, in
-particular, as well as other clients. Fix the SHM upload path to
-correctly set the pitch for each plane, according to subsampling.
-
-Tested with:
-  $ gst-launch-1.0 videotestsrc ! waylandsink
-
-Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/]
-
-Signed-off-by: Daniel Stone <daniels@collabora.com>
-Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420")
-Reported-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk>
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063
-
----
- libweston/gl-renderer.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
-index 244ce309..40bf0bb6 100644
---- a/libweston/gl-renderer.c
-+++ b/libweston/gl-renderer.c
-@@ -1285,14 +1285,13 @@ gl_renderer_flush_damage(struct weston_surface *surface)
- 		goto done;
- 	}
- 
--	glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch);
--
- 	if (gs->needs_full_upload) {
- 		glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0);
- 		glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0);
- 		wl_shm_buffer_begin_access(buffer->shm_buffer);
- 		for (j = 0; j < gs->num_textures; j++) {
- 			glBindTexture(GL_TEXTURE_2D, gs->textures[j]);
-+			glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]);
- 			glTexImage2D(GL_TEXTURE_2D, 0,
- 				     gs->gl_format[j],
- 				     gs->pitch / gs->hsub[j],
-@@ -1317,6 +1316,7 @@ gl_renderer_flush_damage(struct weston_surface *surface)
- 		glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1);
- 		for (j = 0; j < gs->num_textures; j++) {
- 			glBindTexture(GL_TEXTURE_2D, gs->textures[j]);
-+			glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]);
- 			glTexSubImage2D(GL_TEXTURE_2D, 0,
- 					r.x1 / gs->hsub[j],
- 					r.y1 / gs->vsub[j],
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston_2.0.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston_2.0.0.bb
index 063494c..54b07bd 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston_2.0.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston_2.0.0.bb
@@ -12,7 +12,6 @@
            file://0001-configure.ac-Fix-wayland-protocols-path.patch \
            file://xwayland.weston-start \
            file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
-           file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch \
 "
 SRC_URI[md5sum] = "15f38945942bf2a91fe2687145fb4c7d"
 SRC_URI[sha256sum] = "b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
index b871d89..733ebce 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
@@ -11,6 +11,7 @@
 PV = "0.1.1+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb
index 4e93558..a06aa26 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb
@@ -13,6 +13,10 @@
 
 PE = "1"
 
+do_install_append_class-target () {
+    sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${bindir}/x11perfcomp
+}
+
 FILES_${PN} += "${libdir}/X11/x11perfcomp/*"
 
 SRC_URI[md5sum] = "f0b24e4d8beb622a419e8431e1c03cd7"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.3.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb
similarity index 78%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.3.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb
index 1c98359..c9dc327 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.3.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.0.bb
@@ -15,5 +15,5 @@
 
 BBCLASSEXTEND = "native"
 
-SRC_URI[md5sum] = "a4d8353daf6cb0a9c47379b7413c42c6"
-SRC_URI[sha256sum] = "0304dc9e0d4ac10831a9ef5d5419722375ddbc3eac3ff4413094d57bc1f1923d"
+SRC_URI[md5sum] = "cc22b232bc78a303371983e1b48794ab"
+SRC_URI[sha256sum] = "bc69c8748c03c5ad9afdc8dff9db11994dd871b614c65f8940516da6bf61ce6b"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.24.0.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.25.1.bb
similarity index 63%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.24.0.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.25.1.bb
index 14b1271..7b3ea16 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.24.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.25.1.bb
@@ -5,7 +5,7 @@
 
 DEPENDS += "libinput"
 
-SRC_URI[md5sum] = "bd3fa118e4abadb8804dc6a099bb4ab3"
-SRC_URI[sha256sum] = "ddcb07350aed59b2996a92a1b4ff64d1c0b0c86a3f0ddca15b2b1c8c8bb13628"
+SRC_URI[md5sum] = "14003139614b25cc76c9a4cad059df89"
+SRC_URI[sha256sum] = "489f7d591c9ef08463d4966e61f7c6ea433f5fcbb9f5370fb621da639a84c7e0"
 
 FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index f86de6f..138dfdd 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -24,7 +24,7 @@
 
 DEPENDS += "virtual/libx11 drm libpciaccess pixman"
 
-PACKAGECONFIG ??= "xvmc sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"
+PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"
 
 PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
 PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1,xf86driproto"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch
index c4cf16e..ac19219 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/0001-Prevents-omapfb-from-from-crashing-when-pixelclock-o.patch
@@ -6,6 +6,8 @@
 
 Due to a Linux design bug it is easy to get a pixelclock set to zero
 when changing displays at runtime.
+
+Upstream-Status: Pending
 ---
  src/omapfb-output.c | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-Include-config.h-before-anything-else-in-.c.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-Include-config.h-before-anything-else-in-.c.patch
deleted file mode 100644
index e92fc0d..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0001-Include-config.h-before-anything-else-in-.c.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From b14696a55796e739624bbda4f772427032efff2a Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Sun, 26 Apr 2015 15:20:57 +0200
-Subject: [PATCH 1/4] Include config.h before anything else in *.c
-
-Debian bug#749008 <https://bugs.debian.org/749008>
-
-Reported-by: Michael Tautschnig <mt@debian.org>
-Signed-off-by: Julien Cristau <jcristau@debian.org>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
----
-Upstream-Status: Backport
-
- src/common_capability.c  | 3 +++
- src/common_init.c        | 3 +++
- src/common_interface.c   | 3 +++
- src/common_io.c          | 3 +++
- src/common_iterator.c    | 3 +++
- src/common_map.c         | 3 +++
- src/common_vgaarb_stub.c | 3 +++
- src/linux_devmem.c       | 5 +++--
- src/openbsd_pci.c        | 3 +++
- src/solx_devfs.c         | 3 +++
- src/x86_pci.c            | 4 +++-
- 11 files changed, 33 insertions(+), 3 deletions(-)
-
-diff --git a/src/common_capability.c b/src/common_capability.c
-index 488743d..15d395d 100644
---- a/src/common_capability.c
-+++ b/src/common_capability.c
-@@ -31,6 +31,9 @@
-  *
-  * \author Ian Romanick <idr@us.ibm.com>
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <stdio.h>
-diff --git a/src/common_init.c b/src/common_init.c
-index b1c0c3e..f7b59bd 100644
---- a/src/common_init.c
-+++ b/src/common_init.c
-@@ -28,6 +28,9 @@
-  *
-  * \author Ian Romanick <idr@us.ibm.com>
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <errno.h>
-diff --git a/src/common_interface.c b/src/common_interface.c
-index 59778cf..cb95e90 100644
---- a/src/common_interface.c
-+++ b/src/common_interface.c
-@@ -28,6 +28,9 @@
-  *
-  * \author Ian Romanick <idr@us.ibm.com>
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/common_io.c b/src/common_io.c
-index f5c9e45..e9586ad 100644
---- a/src/common_io.c
-+++ b/src/common_io.c
-@@ -22,6 +22,9 @@
-  * Author:
-  *	Adam Jackson <ajax@redhat.com>
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/common_iterator.c b/src/common_iterator.c
-index ccf656d..2beb180 100644
---- a/src/common_iterator.c
-+++ b/src/common_iterator.c
-@@ -28,6 +28,9 @@
-  *
-  * \author Ian Romanick <idr@us.ibm.com>
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/common_map.c b/src/common_map.c
-index 8757151..f1854bb 100644
---- a/src/common_map.c
-+++ b/src/common_map.c
-@@ -21,6 +21,9 @@
-  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-  * DEALINGS IN THE SOFTWARE.
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <sys/types.h>
- #include <sys/mman.h>
-diff --git a/src/common_vgaarb_stub.c b/src/common_vgaarb_stub.c
-index 9394273..c1708f6 100644
---- a/src/common_vgaarb_stub.c
-+++ b/src/common_vgaarb_stub.c
-@@ -23,6 +23,9 @@
-  * OTHER DEALINGS IN THE SOFTWARE.
-  *
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdio.h>
- #include "pciaccess.h"
-diff --git a/src/linux_devmem.c b/src/linux_devmem.c
-index 10e3bde..0d0567c 100644
---- a/src/linux_devmem.c
-+++ b/src/linux_devmem.c
-@@ -32,8 +32,9 @@
-  *
-  * \author Ian Romanick <idr@us.ibm.com>
-  */
--
--#define _GNU_SOURCE
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/openbsd_pci.c b/src/openbsd_pci.c
-index 4d1b5cd..b8ce318 100644
---- a/src/openbsd_pci.c
-+++ b/src/openbsd_pci.c
-@@ -13,6 +13,9 @@
-  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <sys/param.h>
- #include <sys/ioctl.h>
-diff --git a/src/solx_devfs.c b/src/solx_devfs.c
-index f572393..cf96467 100644
---- a/src/solx_devfs.c
-+++ b/src/solx_devfs.c
-@@ -25,6 +25,9 @@
- /*
-  * Solaris devfs interfaces
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
- #include <stdlib.h>
- #include <strings.h>
-diff --git a/src/x86_pci.c b/src/x86_pci.c
-index 49c1cab..32daa04 100644
---- a/src/x86_pci.c
-+++ b/src/x86_pci.c
-@@ -18,8 +18,10 @@
-  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-  */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
- 
--#define _GNU_SOURCE
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0002-Fix-quoting-issue.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0002-Fix-quoting-issue.patch
deleted file mode 100644
index 16d69a8..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0002-Fix-quoting-issue.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 765e0a38cb8c40f8865af5cb356ffe6039ffb08f Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Sun, 22 Mar 2015 21:38:23 +0100
-Subject: [PATCH 2/4] Fix quoting issue.
-
-m4 has '[]' as quoting characters, so if we want '[]' to
-end up in the configure script, we need to quote them again.
-
-Reported by Greg Troxel <gdt@ir.bbn.com>.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
----
-Upstream-Status: Backport
-
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index e67e9e1..888330b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -76,7 +76,7 @@ case $host_os in
- 		;;
- 	*netbsd*)
- 		case $host in
--		*i[3-9]86*)
-+		*i[[3-9]]86*)
- 			PCIACCESS_LIBS="$PCIACCESS_LIBS -li386"
- 			;;
- 		*x86_64*|*amd64*)
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0003-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0003-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch
deleted file mode 100644
index f513c8e..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess/0003-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6bd2f7f92eae713663f4e13f6e2cb23526607b8c Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Fri, 1 May 2015 16:36:50 +0200
-Subject: [PATCH 3/4] linux_sysfs.c: Include <limits.h> for PATH_MAX
-
-Fixes compilation with musl libc.
-
-Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Felix Janda <felix.janda@posteo.de>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
----
-Upstream-Status: Backport
-
- src/linux_sysfs.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c
-index 50d94cf..3f95e53 100644
---- a/src/linux_sysfs.c
-+++ b/src/linux_sysfs.c
-@@ -45,6 +45,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <sys/mman.h>
- #include <dirent.h>
- #include <errno.h>
--- 
-2.1.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.4.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.4.bb
deleted file mode 100644
index ffa6a60..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Generic PCI access library for X"
-
-DESCRIPTION = "libpciaccess provides functionality for X to access the \
-PCI bus and devices in a platform-independent way."
-
-require xorg-lib-common.inc
-
-SRC_URI += "\
-            file://0001-Include-config.h-before-anything-else-in-.c.patch \
-            file://0002-Fix-quoting-issue.patch \
-            file://0003-linux_sysfs.c-Include-limits.h-for-PATH_MAX.patch \
-            file://0004-Don-t-include-sys-io.h-on-arm.patch \
-"
-
-SRC_URI[md5sum] = "ace78aec799b1cf6dfaea55d3879ed9f"
-SRC_URI[sha256sum] = "07f864654561e4ac8629a0ef9c8f07fbc1f8592d1b6c418431593e9ba2cf2fcf"
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
-
-REQUIRED_DISTRO_FEATURES = ""
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.5.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.5.bb
new file mode 100644
index 0000000..a3b682b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.13.5.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Generic PCI access library for X"
+
+DESCRIPTION = "libpciaccess provides functionality for X to access the \
+PCI bus and devices in a platform-independent way."
+
+require xorg-lib-common.inc
+
+SRC_URI += "\
+            file://0004-Don-t-include-sys-io.h-on-arm.patch \
+"
+
+SRC_URI[md5sum] = "d810ab17e24c1418dedf7207fb2841d4"
+SRC_URI[sha256sum] = "752c54e9b3c311b4347cb50aea8566fa48eab274346ea8a06f7f15de3240b999"
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
+
+REQUIRED_DISTRO_FEATURES = ""
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.3.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
similarity index 84%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.3.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
index 5514c7f..a699841 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.3.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
@@ -14,8 +14,8 @@
 
 SRC_URI = "http://xcb.freedesktop.org/dist/libpthread-stubs-${PV}.tar.bz2"
 
-SRC_URI[md5sum] = "e8fa31b42e13f87e8f5a7a2b731db7ee"
-SRC_URI[sha256sum] = "35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299"
+SRC_URI[md5sum] = "48c1544854a94db0e51499cc3afd797f"
+SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733"
 
 inherit autotools pkgconfig
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.4.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb
similarity index 72%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.4.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb
index 0c761d7..295f96a 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.4.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.5.bb
@@ -11,8 +11,8 @@
 RPROVIDES_${PN}-dev = "libx11-dev"
 RPROVIDES_${PN}-locale = "libx11-locale"
 
-SRC_URI[md5sum] = "6d54227082f3aa2c596f0b3a3fbb9175"
-SRC_URI[sha256sum] = "b7c748be3aa16ec2cbd81edc847e9b6ee03f88143ab270fb59f58a044d34e441"
+SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255"
+SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d"
 
 EXTRA_OECONF += "--disable-xlocale"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch
new file mode 100644
index 0000000..897882b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch
@@ -0,0 +1,60 @@
+From 5235a7f3692a4c3c90dd4ac1be3c670388904bbe Mon Sep 17 00:00:00 2001
+From: Tatu Frisk <tatu.frisk@ge.com>
+Date: Tue, 14 Mar 2017 14:41:27 +0200
+Subject: [PATCH] Fix hanging issue in _XReply
+
+Assume event queue is empty if another thread is blocking waiting for event.
+
+If one thread was blocking waiting for an event and another thread sent a
+reply to the X server, both threads got blocked until an event was
+received.
+
+Upstream-Status: Submitted [https://patchwork.freedesktop.org/patch/171458/]
+
+This patch needs to be removed once the corresponding patch has been merged upstream.
+
+https://patchwork.freedesktop.org/patch/171458/
+
+Signed-off-by: Tatu Frisk <tatu.frisk@ge.com>
+Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
+---
+ src/xcb_io.c | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/src/xcb_io.c b/src/xcb_io.c
+index 5987329..c64eb04 100644
+--- a/src/xcb_io.c
++++ b/src/xcb_io.c
+@@ -609,22 +609,17 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard)
+ 		 * letting anyone else process this sequence number, we
+ 		 * need to process any events that should have come
+ 		 * earlier. */
+-
+ 		if(dpy->xcb->event_owner == XlibOwnsEventQueue)
+ 		{
+ 			xcb_generic_reply_t *event;
+-			/* If some thread is already waiting for events,
+-			 * it will get the first one. That thread must
+-			 * process that event before we can continue. */
+-			/* FIXME: That event might be after this reply,
+-			 * and might never even come--or there might be
+-			 * multiple threads trying to get events. */
+-			while(dpy->xcb->event_waiter)
+-			{ /* need braces around ConditionWait */
+-				ConditionWait(dpy, dpy->xcb->event_notify);
++
++			/* Assume event queue is empty if another thread is blocking
++			 * waiting for event. */
++			if(!dpy->xcb->event_waiter)
++			{
++				while((event = poll_for_response(dpy)))
++					handle_response(dpy, event, True);
+ 			}
+-			while((event = poll_for_event(dpy)))
+-				handle_response(dpy, event, True);
+ 		}
+ 
+ 		req->reply_waiter = 0;
+-- 
+2.10.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.4.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.4.bb
deleted file mode 100644
index caa95fb..0000000
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require libx11.inc
-inherit gettext
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += "file://disable_tests.patch \
-           "
-
-SRC_URI[md5sum] = "6d54227082f3aa2c596f0b3a3fbb9175"
-SRC_URI[sha256sum] = "b7c748be3aa16ec2cbd81edc847e9b6ee03f88143ab270fb59f58a044d34e441"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb
new file mode 100644
index 0000000..427bf28
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libx11_1.6.5.bb
@@ -0,0 +1,14 @@
+require libx11.inc
+inherit gettext
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += "file://disable_tests.patch \
+            file://Fix-hanging-issue-in-_XReply.patch \
+           "
+do_configure_append () {
+    sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile
+}
+
+SRC_URI[md5sum] = "0f618db70c4054ca67cee0cc156a4255"
+SRC_URI[sha256sum] = "4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d"
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
index 455e869..7c7fa3d 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
@@ -16,6 +16,7 @@
 
 SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate \
            file://fix-xcb.patch"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch
new file mode 100644
index 0000000..1a691a3
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch
@@ -0,0 +1,33 @@
+From b0c0e6d90bd99a699701c9542640adb218f5d536 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 10 Jul 2017 16:51:13 +0300
+Subject: [PATCH] libXt: util: don't link makestrs with target cflags
+
+The line: AM_CFLAGS = $(XT_CFLAGS)
+in util/Makefile.am is wrong because it adds target cflags to the
+compilation of makestrs, which is built for the build machine, which
+leads to build failures when cross-compiling.
+
+Upstream-Status: Pending
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ util/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 800b35b..f2dd1f9 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -11,7 +11,6 @@ EXTRA_DIST = \
+ 	StrDefs.ht \
+ 	string.list
+ 
+-AM_CFLAGS = $(XT_CFLAGS)
+ makestrs_SOURCES = makestrs.c
+ 
+ 
+-- 
+2.4.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
index c1ed0bb..180d00d 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
@@ -23,7 +23,9 @@
 
 XORG_PN = "libXt"
 
-SRC_URI +=  "file://libxt_fix_for_x32.patch"
+SRC_URI +=  "file://libxt_fix_for_x32.patch \
+             file://0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch \
+            "
 
 BBCLASSEXTEND = "native"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.20.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.21.bb
similarity index 81%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.20.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.21.bb
index d00904d..01a51ad 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.20.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.21.bb
@@ -13,11 +13,11 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
 
 SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "1f68886339116ae3877052204c9b9b88"
-SRC_URI[sha256sum] = "d1bfc72553c4e3ef1cd6f13eec0488cf940498b612ab8a0b362e7090c94bc134"
+SRC_URI[md5sum] = "af9498e8954907d0a47f0f7b3d21e1ef"
+SRC_URI[sha256sum] = "30c17049fae129fc14875656da9aa3099e3031d6ce0ee1d77aae190fd9edcec5"
 
 SECTION = "x11/libs"
-DEPENDS = "intltool-native virtual/gettext util-macros libxslt-native"
+DEPENDS = "intltool-native util-macros libxslt-native"
 
 EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
index b88d157..3a98926 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
@@ -17,3 +17,5 @@
 SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto \
            file://fix.patch;apply=yes"
 S = "${WORKDIR}/git"
+UPSTREAM_VERSION_UNKNOWN = "1"
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 1650c79..863d80c 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -123,7 +123,7 @@
 OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence"
 PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xwayland', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
 "
 
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.3.bb
similarity index 90%
rename from import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb
rename to import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.3.bb
index 0d6df32..65ef6c6 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.3.bb
@@ -9,8 +9,8 @@
             file://CVE-2017-10971-2.patch \
             file://CVE-2017-10971-3.patch \
             "
-SRC_URI[md5sum] = "caa8ee7b2950abbf734347d137529fb6"
-SRC_URI[sha256sum] = "79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb"
+SRC_URI[md5sum] = "015d2fc4b9f2bfe7a626edb63a62c65e"
+SRC_URI[sha256sum] = "677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98"
 
 # These extensions are now integrated into the server, so declare the migration
 # path for in-place upgrades.
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb b/import-layers/yocto-poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb
index 51839dd..2667dd8 100644
--- a/import-layers/yocto-poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb
+++ b/import-layers/yocto-poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb
@@ -8,6 +8,7 @@
 PV = "0.1+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/test-xvideo"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/git"