This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
subsystem:native-app-fw [2015/06/24 22:27] wminer |
subsystem:native-app-fw [2015/08/14 09:14] gmauthe [meta-qt5] |
||
---|---|---|---|
Line 8: | Line 8: | ||
- | ==== Child Sub-Systems ==== | + | ==== meta-qt5 ==== |
+ | === Integration === | ||
+ | - proposal for first try integration of meta-qt5 layer | ||
+ | - use a dizzy branch of meta-qt5 to correspond with poky and meta-oe dizzy branches from agl | ||
+ | - URI: https://github.com/meta-qt5/meta-qt5.git | ||
+ | - branch: dizzy | ||
+ | - revision: adeca0db212d61a933d7952ad44ea1064cfca747 | ||
+ | - add the qt5 components with own packagegroups under /meta-agl/meta-agl/recipes-ivi | ||
+ | |||
+ | === readme meta-qt5 integration === | ||
+ | |||
+ | |||
+ | -------------------------------------------------------------------------------------------------------- | ||
+ | 1. for the first try of integration of qt5 into agl-image-ivi we take: | ||
+ | |||
+ | //get git url for agl from here and see the README.md how to use: | ||
+ | https://git.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git;a=blob;f=README.md;h=a92dfe8de4e6614a8d4dbbaaddbccaa06f1e4c75;hb=4e6823fb7a9763715fb554cfb0df2dc318d741a7 | ||
+ | |||
+ | URI: git://git.yoctoproject.org/poky | ||
+ | branch: dizzy | ||
+ | revision: 5f0d25152bac2d3798663a4ebfdd2df24060f153 | ||
+ | |||
+ | URI: git://git.openembedded.org/meta-openembedded | ||
+ | layer: meta-oe | ||
+ | branch: dizzy | ||
+ | revision: 853dcfa0d618dc26bd27b3a1b49494b98d6eee97 | ||
+ | |||
+ | ## The Renesas R-Car Gen2 (Porter) board depends in addition on: ## | ||
+ | URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas | ||
+ | branch: agl-1.0-bsp-1.8.0 | ||
+ | revision: 0a69b07cfca17d1435f2bc7bf779139c5fac09a3 | ||
+ | |||
+ | URI: https://github.com/meta-qt5/meta-qt5.git | ||
+ | branch: dizzy | ||
+ | revision: adeca0db212d61a933d7952ad44ea1064cfca747 | ||
+ | |||
+ | ---------------------------------------------------------------------------------------------------------------- | ||
+ | 2. modify the bblayers.conf and the local.conf in your build/conf directory to set the build config | ||
+ | |||
+ | 2.1 in bblayers.conf, add the additional layers for qt: | ||
+ | |||
+ | these are: | ||
+ | -meta-openembedded/meta-ruby | ||
+ | -meta-qt5 | ||
+ | |||
+ | so your bblayers.conf might look like: | ||
+ | |||
+ | # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf | ||
+ | # changes incompatibly | ||
+ | LCONF_VERSION = "6" | ||
+ | |||
+ | BBPATH = "${TOPDIR}" | ||
+ | BBFILES ?= "" | ||
+ | |||
+ | BBLAYERS ?= " \ | ||
+ | /your/path/to/project/poky/meta \ | ||
+ | /your/path/to/project/poky/meta-yocto \ | ||
+ | /your/path/to/project/poky/meta-yocto-bsp \ | ||
+ | /your/path/to/project/poky/../meta-openembedded/meta-oe \ | ||
+ | /your/path/to/project/poky/../meta-openembedded/meta-ruby \ | ||
+ | /your/path/to/project/poky/../meta-qt5 \ | ||
+ | /your/path/to/project/poky/../meta-agl/meta-agl \ | ||
+ | /your/path/to/project/poky/../meta-agl/meta-agl-bsp \ | ||
+ | /your/path/to/project/poky/../meta-renesas \ | ||
+ | /your/path/to/project/poky/../meta-renesas/meta-rcar-gen2 \ | ||
+ | " | ||
+ | BBLAYERS_NON_REMOVABLE ?= " \ | ||
+ | /your/path/to/project/poky/meta \ | ||
+ | /your/path/to/project/poky/meta-yocto \ | ||
+ | /your/path/to/project/meta-agl/meta-agl \ | ||
+ | " | ||
+ | |||
+ | |||
+ | 2.2 local.conf, set the machine to "porter": | ||
+ | |||
+ | |||
+ | #MACHINE ?= "beaglebone" | ||
+ | #MACHINE ?= "genericx86" | ||
+ | #MACHINE ?= "genericx86-64" | ||
+ | #MACHINE ?= "mpc8315e-rdb" | ||
+ | #MACHINE ?= "edgerouter" | ||
+ | MACHINE ?= "porter" | ||
+ | |||
+ | 2.3 for the integration of qt and qt examples i have added two packagegroups | ||
+ | //add new packagegroups for qt5 integration | ||
+ | -...../meta-agl/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-qt5.bb | ||
+ | -which contains the qt5 packages to be used for agl | ||
+ | ....../meta-agl/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-qt5-examples.bb | ||
+ | -which contains the qt5 examples packages to be used for agl | ||
+ | //to make qt and qt examples part of your image, add the two new packagegroup files to | ||
+ | -...../meta-agl/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi.bb | ||
+ | -which includes all the ivi packagegroup files | ||
+ | |||
+ | |||
+ | |||
+ | -------------------------------------------------------------------------------------------------------------- | ||
+ | 3. to run a successful build you also might have to fix the following build problems | ||
+ | |||
+ | 3.1 with the version i have used for qt integration i had the following build problem | ||
+ | |||
+ | ///fix the build problem of gstreamer bbappend version in meta renesas | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.0.0.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend | ||
+ | /path/to/project/AGL-GENIVI-7.0/poky/../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend | ||
+ | |||
+ | I solved the problem of using the component version XXX_1.2.3.bbappend by changing it to wildcard format XXX_%.bbappend. The problem originally occured by using the new poky version. For the future we have to see if this fix is applicable | ||
+ | |||
+ | |||
+ | |||
+ | 3.2 modified file for gstreamer1.0-plugins-base problem | ||
+ | |||
+ | in file: ...../meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend | ||
+ | |||
+ | change do_configure | ||
+ | |||
+ | from: | ||
+ | do_configure() { | ||
+ | ./autogen.sh --noconfigure | ||
+ | oe_runconf | ||
+ | } | ||
+ | |||
+ | to: | ||
+ | do_configure() { | ||
+ | (cd ${S} && ./autogen.sh --noconfigure) | ||
+ | oe_runconf | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | 3.3 add some config options in qtbase.inc | ||
+ | |||
+ | // add icu in qtbase.inc, because its necessary to have qtwebkit | ||
+ | |||
+ | ... | ||
+ | PACKAGECONFIG_ICU ?= "icu" | ||
+ | ... | ||
+ | PACKAGECONFIG ?= " \ | ||
+ | ... | ||
+ | ${PACKAGECONFIG_ICU} \ | ||
+ | " | ||
+ | |||
+ | |||
+ | // add examples in qtbase.inc, because its necessary to have qt examples in rootfs | ||
+ | |||
+ | ... | ||
+ | PACKAGECONFIG_EXAMPLES ?= "examples" | ||
+ | ... | ||
+ | PACKAGECONFIG ?= " \ | ||
+ | ... | ||
+ | ${PACKAGECONFIG_EXAMPLES} \ | ||
+ | " | ||
+ | |||
+ | |||
+ | -------------------------------------------------------------------------------------------------------------- | ||
+ | 4. to build the agl-image-ivi use the following command | ||
+ | bitbake agl-image-ivi | ||
+ | |||
+ | |||
+ | --------------------------------------------------------------------------------------------------------------- | ||
+ | 5. run qt examples | ||
+ | |||
+ | to run a qt example you have to use a command like: | ||
+ | |||
+ | ./analogclock -platform wayland-egl | ||
+ | |||
+ | where you have also have to pass the platform to be used | ||
+ | |||
+ | // check platforms available | ||
+ | ls /usr/lib/qt5/plugins/platforms/ | ||
+ | |||
+ | |||
+ | --------------------------------------------------------------------------------------------------------------- | ||
+ | 6. known issues | ||
+ | |||
+ | 6.1 with the first integration qtwebkit example applications do crash with seg fault. this seems to be a problem in qtwebkit!! to be investigated later!! | ||
+ | |||
+ | |||
+ | |||
+ | |||