I have been able to build angstrom-lxde-image and console-trdx-image. Our application requires windows manager support. QT advised me to integrate Wayland in the build. I am new to Yocto project. Can anybody here give me instructions of how to add or modify recipes to build Wayland?
Wayland is not currently supported by our Linux images. You may be able to build the Boot2Qt image with wayland support enabled. It is commonly added to an image through DISTRO_FEATURES, but may also require additional adding, removing & modification of recipes/packages. I’m also not sure if this would be fully supported in conjunction with the closed source vivante graphics drivers.
Remove all build output and sstate from your build directory after any change to DISTRO_FEATURES (rm -rf out-glibc/ sstate-cache/) or build in a separate build directory
bitbake the image
e.g.
MACHINE=colibri-imx6 bitbake core-image-weston
Use one of our binary images and replace the rootfs/kernel/device-trees with the ones you just built and fixup the symlinks
e.g.:
sudo tar xf Colibri_iMX6_LinuxImageV2.6Beta2_20160630.tar.bz2
cd Colibri_iMX6_LinuxImageV2.6/rootfs
sudo rm *
sudo tar xf <path-to-buildoutput>/Angstrom-core-image-weston-glibc-ipk-v2015.12-colibri-imx6.rootfs.tar.bz2
cd ../colibri-imx6_bin
ls -l
sudo rm uImage--3.14.52*
sudo cp /mnt/sdc2/oe-disk/oe-core_V2.6/build-wayland/out-glibc/deploy/images/colibri-imx6/uImage--3.14.52* .
ls -l
sudo ln -s uImage--3.14.52-r0-colibri-imx6-*.bin uImage
sudo ln -sf uImage--3.14.52-r0-imx6dl-colibri-cam-eval-v3-*.dtb uImage-imx6dl-colibri-cam-eval-v3.dtb
sudo ln -sf uImage--3.14.52-r0-imx6dl-colibri-eval-v3-*.dtb uImage-imx6dl-colibri-eval-v3.dtb
ls -l
I had to edit the weston init script to get a working weston. Probably this should be done differently.
e.g. I added two lines in rootfs/init.d/weston:
--- etc/init.d/weston.orig 2016-08-19 14:38:46.013180814 +0200
+++ etc/init.d/weston 2016-08-19 14:39:56.292396432 +0200
@@ -8,6 +8,9 @@
# Default-Stop: 0 1 6
### END INIT INFO
+OPTARGS="$OPTARGS --backend=fbdev-backend.so"
+export WAYLAND_DISPLAY=wayland-0
+
if test -e /etc/default/weston ; then
. /etc/default/weston
fi
I was able to go through the end of the procedure after I modified the qtbase_git.bb file as suggested. But the “Qt5_CinematicExperience” application was not able to run. Here is the log:
I ran my application built with Toradex BSP V2.6 and got this error:
root@colibri-imx6:/usr/bin# ./PSA_ENTRY_BOOTH55 &
root@colibri-imx6:/usr/bin# This application failed to start because it could not find or load the Qt platform plugin “xcb”.
Available platform plugins are: eglfs, minimal, minimalegl, offscreen, wayland-egl, wayland.
Reinstalling the application may fix this problem.
[1]+ Aborted ./PSA_ENTRY_BOOTH55
root@colibri-imx6:/usr/bin# ./PSA_ENTRY_BOOTH55 --platform wayland
Failed to create display (No such file or directory)
Looks like I am missing libxcb.so.1 library, right? This library is available in the /usr/lib directory in V2.6 angstrom-qt5-x11 image. But with the procedure posted above, it is replaced with libraries generated in core-image-weston, which does not seem to have the libxcb.
If you start your application without specifying a platform Qt will default to X11.
But you specifically did not want X11 in your image so libxcb is not part of the image. (Plus the image does not have all the rest nedded to run the X server)
Did you actually start weston before you started your application?