【问题标题】:How to enable eglfs plugin in Yocto setup? using yocto+meta-qt5 for Riotboard如何在 Yocto 设置中启用 eglfs 插件? Riotboard 使用 yocto+meta-qt5
【发布时间】:2016-08-14 02:07:34
【问题描述】:

最近我只是使用 fsl-community-bsp 和 meta-qt5 层来生成交叉工具链和 rootfs。我使用了“bitbake meta-toolchain-qt5”和“bitbake fsl-image-multimedia-full”。 fsl-community-bsp 和 meta-qt5 都使用了 jethro 分支。

以下是我的一些问题:

  1. 在我放入“riotboard”的rootfs中,qt5库已经在里面了吗?是否需要编译qt5的源码并复制到板子上 分开?---现在很清楚了,这个库在rootfs里面;
  2. 我已经设置了 qtcreator:设备、工具包、qt 版本、编译器、调试器,还有 ssh 连接,但是当我运行应用程序时,qt 说 “此应用程序无法启动,因为它无法找到或加载 qt 平台插件 xcb,可用的平台插件有:eglfs、minimal、minimalegl、offscreen”。---错误似乎已由我修复,正在修改PACKAGECONFIG[gles2]="-opengl es2 -eglfs -qpa eglfs,,virtual/libgles2 virtual/egl";
  3. 在 meta-qt5 的 Jethro 分支中,缺少 qtbase.inc,对吗?我在网上找到,可以修改PACKAGECONFIG[gles]的值,加上-qpa eglfs.---现在进入qtbase_git.bb了;
  4. 我也发现在Jethro分支中,串口也不见了,但是在我们的应用程序中,我们需要这个函数来处理串口键盘。我们现在怎么办?---我现在找到了;
  5. 如果我需要编译qt5源码并将所有文件夹复制到riotboard中,如何在qtcreator中设置路径才能找到相关库?---无需这样做;

非常感谢!

【问题讨论】:

  • 现在只剩下一个错误:当我执行“./helloworld -platform eglfs”时,它说“无法打开 egl 显示。中止”。我试过 export FB_MULTI_BUFFER=2, export QT_QPA_PLATFORM, export DISPLAY=:0.0 和 export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1

标签: qt5 yocto


【解决方案1】:

要启用 EGLFS,请在 local.conf 中添加:DISTRO_FEATURES_remove = "X11 wayland"

1.qt5库不需要复制,可以关注wandboard qt5 implementation here

  1. 在你的机器上,需要开启Qt才能运行eglfs平台,在/etc/profile,添加export QT_QPA_PLATFORM=eglfs或者运行应用程序时;您需要添加-platform eglfs。 IE。 helloworld -platform eglfs

  2. 没有qtbase.inc;你可以添加PACKAGECONFIG_append_pn-qtbase = " eglfs xx xxx xxxx"来启用你需要的配置

  3. 在 Jethro 中有qtserialport_git.bb

  4. 如前所述,您不会复制库和源代码,而是告诉 Bitbake 为您执行此操作。他们将被移动到相应的地方。

【讨论】:

  • 非常感谢,按照你上面说的方法我试过了,但是有一个错误:QEglFSVivIntegration会设置环境变量FB_MULTI_BUFFER=2来启用双缓冲和vsync。如果不需要,您可以通过以下方式覆盖它:export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1。我做到了,但仍然无法打开egl显示。
  • 尝试添加cinematicexperienceqt5everywheredemo,它们是我使用的标准qt示例程序。之后,只需添加 -platform eglfs 即可执行它们以查看发生了什么。
  • qtbase中启用的某些包可能会影响eglfs,所以尝试添加最小的一个:例如。 accessibility puseaudio alsa fontconfig gles2 glib examples tools
  • 我按照你的建议修改了 local.conf: 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"有两个 QA 问题正在减弱:eglfs 和 puseaudio 是无效的 PACKAGECONFIG,当我 bitbake meta-toolchain-qt5 时。
  • Eglfs 与 gles2。您不需要 packageconfig_remove = "x11 Wayland"。也没有 distro_features_append = "fb"。
猜你喜欢
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2018-02-03
  • 2018-06-16
  • 2023-03-04
相关资源
最近更新 更多