User Tools

Site Tools


subsystem:native-app-fw

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
subsystem:native-app-fw [2015/08/14 08:24]
gmauthe [meta-qt5]
subsystem:native-app-fw [2015/08/14 09:14]
gmauthe [meta-qt5]
Line 16: Line 16:
   - revision: adeca0db212d61a933d7952ad44ea1064cfca747   - revision: adeca0db212d61a933d7952ad44ea1064cfca747
   - add the qt5 components with own packagegroups under /​meta-agl/​meta-agl/​recipes-ivi   - 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!!
 +
 +
 +
 +
 +