Compile Qt5.5 for XCB with Yocto



  • I am trying to build Qt 5.5 for a Toradex Apalis T30 using the Meta-Qt5 layer and Yocto 1.7. I have the Qt layer on the Dizzy branch. It compiles fine but I cannot get applications to run. I believe the reason is that Qt is trying to use eglfs but on the Tegra one has to use xcb because GLES is only available through X11.

    There is a guide on http://www.ics.com/blog/building-qt-5-toradex-t30 for building Qt5 outside of the Yocto build system but I would like to in fact be able to use Yocto.I have changed the recipe as suggested at http://wiki.wandboard.org/index.php/Integrate_Qt5_into_yocto_sato_image_on_Wandboard but it did not help. I basically need the equivalent of "./configure -qpa xcb -no-eglfs -opengl es2 -device tegra3 -device-option CROSS_COMPILE=~/oe-core/build/out-eglibc/sysroots/i686-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi- -sysroot ~/oe-core/build/out-eglibc/sysroots/colibri-t30 -opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -nomake tests -prefix /opt/qt5-t30 -make examples -no-pch -qt-xcb -skip qttools -no-kms" using the Yocto system.

    If I try to run something then I get:

    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    Cannot find EGLConfig, returning null config
    Unable to find an X11 visual which matches EGL config 0
    Cannot find EGLConfig, returning null config
    QEGLPlatformContext: Failed to create context: 3005
    Failed to create EGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile 0)

    I would expect QEGLXcbPlatformContext to be involved instead of QEGLPlatformContext if everything was set up correctly?