This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3358:AM3358:具有 eglfs 的 Yocto meta-qt5

Guru**** 1980945 points
Other Parts Discussed in Thread: AM3358
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/989031/am3358-am3358-yocto-meta-qt5-with-eglfs

器件型号:AM3358

您好!

我们正在尝试使用 eglfs 构建 qt5.15.2,并使用 Yocto 构建不带 wayland 和 xl11的 OpenGL ES2。

在 conf 中添加了以下内容:

DISTRO 特性附加=" OpenGL"

DISTR_FITS_REMOVE ="x11航迹"
在 qtbase_gitt.bbappend 中添加了以下内容:
PACKAGECONFIG[gold-linker]="-use-gold-linker、-no-use-gold-linker "
PACKAGECONFIG[SQL-PLUGINE-SQLite]="-system-SQLite -PLUGINE-SQLITE、-no-SQLite、sqlite3"
PACKAGECONFIG[QML-DEBUG]="-QML-DEBUG、-NO-QML-DEBUG"
PACKAGECONFIG[qreal-float]="-qreal float"
PACKAGECONFIG +="gles2"
PACKAGECONFIG_APP="eglfs SQL-PLUGE-SQLite FreeType fontconfig ICU 辅助功能 glib harfbuzz pcre qreal-float slib"
PACKAGECONFIG_REMOVE ="xcb linuxfb PulseAudio tools iconv alsa dbus gold-linker evdev openssl"
但是、在通过 Yocto 构建 qtbase 后、它抛出以下错误:
/../../../git/config.tests/unix/opengles2/opengles2.cpp:38:25:致命错误:GLES2/GL2.h:无此类文件或目录
编译已终止。

Makefile:177:目标'opengles2.o'的配方失败
make:***[opengles2.o]错误1.

Makefile:177:目标'opengles2.o'的配方失败
make:***[opengles2.o]错误1.
OpenGL ES 2.0已禁用。

