]> code.ossystems Code Review - meta-freescale.git/commit
qtbase: do not pass -DEGL_API_FB=1 for x11 in distro features
authorAndreas Müller <schnitzeltony@googlemail.com>
Tue, 15 Nov 2016 15:30:07 +0000 (16:30 +0100)
committerOtavio Salvador <otavio@ossystems.com.br>
Fri, 18 Nov 2016 18:23:08 +0000 (16:23 -0200)
commite80e2b0af842d19365769b6e0e4e3b621134d51b
treee57bef50f9d42a71441588a4fb658e487233a070
parent9497793b288caa2c26d1f7f9538cbfd281de1134
qtbase: do not pass -DEGL_API_FB=1 for x11 in distro features

* 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@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@googlemail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend