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.

[参考译文] DRA746:使用 Weston 时 GStreamer 捕获中断

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1128632/dra746-gstreamer-capture-broken-with-weston

器件型号:DRA746
主题中讨论的其他器件:TVP5158UKERNEL

我们有一个将 gstreamer 与 VPE 和 Wayland/Weston 结合使用的应用程序。

以下管道工作正常:

GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! kmsink

这也起作用:

GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! 排队! 陆上接收机

因此、我可以在没有 Weston 的情况下使用 VPE、也可以在没有 VPE 的情况下使用 Weston、没问题。 但是、这不起作用:

GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! 陆上接收机

错误如下所示…

(笑声) 
[3826.216613] PVR_K:(错误):SGXOSTimer () Detected SGX locked (0x9c46任务)
[3826.223541] PVR_K:HWRecoveryResetSGX:触发 SGX 硬件恢复
[3826.230163] PVR_K:SGX 调试(SGX_DDK sgxddk 1.17@4948957)
[3826.235687] PVR_K:(错误):SGX 寄存器基址(线性):  0x11863908
[3826.242736] PVR_K:(错误):SGX 寄存器基址(物理):0x56000000
[3826.249816] PVR_K:运行 SGXREG 调试脚本:
(笑声)
(笑声)

[3826.785156] PVR_K:检查 EDM 存储器上下文(索引= 7、PD = 0x83d12000)
[3826.792175] PVR_K:找到了页面故障0x108ba000的 MMU 上下文
[3826.798034] PVR_K:GPU 存储器上下文用于 PID=130 (systemd-udevd)
[3826.804443] PVR_K:未找到 PDE
[3826.807617] PVR_K:检查 TA 存储器上下文(索引= 2、PD = 0x85c36000)
[3826.814514] PVR_K:找到页面故障0x108ba000的 MMU 上下文
[3826.820404] PVR_K:GPU 存储器上下文用于 PID=1601 (Weston)
[3826.826263] PVR_K:PDE 有效:Pte = 0x00000000 (PhysAddr = 0x00000000、无效)
(笑声)

我们有一个基于 dra7-EVM 参考设计的定制板。 BSP 基于 Arago (Yocto 3.1/德南)。 rootfs 是'tisdk-default-image'。

其动机是我们有一个类似于 TVP5158参考设计的电视解码器(TW2964)。 它在单个8位 VIP 端口上多路复用4个视频输入通道、每个通道采用 YCbCr 格式。 (也称为 YUYV、可能是 YUY2、也可能是 UYVY。) 但 Weston 拒绝接受 YUYV 格式:如果我们使用 dmabuftest 进行尝试、则会得到以下错误:

dmabuftest -w 720x288 - multi2 -d /dev/video1 -c 720x288@yuV -d /dev/video2 -c 720x288@yuV

此错误出现在/var/log/weston.log 中:

CreateImageSharedFromNames:不支持的 DRI FourCC (fourcc = 0x56595559) 
[02:56:15.047] libwayland:客户端通信错误(pid 1619)

