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.

[参考译文] AM62A7:使用的平台是 AM62A7芯片、SDK 版本10.00.00.08、存在几个与渲染和显示相关的问题。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519807/am62a7-the-platform-used-is-the-am62a7-chip-with-sdk-version-10-00-00-08-and-there-are-several-issues-related-to-rendering-and-display

器件型号:AM62A7

工具/软件:

1.芯片是否支持2D 图形渲染硬件? 我目前正在使用 QT5开发用户界面、并注意到 TI 在 GitHub 上的示例使用了 ​linuxfb ​插件。 现在、我需要 QT 程序来刷新 DRM 覆盖平面上的接口、因此我手动指定了 ​eglfs ​插件:
导出 QT_QPA_PLATFORM=egfs
导出 Mesa_loader_driver_override=swrast
导出 QT_QPA_EGLFS_INDURATION=eglfs_kms
导出 QT_QPA_EGLFS_KMS_DEV=/dev/dri/card0
导出 QT_QPA_EGLFS_KMS_PLANE_INDEX=1
运行该程序时、图像渲染和显示速度非常慢。 切换页面时需要几秒钟的时间刷新。 可能的原因是什么?

2. DRM 平面是否支持 QT 接口的270度旋转? 使用"modetes -M tidss"命令、我们观察到两个平面: ​plane-id=31 (主) ​​和 ​41 (覆盖层) ​。 这两个平面都没有可配置的旋转参数。 是否可以通过更新驱动程序来启用旋转支持(例如270°)?

3. 在我的项目中,有一个 ​GStreamer ​视频处理程序和 ​Qt ​专用硬件程序。 这两个应用程序需要在单独的平面上显示:
​(1)  GStreamer ​在上 ​接地平面 ​(例如、plane-id=31)。
​(2)  QT UI ​在上 ​覆盖平面 ​(例如、plane-id=41)。
我们希望这些程序能够独立运行。 目前、该计划是:Gstreamer 通过​"kmssink'、QT 访问"/dev/dri/card0' 直接更新其显示内容。
但是、当一个程序首先运行时、第二个程序失败、并显示错误: "drmModeSetPlane 失败:权限被拒绝。"
是否有其他方法可以实现这一目标? 例如、我们是否可以使用 ​多个 kmssink 实例 、每个应用程序都维护自己的'kmssink'图形以更新到不同的平面?

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

    您好、

    1.不,我们没有专用的2D 或3D 图形。 由于没有3D 图形引擎、Qt 渲染将在 CPU 上完成、您的性能将受到 CPU 的限制。

    2.不,我们的 DSS 不支持旋转,您可以使用 CPU 来旋转您的帧缓冲区。

    3.默认情况下,kmssink 只允许一个应用程序控制显示控制器。 过去、我们有一个变通办法、我的同事 在以下主题上共享了实验修补程序: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1515499/am62a7-am62a7-is-it-possible-to-display-a-video-using-plan_id-31-in-one-process-and-a-ui-using-plan_id-41-in-another-process-plane_id-31-plane_id-41-in-drm?tisearch=e2e-sitesearch&keymatch=kmssink# 。 但是、这是一个实验性的过程、支持将受到限制。  

    此致、
    Krunal

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

    您好、

    是否可以修改 Linux 内核或驱动程序以将 DRM 覆盖平面导出为第二个 fbdev 设备(例如/dev/fb1)、然后让 Qt 的 linuxfb 插件使用/dev/fb1直接将 Qt 内容渲染到覆盖平面?

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

    您好、

    我不熟悉 fbdev、因为它来自开源社区、我的建议是咨询 DRM 社区以获得更多指导。

    此致、
    Krunal

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

    您好、

    是否可以配置帧缓冲区(/dev/fb0)以支持 ARGB?  帧缓冲区(/dev/fb0)当前支持32位色深、但像素格式为 XRGB (没有 Alpha 通道)

    # fbset -i

    模式"1920x720"
    1932年:第32期
    时序0 0 0 0 0 0 0 0
    RGBA 8/16、8/8、8/0、0/0
    endmode

    帧缓冲器器件信息:
    名称:tidssdrmfb
    地址:(无)
    大小:5529600
    键入:包装像素
    视觉:TrueColor
    第1步
    第1章:一个男人
    YWrapStep:0
    第7680章
    加速器:否

    此致、
    Alan

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

    您好 Alan、
    这是 Linux 中的通用用户空间帧缓冲区配置、我们建议您参阅与此相关的在线资源/论坛。