它使用 https://github.com/meta-qt5/meta-qt5 并在 conf 和 qtbase_git.bbappend 中进行上述更改。
如果我们需要在 bbappend 中添加任何包含项或任何更改、是否有任何关于如何解决此问题的想法?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们尚未测试 Qt5.15、目前仅支持 Yocto 项目:thud 和 Qt5.11。

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、请参阅以下页面、了解我们修改了哪些方法来启用 Qt 版本: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Overview_Technical_Support.html#how-do-i-integrate-a-different-version-of-open-source-software-than-what-is-packaged-in-sdk-full-name

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    感谢您的快速响应。

    它是否支持 Qt 5.6.3 Yocto 项目:具有 eglfs 但不具有 x11、wayland 和 linuxfb 的 Rocko、就像我们要使用带有 OpenGL ES2的 QML 应用程序的 QtQuick 和 QtQuickControls 一样?

    我们使用 linuxfb 测试了 Qt 5.6.3 Yocto 项目:Rocko、该项目适用于 Qt C++小工具。

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ramakanth 您好、

    我建议查看以下 版本、它具有 Qt5.11和内核4.19支持。 如果您有 TI EVM、则可以使用 eglfs 插件编译和启动各种 Qt 应用。 也可以在没有 Wayland 和 X11组件的情况下构建文件系统。

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    您能否提供 meta-ti 和 meta-qt5层更改的参考文档、以确保 Qt 5.11使用具有 eglfs 插件但未启用 x11和 wayland 和 OpenGL ES2的 Yocto 项目?

    尽管我在 distro conf 中启用了 OpenGL 并在 qtbase.bbappend 中添加了更改、但相应的 Qt Quick 模块 和 Qt OpenGL 模块尚未构建。

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    感谢您的快速响应。

    我尝试使用 eglfs 插件构建应用程序、更改添加在 distro_features _append =" OpenGL"和 distro_features _remove =" wayland x11"中。 但是、它不能使用加速渲染运行、因为添加 OpenGL 时它会带来 mesa。  不确定是否缺少在发行版配置中包含带有 ti-SGX-DDK-um 的 OpenGL 提供程序。 如果是、请建议进行更改。

    在运行 QtQuickControls2中的 QtQuick 应用程序或库示例应用程序之前,正在使用以下环境变量:

    导出 QT_QPA_general_plugins=tslib:/dev/input/event0
    导出 QT_QPA_platform=eglfs
    导出 TSLIB_parameters=rotate=90:mode=640x480

    导出 QT_QPA_EGLFS_rotate=90

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抛出的错误如下所示:

    已加载库"/usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so
    缺少 EGL_EXT_DEVICE_BASE
    已中止

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否有您正在运行的特定应用程序、以及如何检查加速部分? 我想知道您是否可以分享有关该应用的更多信息。 此外、我是否可以从 Qt 下载应用?

    此致、

    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我正在运行 https://doc.qt.io/archives/qt-5.11/qtquickcontrols2-gallery-example.html 、它测试所有 qtquickcontrolls2并最终得到以下错误:

    GBM:无法打开任何驱动程序(搜索路径/usr/lib/dri)
    GBM:上次 dlopen 错误:/usr/lib/dri/tilcdc_dri.so:无法打开共享目标文件:没有此类文件或目录
    无法加载驱动程序:tilcdc
    GBM:无法打开任何驱动程序(搜索路径/usr/lib/dri)
    GBM:上次 dlopen 错误:/usr/lib/dri/kms_swrast_dri.so:无法打开共享目标文件:没有此类文件或目录
    无法加载驱动程序:kms_swrast
    无法查询物理屏幕大小,默认为100 dpi。
    要覆盖、请设置 QT_QPA_EGLFS_physical 和 QT_QPA_EGLFS_physical 高度(以毫米为单位)。
    在屏幕 LVDS1:-14上移动光标失败
    找不到 EGLConfig,返回空配置
    QEGLPlatformContext:无法生成临时曲面电流、格式未更新(3009)

    尽管显示了应用程序显示、但 UI 中存在延迟、显示在调试环境变量下的相同设置后、一些控件(返回到 OpenGL mesa 软件呈现)的 CPU 使用率为90%

    导出 QT_DEBUGINS=1
    导出 QT_QPA_EGLFS_DEBUG=1

    您能 告诉我 AM3358中是否有专用 GPU、该 GPU 可通过 eglfs 平台插件和硬件加速渲染功能运行上述示例吗?

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    在不使用 wayland 和 x11启用 TI SGX 加速图形后、AM 会在运行 QML 应用程序时遇到以下问题:

    PVR:(错误):OpenServices:PVRDRMOpenRender 失败[0、]
    PVR:(错误):PVRSRVConnect:无法打开连接。 [0、]
    PVR:(错误):无法连接到服务[0、]
    无法初始化 EGL 显示
    此致、
    Ramakanth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ramakanth 您好、  

    在 DT 文件中、SGX 节点是否已启用、是否可以共享 DTB 文件?

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Krunal、您好!
    感谢您的回答。 是已启用 SGX 节点。
    由于 DRM_LEGACY_mmap 错误,pvrsrvkm.ko 模块在启动时无法加载。
    以下是最新的 dmesg 错误:

    dmesg | grep PVR
    [5.748128] pvrsrvkm:加载树外模块会影响内核。
    [5.771686] pvrsrvkm:未知符号 DRM_LEGACY_mmap (错误0)
    [13.666245] pvrsrvkm:未知符号 DRM_LEGACY_mmap (错误0)
    [14.613104] pvrsrvkm:未知符号 DRM_LEGACY_mmap (错误0)
    此致、
    Ramakanth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以下是 DTS 文件的内容:

    #include "am33xx.dtsi"
    &SGX{
    状态="正常";
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请分享您如何构建 GPU 库?

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我 正在构建整个 Yocto BSP 构建并将其下载到目标中。

    在 Yocto machine conf 中、设置以下内容用于构建 GPU 库:

    需要 conf/machine/include/ti33x.inc
    (笑声)
    PACKAGECONFIG_append_pn-qtbase =" eglfs kms GBM"
    image_install_append =" ti-SGX-DDK-km ti-SGX-DDK-um libdrm"
    depends _移除="virtual/libgl"
    preferred_provider_virtual/EGL ="ti-SGX-DDK-um"
    preferred_provider virtual/libgles1 ="ti-SGX-DDK-um"
    preferred_provider virtual/libgles2 ="ti-SGX-DDK-um"
    preferred_provider virtual/libgbm ="ti-SGX-DDK-um"
    如果在 Yocto 配置中缺少任何相关错误的内容、请告诉我。
    此致、
    Ramakanth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     您能否告诉我在测试过程中、Qt 5.11.3是否可在运行 QtQuick2应用的 TI AM3358 (集成 GPU)上运行加速图形、而不会出现任何 CPU 负载问题? 另外还有您用来测试相同内容的 Qt Quick2示例。

    无法确定启用 SGX 节点后出现错误的原因。

    感谢您在这方面的帮助。

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ramakanth 您好、  

    遗憾的是、我们的 SDK 中默认不启用 QtQuick2。 我们不启用 Qt 支持的所有模块、但通过 Yocto 可以启用其他模块。 我认为我们应该首先解决您的 GPU 错误、我建议尝试 TI.com 上提供的当前 SDK。 以下是链接: https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/06_01_00_08/index_FDS.html。 为了进行测试、我将采用默认文件系统并修改器件树文件、以匹配您的电路板规格。 请记住、目前我们仅启用了 Qt5.11、并且仅支持 Kernel4.19。 如果该文件系统正常工作,并且您能够运行 Qt 应用程序,我们可以转到禁用 Weston/X11和添加其他 Qt 模块的后续步骤。  

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    我们可以尝试使用 TI SDK、但我们可能需要定制组件。 我们将尝试使用 TI SDK 进行测试、但最终需要通过 Yocto 为 SGX 提供商业支持。

    因此、您能否共享安装 TI SDK 的构建说明、以及如何自定义 SDK 以及构建 TI BSP?

    由于我们已经在使用 Yocto 进行验证、如果您 可以共享 TI 在启用 SGX 的情况下验证的 Yocto thud 项目的链接、那会有所帮助?

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Krunal、您好!

    下面是运行 QtQuick 示例应用程序时出现的错误:

    PVR:(错误):OpenServices:PVRDRMOpenRender 失败[0、]
    PVR:(错误):PVRSRVConnect:无法打开连接。 [0、]
    PVR:(错误):无法连接到服务[0、]
    无法初始化 EGL 显示
    已中止

    此致、

    Ramakanth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ramakanth 您好、

    您能否共享您的引导日志和 DTB 文件?

    此致、
    Krunal

x 出现错误。请重试或与管理员联系。