[meta-freescale] [PATCH] qtbase: do not pass -DEGL_API_FB=1 for x11 in distro features

Andreas Müller schnitzeltony at googlemail.com
Tue Nov 15 07:30:07 PST 2016


* sympthoms:
    * qml applications complain/crash with 'Failed to create OpenGL context...'
    * qt5-opengles2-test hangs forever without displaying anything

* analysis:
    qtbase's configure complains:

    <...>/usr/include/EGL/eglvivante.h:117:16: note: class type '_FBDisplay' is incomplete

    and configure ends up with no X11 support:

    EGLFS ................ no
      EGLFS i.MX6 ........ no
      EGLFS i.MX6 Wayland. no
      EGLFS EGLDevice .... no
      EGLFS GBM .......... no
      EGLFS Mali ......... no
      EGLFS Raspberry Pi . no
      EGLFS X11 .......... no
    LinuxFB .............. no
    Mir client............ no
    XCB .................. yes (system library)
      EGL on X ........... no

* background:
    '-DEGL_API_FB=1' was introduced in

    commit 62c8d8cc6500711464049662489729f208240be8
    Author: Martin Jansa <martin.jansa at gmail.com>
    Date:   Mon Feb 29 18:22:28 2016 +0100

    qtbase: Allow to build eglfs with x11 in DISTRO_FEATURES

    * even when x11 is in DISTRO_FEATURES someone might configure qtbase
      to build with eglfs, that works OK with Qt 5.5.1, because
      -DEGL_API_FB=1 is also passed through
      mkspecs/devices/linux-imx6-g++/qmake.conf
      but with 5.6 and 5.7 it fails when X11 headers are include with their
      own Status enum (the same errors like before
      https://codereview.qt-project.org/#/c/105116/2)
      Adding -DEGL_API_FB=1 like linux-imx6-g++/qmake.conf does is simplest
      workaround to prevent imx-gpu-viv from including Xlib from
      EGL/eglvivante.h

* comments on original commit (at today's' environment):
     * it breaks GL support for X11
     * in meta-freescale's qtbase.bbappend eglfs is disabled explicitly when
       x11 in DISTRO_FEATURES so it seems that vivante driver does not support
       eglfs and x11 at the same build.
       Tested: setting 'eglfs' in PACKAGECONFIG builds fine but bare eglfs
       support is skipped.

Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
---
 dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 178d80d..f5064a8 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -33,7 +33,7 @@ EOF
         fi
     else
         cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
-IMX6_CFLAGS             = -DLINUX=1 -DEGL_API_FB=1
+IMX6_CFLAGS             = -DLINUX=1
 EOF
     fi
     cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
-- 
2.7.4



More information about the meta-freescale mailing list