Here are my experiences for compiling Qt5.3.0-beta1 on Yocto. Special thanks to Martin Jansa, the maintainer of the meta-qt5 layer and his help on this. My original procedure was based on this tutorial: Building Qt5 using yocto on Wandboard - Wandboard Wiki
Reason:
Qt5.3 contains a nice new plugin that allows the use of gstreamer output for textures without the CPU intensive step of copying them (Gerrit Code Review). This allows to play even full HD videos and apply all the power of Qt5 (e.g. shaders) to them.
Steps:
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index dfc1c76..a2f9a73 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -54,6 +54,7 @@ FILES_${PN}-tools-dbg = " \
"
FILES_${PN}-plugins-dbg = " \
${OE_QMAKE_PATH_PLUGINS}/*/.debug/* \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/.debug/* \
"
# extra packages
@@ -98,6 +99,7 @@ FILES_${PN}-tools = " \
"
FILES_${PN}-plugins = " \
${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
"
FILES_${PN}-mkspecs = "\
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
Define your machine: export MACHINE=xxx (replace with your board)- Setup build environment: cd .. ; . setup-environment build
- edit your local layer conf ("conf/bblayers.conf") and add the following two lines:
${BSPDIR}/sources/meta-openembedded/meta-ruby \
${BSPDIR}/sources/meta-qt5 \
- edit your local.conf and add the following lines:
DISTRO_FEATURES_remove = "x11 wayland"
IMAGE_INSTALL_append = " \
firmware-imx-vpu-imx6q \
firmware-imx-vpu-imx6d \
"
IMAGE_INSTALL_append = " \
cpufrequtils \
nano \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
gstreamer \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
cinematicexperience \
"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
QT5_VERSION = "5.2.1+5.3.0-beta1+git%"
PREFERRED_VERSION_qtbase-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtbase = "${QT5_VERSION}"
PREFERRED_VERSION_qtdeclarative = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtquickcontrols = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtserialport = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
- build an image: bitbake core-image-minimal
This image will build QT5.3 for framebuffer. If you want to use it with X11, then adapt according to this tutorial: Integrate Qt5 into yocto sato image on Wandboard - Wandboard Wiki
Please tell me, if I missed something. I wrote this as I remembered the steps.