]> code.ossystems Code Review - meta-freescale.git/commitdiff
qtbase: Disable eglfs build for i.MX6 SoCs using X11
authorOtavio Salvador <otavio@ossystems.com.br>
Thu, 6 Mar 2014 17:47:40 +0000 (14:47 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Tue, 11 Mar 2014 11:09:21 +0000 (08:09 -0300)
The eglfs hooks require the Framebuffer API calls which are not
available when building for X11; to allow qtbase to build for X11 we
must disable eglfs support due this restriction.

A patch to workaround EGL initialization failure due visual mismatch
has been included as well, forcing Visual ID 33.

Change-Id: I564b0d30f137e55885268b656e68fdc3151fb93d
Signed-off-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch [new file with mode: 0644]
meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend

diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
new file mode 100644 (file)
index 0000000..b0be292
--- /dev/null
@@ -0,0 +1,23 @@
+Workaround EGL initialization failure due visual mismatch
+
+Error:
+
+Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+Could not initialize EGL
+Aborted
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp    2013-12-25 19:08:42.163895341 -0800
++++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp     2013-12-25 19:09:37.207893799 -0800
+@@ -180,5 +180,5 @@
+     }
+     qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+-    return (VisualID)0;
++    return (VisualID)33;
+ }
index 310d7f78d38d76bf902b0d38727e66ed43fd0031..c1df7643452d37824750fe52994dd8ca9b0fa33b 100644 (file)
@@ -1,5 +1,9 @@
 # Copyright (C) 2013 Eric Bénard - Eukréa Electromatique
 
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://Force_egl_visual_ID_33.patch"
+
 HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}"
 
 PACKAGECONFIG_GL_mx5 = "gles2"
@@ -7,6 +11,7 @@ PACKAGECONFIG_append_mx5 = " tslib icu examples"
 
 PACKAGECONFIG_GL_mx6 = "gles2"
 PACKAGECONFIG_append_mx6 = " tslib icu examples"
+QT_CONFIG_FLAGS_append_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', '', d)}"
 
 do_configure_prepend_mx5() {
     sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf