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.

[参考译文] AM625:AM62x 的 GPU 驱动程序问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1657631/am625-gpu-driver-issues-of-am62x

器件型号: AM625

SDK10.01.10.04 内核版本 6.6.58+


GPU 相关的错误消息:

2026.06.05-10:37:05..714..[ 9.828723]  PVR_K: 103:设备:fd00000.GPU
2026.06.05-10:37:05..744...[  9.840287] PVR_K: 103:从硬件器件寄存器中读取 BVNC 33.15.11.3
2026.06.05-10:37:05..748.[9.856609]  PVR_K: 103:RGX 设备注册了 BVNC 33.15.11.3
2026.06.05-10:37:05..748..[  9.873282][DRM]已初始化 PVR 24.1.6554834 20170530 对于次要 1 上的 fd00000.GPU
2026.06.05-10:37:05..749...[ 10.056254] PVR_K: 224:RGX 固件映像'rgx.fw.33.15.11.3“已加载
2026.06.05-10:37:05..749...[ 10.077482] PVR_K: 224:加载了着色器二进制图像'rgx.sh.33.15.11.3“
2026.06.05-10:37:05..761.[14.225335]  2b10000.audio-controller-tlv320aic3x-hifi: ASOC:不匹配的速率对称性:2b10000.audio-controller:8000 - SoC_PCM_params_对称 性:22050
2026.06.05-10:37:05..762..[ 17.400283] am65-cpsw-Nuss 8000000.Ethernet eth0:链路断开
2026.06.05-10:37:05..769.[19.940783] 平台 2b300050.目标模块:延迟探头待定
2026.06.05-10:37:05..780.[247.304232] am65-cpsw-Nuss 8000000.Ethernet eth0:PHY [8000f00.MDIO:00]驱动程序[SMSC LAN8710/LAN8720](IRQ=POLL)
2026.06.05-10:37:05..781...[ 247.314652] am65-cpsw-Nuss 8000000.Ethernet eth0:配置 phy/RMII 链路模式
2026.06.05-10:37:05..791..[ 247.372235] PVR_SYNC_FILE:PVR_SYNC_CREATE_FENCE:无法打开提供的时间轴 FD (44)
2026.06.05-10:37:05..804...[247.380602] PVR_K:(错误): 224:SyncCheckpointCreateFence 未能为时间线<00000000499a4e77>使用同步检查点上下文<00000000b65e77a>、psNew0000aa9aa499a4e77>、SynceCheckParams=6ea900011_error>
2026.06.05-10:37:05..829..[ 247.402850] PVR_K:(错误): 224:PVRSRVRGXKickTA3DKM:SyncCheckpointCreateFence[TA] 失败 (PVRSRV_ERROR_INVALID_PARAMS)[4239]
2026.06.05-10:37:05..865..[ 250.404159] am65-cpsw-Nuss 8000000.Ethernet eth0:链路接通 — 100Mbps/full — 流控制关闭

 

以下 GPU 错误消息可能会导致 Qt 程序崩溃:

2026.06.05-10:37:05..791..[ 247.372235] PVR_SYNC_FILE:PVR_SYNC_CREATE_FENCE:无法打开提供的时间轴 FD (44)
2026.06.05-10:37:05..804..[247.380602] PVR_K:(错误): 224:SyncCheckpointCreateFence 无法使用同步检查点为时间线<44>创建新的栅栏<00000000499a4e77>

 


SDK:                ti-processor-sdk-linux-am62xx-evm-10.01.10.04-Linux-x86-Install.bin
Linux 内核:6.6.58+
GPU 驱动程序:  pvrsrvkm.ko (SDK)

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

    尊敬的 Dong:  

    几个简短的问题。 您能否分享导致错误消息的相关代码? 是否在任何不同的 SDK 版本上发生了此问题? 哪个命令或操作会触发此行为? 您使用的是 EVM 还是定制硬件?

    此致、

    Shriya

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

    尊敬的 Dong:

    除了 Shriya 的问题让我们更好地了解您的设置,对于错误日志,它可能表明您的系统中有一个功能在不断打开文件,但不能正确关闭它们。 请您同时仔细检查一下这一点吗?

    谢谢、

    Kevin

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

    你好 :

    EVM 硬件;

    GPU 驱动程序经常会进行打开/关闭操作;有一个网络线程会广播 GPU 驱动程序的打开和关闭、但它无法将网络套接字文件描述符 (FD) 分配给–1。 这会导致在分配期间与 GPU 驱动器 FD 重叠、然后执行关闭操作。 因此、GPU 驱动程序遇到异常、导致来自主机的异常接口调用并最终导致崩溃;

    建议: GPU 驱动程序是否可以在内部修复文件描述符 (FD) 以便不会频繁更改? 频繁的更改可能会导致 FD 重叠、其他应用程序可能会关闭此重叠、从而导致例外情况;

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

    您好 :

    你是对的。 这是由 GPU 驱动程序中的文件描述符 FD 与应用程序网络套接字文件描述符 FD 重叠关闭引起的。 建议在 GPU 驱动程序中修复文件描述符 FD。

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

    lrwx----- 1 根 root、7 月 64 日、01:16 45 ->/dev/dri/renderD128
    问题是 Fd=45(最初是由主机创建的 sockfd)在关闭后未设置为–1。 这导致主机在以后切换网络类型时错误地确定了 sockfd>1、然后再次将其关闭。 但是、内核已将 44 个资源重新分配给另一个资源 (/dev/dri/renderD128)、从而导致该资源意外释放。

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

    尊敬的 Dongliang:

    文件描述符由内核动态分配。 应在应用层进行正确修改:标准化套接字闭合管理:在网络线程中、执行 close_socket_fd 后;该变量必须立即显式重置:socket_fd =–1;。

    如果遵循上述方法、您仍然看到任何错误吗?

    谢谢、

    Kevin

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

    尊敬的 Kevin:
    应用层通常会关闭文件描述符 fd 并将其设置为–1、这解决了该问题;
    但是、GPU 驱动程序反复打开文件描述符 FD 仍然存在重大风险;是否可以优化驱动程序仍有待观察。 具体而言、我们需要检查驱动程序模块“pvrsrvkm.ko“中的文件描述符 fd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">尊敬的 Dongliang:
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">感谢您对驾驶员行为风险的反馈。 关于您在 GPU 驱动程序中修复/优化 FD 分配的建议、我们希望提供一些技术背景:
      ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">
    1. ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px="" 12px;="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 700;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">内核级 FD 管理:在 Linux 中、虚拟文件系统 (VFS) 处理文件描述符的分配和回收、分配最低的可用数量。 驱动程序不能强制使用特定的 FD 编号。
    2. ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px="" 12px;="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 700;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">高频 FD 操作: anon_inode:sync_file 观察到的快速变化(同步栅栏)是现代 Linux DRM/KMS 图形架构中显式同步的标准。 此动态分配/发布是预期行为、而不是驱动程序缺陷。
    3. ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px="" 12px;="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 700;="" margin:="" 0px;="" text-decoration:="" none;="" border-bottom:="" 0px="" rgb(10,="" 10,="" 10);"="">系统稳定性:由于内核立即回收 FDS、因此防止冲突取决于应用程序层是否遵循将 FD 变量重置为 -1 后立即的标准 close()。
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">因此、将变量重置为的修复 -1 方法是正确的标准解决方案、无需在驱动程序方面进行任何更改。
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">谢谢、
    ",="" roboto,="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 12px="" 0px="" text-decoration:="" none;="" border-bottom:="" rgb(10,="" 10,="" 10);"="">Kevin