[yocto] [meta-qt5][meta-raspberrypi]: Qt5 with EGL support for the Raspberry through linux-oe-g++

Julien Gueytat contact at jgueytat.fr
Thu Apr 21 10:55:27 PDT 2016


Thanks for the link.
I already have found my hack patch. ;)
I'll take some time to check the EGL test dedicated to the Raspberry in Qt. I did not check this one yet.

Regards,

Sent from my WIKO RAINBOW LITE 4GLe 21 avr. 2016 7:10 PM, Andrei Gherzan a écrit : > > Hi Julien, > > On Thu, Apr 21, 2016 at 10:15:23AM +0200, Julien Gueytat wrote: > > Just to keep you informed that a bug report has been opened to Qt: > > https://bugreports.qt.io/browse/QTBUG-52739 > > > > We might save some patches in layers by solving this, > > Thanks for helping, > > > > Great Julien. Here is a hint - would this help your problem? > https://lists.yoctoproject.org/pipermail/yocto/2016-February/028277.html > > > Le 20/04/2016 01:46, Julien Gueytat a écrit : > > > Hi again guys, > > > > > > after more investigations: > > > > > > I found out that the default value -lEGL comes from > > > ./mkspecs/common/linux.conf which is included in > > > ./mkspecs/linux-oe-g++/qmake.conf > > > > > > linux-oe-g++ being the only generic mkspecs that should be used in Yocto > > > > > > So! At the time the configuration enters egl.pro the content of the > > > variables LIBS and QMAKE_EGL_LIBS are still a bit weird for me : > > > > > > 1- LIBS already has the content of the QMAKE_EGL_LIBS content from the > > > result of the pkg-config command. > > > 2- QMAKE_EGL_LIBS has the content of the default value found in > > > ./mkspecs/common/linux.conf > > > > > > There are two options to have it properly working: > > > - First and easy option : remove the QMAKE_EGL_LIBS default variable in > > > ./mkspecs/linux-oe-g++/qmake.conf since the good libs seems to already > > > been present in the LIBS variable. > > > - Second option : understand why the LIBS variable is already properly > > > set and why the QMAKE_EGL_LIBS properly computed in the configure and > > > present .qmake.vars is not used. (I would say that the device spec > > > overrides the one from qmake spec... I did not dig further yet.) > > > > > > Anyway I'm pretty sure the trouble comes from meta-qt5 side now. I'm > > > pretty sure meta-raspberrypi maintainers can confirm that their master > > > branch handles pkg-config stuff now. > > > > > > Thanks advance for having a look on this guys, > > > Best Regards > > > > > > > > > Le 19/04/2016 10:46, Julien Gueytat a écrit : > > > > Hi, > > > > > > > > I still can't figure out the patch to apply in meta-qt5 to get EGL > > > > support with the Raspberry. > > > > > > > > The test to check EGL does not pass and fails with the following command: > > > > > > > > arm-poky-linux-gnueabi-g++  -march=armv7-a -marm -mthumb-interwork > > > > -mfloat-abi=hard -mfpu=neon-vfpv4 -mtune=cortex-a7 --sysroot=/home/jgueytat/projects/LightPixels/poky/build/tmp/sysroots/lightpixels > > > > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -o egl egl.o > > > > -lGLESv2 -lbcm_host -lvchostif -lvcos -lvchiq_arm -pthread -lEGL > > > > > > > > > > > > Here is the content of the file egl.pro: > > > > > > > > $ cat egl.pro > > > > SOURCES = egl.cpp > > > > > > > > for(p, QMAKE_LIBDIR_EGL) { > > > >     exists($$p):LIBS += -L$$p > > > > } > > > > > > > > message("In egl.pro - 1: QMAKE_LIBS_EGL = $$QMAKE_LIBS_EGL") > > > > message("In egl.pro - 1: LIBS = $$LIBS") > > > > > > > > !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL > > > > !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL > > > > > > > > message("In egl.pro - 2: QMAKE_LIBS_EGL = $$QMAKE_LIBS_EGL") > > > > message("In egl.pro - 2: LIBS = $$LIBS") > > > > > > > > CONFIG -= qt > > > > > > > > In the main ./configure file of qtbase: > > > > > > > > | In configure #1: QMAKE_LIBS_EGL = > > > > | In configure #2: QMAKE_LIBS_EGL = -lEGL -lGLESv2 -lbcm_host > > > > -lvchostif -lbcm_host -lvcos -lvchiq_arm -pthread > > > > > > > > The variable QMAKE_LIBS_EGL is set properly. > > > > > > > > > > > > In the ./config.tests/qpa/egl/egl.pro file: > > > > > > > > | Project MESSAGE: In egl.pro - 1: QMAKE_LIBS_EGL = -lEGL > > > > | Project MESSAGE: In egl.pro - 1: LIBS = -lEGL -lGLESv2 -lbcm_host > > > > -lvchostif -lvcos -lvchiq_arm -pthread > > > > | Project MESSAGE: In egl.pro - 2: QMAKE_LIBS_EGL = -lEGL > > > > | Project MESSAGE: In egl.pro - 2: LIBS = -lEGL -lGLESv2 -lbcm_host > > > > -lvchostif -lvcos -lvchiq_arm -pthread -lEGL > > > > > > > > > > > > *What I see is that:* > > > > In the configure file the variable QMAKE_LIBS_EGL is properly set > > > > through pkg-config. > > > > In the egl.pro file... The variable LIBS gets the content of > > > > QMAKE_LIBS_EGL and the variable QMAKE_LIBS_EGL gets back to its > > > > default -lEGL. > > > > > > > > In the end with have -lGLESv2 before -lEGL and this does not link. > > > > > > > > I checked also the content of .qmake.vars: > > > > grep QMAKE_LIBS_EGL .qmake.vars > > > > QMAKE_LIBS_EGL = -lEGL -lGLESv2 -lbcm_host -lvchostif -lbcm_host > > > > -lvcos -lvchiq_arm -pthread > > > > > > > > > > > > The command QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" seems to > > > > have his job done too late... > > > > > > > > If someone has an idea to get the proper correction done... > > > > > > > > Best Regards, > > > > Julien > > > > > > > > > > > > > > > > > > > > -- > > _______________________________________________ > > yocto mailing list > > yocto at yoctoproject.org > > https://lists.yoctoproject.org/listinfo/yocto > > > -- > Andrei Gherzan


More information about the yocto mailing list