- 验证 VPU 驱动是否成功加载
- 验证解码/编码是否成功卸载到 VPU
- 调试 VPU 驱动、固件和 GStreamer 视频插件
图:验证 VPU 驱动的工作流程
- 启动驱动以开始启动过程并初始化 VPU 驱动。
- 验证 VPU 驱动是否成功加载到视频系统中。
- 验证视频解码和编码任务是否由 VPU 正确处理。
- 运行用例以验证 VPU 功能。
验证 VPU 驱动是否加载到 qcom-multimedia-proprietary-image 上
内核镜像会加载 VPU 驱动。你可以使用lsmod 或 udevadm 命令检查 VPU 驱动是否在 qcom-multimedia-proprietary-image 上成功加载。
使用 lsmod 命令验证
- 在设备 shell 上运行
lsmod命令: - 要验证 VPU 驱动是否成功加载,请查看示例输出,并确保在 Module 列下存在
iris_vpu条目:
使用 udevadm 命令验证
- 在设备 shell 上运行
udevadm命令: - 要验证 VPU 是否成功加载,请确认以下示例输出在
ID_V4L_PRODUCT标签处显示msm_vidc_decoder和msm_vidc_encoder:
注意:
要识别设备节点,请查看 DEVNAME 标签。在前面的示例中,/dev/video32 对应 VPU 解码器节点,/dev/video33 对应 VPU 编码器节点。
验证 VPU 驱动是否加载到 qcom-multimedia-image 上
内核镜像会加载 VPU 驱动。你可以使用lsmod 和 udevadm 命令检查 VPU 驱动是否在 qcom-multimedia-image 上成功加载。
使用 lsmod 命令验证
- 针对 Dragonwing IQ-8275、Dragonwing IQ-9075、QCS6490,在设备 shell 上运行以下
lsmod命令: - 要验证 VPU 驱动是否成功加载,请查看示例输出,并确保在 Module 列下存在
qcom_iris条目: - 针对 QCS615,在设备 shell 上运行以下
lsmod命令: - 要验证 VPU 驱动是否成功加载,请查看示例输出,并确保在 Module 列下存在
venus条目:
使用 udevadm 命令验证
- 在设备 shell 上运行
udevadm命令:注意:
请对所有可用的视频节点运行
udevadm info -a -n /dev/video<0 to 27>命令。 - 要验证 VPU 是否在 Dragonwing IQ-8275/Dragonwing IQ-9075/QCS6490 上成功加载,请确认示例输出针对可用的视频设备显示
qcom-iris-decoder和qcom-iris-encoder: - 要验证 VPU 是否在 QCS615 上成功加载,请确认示例输出针对可用的视频设备显示
qcom-venus-decoder和qcom-venus-encoder:
验证解码和编码是否卸载到 qcom-multimedia-proprietary-image 上的 VPU
要确认视频解码或编码是否成功卸载到 VPU:- 循环运行以下命令:
示例输出:
- 验证在运行解码或编码用例时,任意 CPU 上来自
msm-vidc的中断计数是否增加。
验证解码/编码是否卸载到 qcom-multimedia-image 上的 VPU
要确认视频解码或编码是否成功卸载到 VPU:- 针对 Dragonwing IQ-8275/Dragonwing IQ-9075/QCS6490,循环运行以下命令:
示例输出:
- 验证在运行解码或编码用例时,任意 CPU 上来自
iris的中断计数是否增加。 - 针对 QCS615,循环运行以下命令:
示例输出:
- 验证在运行解码或编码用例时,任意 CPU 上来自
venus的中断计数是否增加。
调试视频
如果在运行视频解码或编码用例时遇到问题,调试可以帮助定位根本原因。调试 VPU 驱动
本节提供用于调试 VPU 驱动和固件的命令、调试日志级别以及日志值信息。 以下工作流程图展示了调试 VPU 驱动和固件的顺序:图:调试 VPU 工作流程
- 挂载调试文件系统以开始调试过程。
- 选择所需的日志级别。
- 根据需要为 VPU 驱动和/或固件配置日志级别。
- 使用
debugfs节点应用所选的日志级别。 - 开始捕获 VPU 驱动和固件的日志。
- 使用以下命令挂载
debugfs节点: - 按照下表列出的内容选择 VPU 驱动调试日志级别和调试日志值。你也可以通过调试日志值的位掩码来选择多个调试日志级别。
注意: VPU 驱动的默认调试级别设置为
VIDC_ERR,调试日志仅限于错误场景。 - 将 VPU 驱动调试日志值设置到
/sys/module/iris_vpu/parameters/msm_vidc_debug节点。激活所有消息级别的示例命令: - 按照下表列出的内容选择 VPU 固件调试日志级别和调试日志值。你也可以通过调试日志值的位掩码来选择多个调试日志级别。
注意: VPU 固件的调试日志仅限于错误(error)和致命(fatal)场景,默认调试级别设置为 `FW_ERROR | FW_FATAL`。
- 将 VPU 固件调试日志值设置到
/sys/module/iris_vpu/parameters/msm_fw_debug节点。激活所有消息级别的示例命令: - 在设备 shell 中使用以下命令开始捕获 VPU 驱动和固件的内核消息,并运行用例:
注意:
- 本节提供的视频调试说明仅适用于
qcom-multimedia-prop-image。 - Adreno VPU 驱动的
qcom-multimedia-image中没有可用的调试日志。 - 要在
qcom-multimedia-image上调试 Adreno 视频驱动,请在驱动源码中添加dev_err日志并构建qcom-multimedia-image。 - 更多信息,请参阅 适用于 qcom-multimedia-image 的 VPU 驱动构建说明。