它似乎是由/usr/lib/dri/pvr_dri.so 生产的、它属于不透明的 TI-SGX-DDK 封装。 显然、我们必须使用 VPE 将 YUYV/YUY2输入格式转换为其他可接受的格式、例如 NV12、然后才能将其馈送到 Weston。 这就是导致 gstreamer + VPE + Weston 组合的原因、这会导致上述错误。

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

    您好、Michael、

    VPE 和航迹接收器过去在同一管道中使用过、因此它们应该能够协同工作。

    您能为我做两件事吗:

    1. 再次运行管道、添加了-gst-debug=4参数、然后共享日志?
    2. 查看与以下 E2E 主题类似的 VPE 输出格式和分辨率是否对问题有任何影响: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/954092/faq-compiler-tda2x-sometime-gstreamer-video-is-not-displaying-in-monitor-when-i-used-waylandsink?tisearch=e2e-sitesearch&keymatch=vpe%20waylandsink#

    此致、

    Takuma

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

    非常感谢您的回答。

    我从以下位置得到相同的误差:

    GST-LAUNCH-1.0视频测试 src! 'VIDEO/x-RAW、FORMAT=YUY2、width=720、height=288'! 排队! VPE! 'video/x-raw、format=NV12、width=720、height=288'! landsink --gst-debug=4 2>gst.debug

    调试输出:

    e2e.ti.com/.../gst.debug.txt

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

    你好、Takuma。 还有什么想法吗? 这对我们来说是一个障碍。

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

    您好、Michael、

    从日志中、似乎有些缓冲区分配失败了:

    0:00:00.475372314 1330  0x1a7c60 WARN             bufferpool gstbufferpool.c:305:do_alloc_buffer: Alloc 功能失败

    由于 GPU 还需要保留某些 CMA、这可能是 GPU 驱动程序也会给出错误的原因。

    您能看到增大 CMA 大小是否有帮助?

    此致、

    Takuma

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

    实际上已经尝试过。 无骰子。 该电路板总共有2 GB RAM、/proc/meminfo 目前为 CMA 提供了以下内容:

    总容量:425984 KB
    CmaFree:352848 KB

    (但无论如何、它不会小于256 MB、即使我要求它也是如此。)

    还有什么呢?

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

    您好、Michael、

    是否可以尝试将其增加到512 MB 或更多?

    此致、

    Takuma

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

    我尝试了高达1 GB 的容量、没有什么不同。

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

    您好、Michael、

    浏览代码、我们似乎将默认输入缓冲区设置为12: https://git.ti.com/cgit/glsdk/gst-plugin-vpe/tree/src/gstvpe.c#n103

    您共享的日志看起来不是在第5个输入缓冲区分配后分配缓冲区、就是达到了默认的12个输入缓冲区、而是在分配后未能分配。

    是否可以尝试将 num-input-buffers 设置为小于或等于4的值。 如果这不起作用、您是否可以尝试将其增大到诸如20 (以及最大128)的值。

    此致、

    Takuma

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

    4、12、128:所有相同的误差。 我尝试过以下方法:

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE num-input-buffers=4! 排队! 陆上接收机

    顺便说一下、非常感谢您对此的关注和帮助!

    我们还能在哪里找到它?

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

    您好、Michael、

    您能否将 num-input-buffers 设置为1、设置--gst-debug=4并共享日志?

    此致、

    Takuma

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

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE num-input-buffers=1! 排队! landsink --gst-debug=4 2>gst.debug.2

    输出:

    e2e.ti.com/.../gst.debug.2.txt

    最早警告:

    0:00:00.083496094 1844 0x19fac0 WARN VPE gstvpebufferpool.c:429:GST_VPE_buffer_pool_get:分配新的输入缓冲区索引:0/128、0

    那么、其中的许多内容:

    0:00:00.100128174 1844 0x19faf0警告 bufferpool gstbufferpool.c:305:do _alloc_buffer: Alloc 功能失败

    直至最后:

    0:00:01.680694580 1844 0x19fb20警告 basesink gstbasesink.c:3003:gst_base_sink_is:To_late: 警告:大量缓冲区正在被丢弃。
    0:00:01.680755616 1844 0x19fb20警告 basesink gstbasesink.c:3003:gst_base_sink_is:To_late: 警告:可能存在时间戳问题,或者此计算机速度太慢。
    0:00:01.680816651 1844 0x19fb20信息 GST_ERROR_SYSTEM gstelement.c:2153:GST_Element _message_full_with 详细信息: 发布消息:大量缓冲区正在被丢弃。

    似乎所有投诉都有"VPE"。 有什么想法?

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

    您好、Michael、

    是的、我同意大多数(如果不是全部)错误消息似乎与 VPE 相关...

    您能否使用"top"或类似命令监控存储器使用情况、使用--gst-debug=4运行以下命令并共享 gstreamer 和存储器使用情况的日志?

    1. GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! kmssink --gst-debug=4

    2. GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! 排队! landwaysink -gst-debug=4

    我已经看到、座机接收器使用的存储器肯定比 kmsink 更多、EVM 和定制板之间的一个区别是 EVM 具有4GB 的存储器。 查看代码 VPE 似乎使用 DRM 并使用与 GPU 共享的 DMA 缓冲区、这可能是 VPE 和 GPU 同时运行时管道失败的原因。 https://git.ti.com/cgit/glsdk/gst-plugin-vpe/tree/src/gstvpebuffer.c#n50

    我不认为该流水线会占用2GB 的内存、但根据分配给其他内核的内存大小以及留给 Linux 和 GPU 的内存大小、我们可能只是内存不足。

    编辑:是否还可以共享完整的引导日志?

    此致、

    Takuma

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

    [根据 htop 的使用数据。]

    #1)   内存: 145M/1.95G、CPU:2 - 7%

    e2e.ti.com/.../gst.kmssink.debug.txt

    2)  内存: 169M/1.95G、CPU:0 - 25%

    e2e.ti.com/.../gst.waylandsink.debug.txt

    引导日志:

    e2e.ti.com/.../3364.dmesg.log

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

    实际上、我们还有一个同一块板的4 GB 变体。 (与其他情况几乎相同。) 您想让我在该板上尝试一下吗?

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

    您好、Michael、

    是的、请尝试4GB 型号。

    此外、在日志#1和#2中、gstreamer 管道是否正常工作?

    最后、我从几年前就发现了这一问题: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/676523/linux-dra746-waylandsink-video-playback-qurey/2491498?tisearch=e2e-sitesearch&keymatch=dra746%20dmesg#2491498

    是否还可以尝试在运行失败的流水线后打印 dmesg、以及在运行流水线前后执行 tiler_map?

    此致、

    Takuma

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

    在4 GB 主板上...

    根据 htop 的说法、内存使用几乎与2 GB 上的内存使用情况相同。

    尽管#1中存在所有分配错误、但这两条管道似乎都正常工作(视频测试模式看起来正确、右下角的雪动画随着时间的推移而变化)。

    (以下日志是在 CMA=256M 时获取的、但行为在 CMA=1G 时没有不同。)

    1号)

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! kmsink --gst-debug=4 2>kms.gst.log

    e2e.ti.com/.../kms.gst.log.txt

    2)

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! 排队! landsink --gst-debug=4 2>wayland.gst.log

    e2e.ti.com/.../wayland.gst.log.txt

    引导日志:

    e2e.ti.com/.../2021.dmesg.log

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

    CAT /sys/kernel/debug/dri/0/tiler_map > tiler_map.0.txt

    e2e.ti.com/.../tiler_5F00_map.0.txt

    在运行#1流水线之前和之后没有区别。 同样、dmesg 输出没有差异。

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

    但实际上、我还没有运行故障流水线。 运行此命令后会有一些差异:

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! 陆上接收机

    (注意:我在获取这些文件之前执行了两次。)

    下面是 tiler_map:

    e2e.ti.com/.../tiler_5F00_map.2.txt

    这里是 dmesg:

    e2e.ti.com/.../dmesg.1.log

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

    您好、Michael、

    在内部、一年前报告的 JIRA TT 可能是此问题。 我和看了票的工程师交谈、但似乎还没有解决方法。

    JIRA 提到 PSDK 5版本不存在此问题、只有 PSDK 6存在此问题。 如果您使用的是 PSDK 6、能否尝试使用 PSDK 5并查看问题是否仍然存在?

    此致、

    Takuma

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

    谢谢你、Takuma、这是令人鼓舞的。 因此、我们的构建基于这里的 Yocto 3.1/沙丘配置:

    https://git.ti.com/cgit/arago-project/oe-layersetup/tree/configs/arago-dunfell-config.txt

    我没有非常清楚地了解所有不同的 TI SDK 项目是如何组织的。 我应该改用这些位置的其中一个配置吗?

    https://git.ti.com/cgit/arago-project/oe-layersetup/tree/configs/processor-sdk

    https://git.ti.com/cgit/arago-project/oe-layersetup/tree/configs/processor-sdk-linux

    我在 这里看到版本05.03.00.07、更新版本一直到08.x 但是 05.03.00.07标记了 Yocto 版本2.4/Rocko、这对我们来说是一个很大的倒退:我认为我们不能忍受这种情况。 也许我对这种解释不正确。 您能推荐吗?

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

    您好、Michael、

    我从团队那里得到了一条建议、要使用较新的 Yocto 配置: https://git.ti.com/cgit/arago-project/oe-layersetup/tree/configs/processor-sdk-linux/processor-sdk-linux-08_01_00.txt

    可以尝试一下吗?

    此致、

    Takuma

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

    还可以! 听起来不错。

    花了我一整天的时间完成了 Yocto 建筑。 我看到 08_02_00和08_02_01_00配置也可用、因此我假设您非常刻意地调用08_01_00。 这一点很重要、因为旧标签有很多过时的 URL 和其他构建问题、我必须处理或解决这些问题。 我还发现、这个 PSDK 配置中的 tisdk-default-image 大小超过6 GB、而'ungiaged Araga'配置中的 tisdk-default-image 大小大约为3 GB。 与这张票无关、只是它进一步降低了我的速度。

    无论如何、在最终刷写和启动该文件后、我立即收到了(甚至在登录之前)以下内容的问候:

    [17.625976] PVR_K:(HC-0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.642761] PVR_K:(HC-10) 0x00000000 0x0000000A 0x0004A666 0x00000000
    [17.649444] PVR_K:(HC-20) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.656097] PVR_K:(HC-30) 0x00000000 0xEF1AE570 0x00000000 0x00000000
    [17.669097] PVR_K:(HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.675720] PVR_K:(HC-50) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.690032] PVR_K:(HC-60) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.696807] PVR_K:(HC-70) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.703460] PVR_K:(HC-80) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.718322] PVR_K:SGX TA/3D 控制:
    [17.722015] PVR_K:(T3C-0) 0xF4003000 0xF40031A0 0xF4002000 0x00000000
    [17.728912] PVR_K:(T3C-10) 0x00000000 0x00000002 0x00000000 0x00000000
    [17.735656] PVR_K:(T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.742614] PVR_K:(T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.756713] PVR_K:(T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.763458] PVR_K:(T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.796539] PVR_K:(T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.803314] PVR_K:(T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.820129] PVR_K:(T3C-80) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.836517] PVR_K:(T3C-90) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.856506] PVR_K:(T3C-A0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.864196] PVR_K:(T3C-B0) 0x00000000 0xF4000000 0x83E9F000 0x00000000
    [17.871887] PVR_K:(T3C-C0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.886932] PVR_K:(T3C-D0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.89366] PVR_K:(T3C-E0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.916534] PVR_K:(T3C-F0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.936553] PVR_K:(T3C-100) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.946716] PVR_K:(T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.966552] PVR_K:(T3C-120) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.986541] PVR_K:(T3C-130) 0xF2016010 0xF2016014 0xF2016034 0xF2016030
    [17.994171] PVR_K:(T3C-140) 0xF4004000 0xF400F820 0xF4002020 0x00000000
    [18.016937] PVR_K:(T3C-150) 0x00000000 0x00000000 0x00000000 0x00000000
    [18.023742] PVR_K:(T3C-160) 0x00000000 0x00000000 0x00000000 0x00000000
    [18.045593] PVR_K:(T3C-170) 0x00000000 0x00000000 0x00000000 0x00000000
    [18.067687] PVR_K:(T3C-180) 0x00000000 0x00000000 0x00000000 0x00000000
    [18.074493] PVR_K:(T3C-190) 0x00000000 0x00000000 0x00000000 0x00000000
    [18.096527] PVR_K:SGX 内核 CCB WO:0x0 RO:0x0
    [18.101409] PVR_K:活动同步
    [18.104583] PVR_K:(错误):SGXPostPowerState:SGXInitialize Failed (SGXPostPowerState:SGXInitialize 失败)
    [18.126556] PVR_K:(错误):PVRSRVSetDevicePowerStateKM:转换为0失败0x18
    [18.146575] PVR_K:(错误):SGXScheduleCCBCommandKM 未能为器件上电- ui32CallerID:-1 eError:24
    [18.176635] PVR_K:(错误):SGXGetMiscInfoUkerne:SGXScheduleCCBCommandKM 失败。
    [18.184600] PVR_K:(失败) SGXInit:无法验证硬件内核版本
    [18.206573] PVR_K:(错误):PVRSRVFinalizeSystem:PVRSRVDevInitCompatCheck 调用失败(器件索引:0)
    [18.228088] PVR_K:(错误):BridgedDispatchKM:初始化失败。 驱动程序不可用。

    你怎么看? (有趣的是、  这个 SGX 是在改变发行版后立即发生灾难性故障的东西。 可能不是巧合。)

    此错误会阻止 Weston 启动、因此我无法完成我们所想到的管道测试、而无需修复。

    Linux 内核版本是一种可能的方法:我们当然有一个用于定制电路板的内核分支(具有器件树、定制驱动程序等)。 我们的分支以5.10.100为基础、因为 Arago-dunFour-config 指向这一点。 但该 PSDK 08.01配置似乎指向内核5.10.65。 我是否应该尝试将分支机构重新设置为5.10.65、看看这是否会产生任何影响?

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

    嗯、我继续尝试了。 不起作用:5.10.65上的错误与5.10.100上的错误相同。

    顺便说一下、我在我的最后一封邮件中错过了它的这一主要部分:

    [17.144531] PVR_K:(错误):PollForValueKM:超时。 应为0x1、但找到0x0 (屏蔽0x1)。
    [17.158355] PVR_K:(错误):SGXInitialize:等待 uKernel 初始化失败
    [17.167053] PVR_K:SGX 调试(SGX_DDK sgxddk 1.17@4948957)
    [17.172576] PVR_K:主机 CTL 标志= 0000000c
    [17.179687] PVR_K:SGX 主机控制:
    [17.183288] PVR_K:(HC-0) 0x00000000 0x00000000 0x00000000 0x00000000
    [17.194488] PVR_K:(HC-10) 0x00000000 0x0000000A 0x0004A666 0x00000000

    (笑声) (笑声)

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

    接下来、我尝试自行更改 ti-SGX-DDK 驱动程序。 更精确地说:根据  PROCESSOR-SDK-LINUX-08_01_00配置、meta-ti 层位于08.01.00.006标签上。 这两种方法构成了 SGX 驱动程序和库:

    meta-ti/meta-ti/meta-bSP/PowerVR-drivers/ti-SGX-DDK-km_1.17.4948917.bb
    meta-ti/meta-ti/meta-graphics/libgles/ti-SGX-DDK-um_1.17.4948917.bb

    我从属于最新 PSDK8配置(PROCESSOR-SDK-LINUX-08_02_01_00)的08.02.00.006标签中检查了这些内容。 然后重建了所有东西。 (这需要很长时间、但没关系。)

    启动此映像后、"Driver unusable (驱动程序不可用)"错误消失。 成功加载 SGX 驱动程序。 但是、当我尝试原始故障流水线时... 再次出现相同的错误! 这意味着我尝试以下操作:

    GST-LAUNCH-1.0视频测试 src! 'video/x-raw、format=(string) YUy2'! VPE! 排队! 陆上接收机

    我得到相同的旧错误:

    (笑声)
    PVR_K:(错误):SGXOSTimer ()检测到 SGX 锁定。
    (笑声)

    这证明了什么? 我认为强烈建议更改发行版(PSDK8与 Arago 未调味)对这个问题没有影响。 另外还顺便说一下、内核版本5.10.65与5.10.100也没有什么区别。 似乎改变 SGX 驱动程序行为的唯一一件事是它自己的版本(meta-ti 08.01.00.006与08.02.00.006)、但我还没有找到一个可用的版本; 只有 两个不同的版本以两种不同的方式失败。

    那么、现在怎么办?

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

    你好、Takuma。

    有没有关于这方面的新闻? 这是 TI 错误吗?

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

    您好、Michael、

    SGX 驱动程序来自第三方 Imagination Technology、遗憾的是、今年年初已取消对 SGX 驱动程序的支持、因此很难调试 SGX 驱动程序的任何问题。

    我假设 PSDK 5和6之间引入了一些错误、该错误已传递到 PSDK 的后续版本。 我也有很多工程师来看看 他们有没有建议去看看。

    在等待回复时、有一项建议是将航迹接收器替换为其他接收器、如一线希望接收器。  

    此致、

    Takuma

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

    好的、再次感谢 Takuma。 我非常感谢所有的帮助。 我们可以用一线通进行实验、看看它是否能很好地解决问题。