工具/软件:
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'
图形以更新到不同的平面?