6

Recently I just used fsl-community-bsp and meta-qt5 layer to generate the cross toolchain and the rootfs. I used "bitbake meta-toolchain-qt5" and "bitbake fsl-image-multimedia-full". Both fsl-community-bsp and meta-qt5 use jethro branch.

Following are some of my questions:

  1. In the rootfs which I put in the “riotboard”, is qt5 library already in it? Do I need to compile the source of qt5 and copy it to the board separately?---Now it's clear, the library are inside the rootfs;
  2. I have set up the qtcreator: device, kit, qt version, compiler, debugger, also ssh connection, but when I run the application, qt says “This application failed to start because it could not find or load the qt platform plugin xcb, available platform plugin are: eglfs, minimal, minimalegl, offscreen”.---It seems the error is fixed by me, modifying the PACKAGECONFIG[gles2]="-opengl es2 -eglfs -qpa eglfs,,virtual/libgles2 virtual/egl";
  3. In the Jethro branch of meta-qt5, the qtbase.inc is missing, correct? I found on the internet, that I can modify the PACKAGECONFIG[gles] value, add –qpa eglfs.---It's into the qtbase_git.bb now;
  4. I also found that in the Jethro branch, the serialport is also missing, but in our application, we need this function to handle the serial keyboard. How can we do now?---I find it now;
  5. If I need to compile the qt5 source and copy all the folder to the riotboard, how can I set the path in the qtcreator to find the relevant library?---No need to do this;

Thank you very much!

James.Zhou
  • 131
  • 1
  • 2
  • 14
  • Now only one error remain: when I execute "./helloworld -platform eglfs", it sais "could not open egl display. Aborted". I have tried export FB_MULTI_BUFFER=2, export QT_QPA_PLATFORM, export DISPLAY=:0.0 , and export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1 – James.Zhou Apr 27 '16 at 08:17

1 Answers1

7

To enable EGLFS, in local.conf add: DISTRO_FEATURES_remove = "X11 wayland"

1.You do not need to copy the qt5 library, you could follow this wandboard qt5 implementation here

  1. In your machine, you need to enable Qt to run eglfs platform, in /etc/profile, add export QT_QPA_PLATFORM=eglfs or when you run an application; you need to add -platform eglfs. ie. helloworld -platform eglfs

  2. There is no qtbase.inc; You could add PACKAGECONFIG_append_pn-qtbase = " eglfs xx xxx xxxx" to enable the configuration you need

  3. There is qtserialport_git.bb in Jethro

  4. As said, you do not copy the libraries and sources but instead tell Bitbake to do that for you. They will be moved to the corresponding places.

Charles C.
  • 3,725
  • 4
  • 28
  • 50
  • Thank you very much, I tried the way as you said above, but there is one error:QEglFSVivIntegration will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync. If this is not desired,you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1. I did it, but still can not open egl display. – James.Zhou Apr 21 '16 at 08:40
  • try to add `cinematicexperience` and `qt5everywheredemo`, they are the standard qt example programs I use. After that, just execute them with added `-platform eglfs` to see what's happened. – Charles C. Apr 21 '16 at 16:12
  • Some of the package enabled in qtbase might affect `eglfs`, so tried to add the minimal one: eg. `accessibility puseaudio alsa fontconfig gles2 glib examples tools ` – Charles C. Apr 22 '16 at 00:13
  • I modified the local.conf as you suggested: PACKAGECONFIG_DISTRO_pn-qtbase = "accessibility eglfs alsa puseaudio fontconfig gles2 glib examples tools" PACKAGECONFIG_remove = "x11 wayland" DISTRO_FEATURES_remove = "x11 wayland" DISTRO_FEATURES_append="fb" There are two QA issue waning: eglfs and puseaudio are invalid PACKAGECONFIG, when I bitbake meta-toolchain-qt5. – James.Zhou Apr 22 '16 at 01:00
  • Eglfs is with gles2. You do not need packageconfig_remove = "x11 Wayland". And no distro_features_append = " fb" either. – Charles C. Apr 22 '16 at 02:26
  • @CharlesC.I know it's been awhile but I am trying to include the EGLFS platform plugin in my Yocto distro and after following the steps here, it simply does not add the plug in to the build. – Daniel Feb 27 '18 at 22:36
  • @DanielKaparunakis Please create a new question and mention that the solution in this thread does not work for you. Please provide your machine and branch. – Charles C. Mar 02 '18 at 16:17
  • @CharlesC.Thanks for getting back to me. I figured out my issue. It turns out I had additional *.conf* files interfering with the configuration file that I was expecting to take to effect. – Daniel Mar 02 '18 at 16:49
  • @CharlesC. You said EGLFS is with gles2 so we don't need to _remove the packages like [x11 & wayland]. BUT EGLFS is a platform plugin for running QT5 application on top of EGL and OpenGL ES 2.0 without an actual windowing system like [x11 & wayland]. And I observed that my applications with EGLFS don't run on [x11 and wayland] rather I can run them with EGLFS without [x11 & wayland]. – Sajjad Ahmad May 13 '18 at 13:42
  • @SajjadAhmed I believe when I said no remove package of x11 and wayland is because James added extra lines that not needed in the local.conf. And eglfs is only enabled when x11 and wayland are removed from the Distro-features; – Charles C. May 15 '18 at 00:39