在运行/app/multimedia_samples/sample_gpu_3d/gles/sample_bezier下的使用GPU渲染贝塞尔曲线的示例程序,出现以下错误:
root@ubuntu:/app/multimedia_samples/sample_gpu_3d/gles/sample_bezier# ./bezier
MESA-LOADER: failed to open vs-drm: /usr/lib/dri/vs-drm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
vdkGetDisplay(395): Can’t retrieve DRM connector.
Framebuffer error: 0
应该是缺少驱动依赖vs-drm_dri.so,请问是否有GPU驱动程序的安装包
结论:RDK X5 板端 GPU 渲染当前不可用
根据社区最新排查结果(包括你刚才的测试),RDK X5 板端 GPU 渲染功能因缺少 vs-drm_dri.so 驱动库而暂时不可用。
问题根因
MESA-LOADER: failed to open vs-drm: /usr/lib/dri/vs-drm_dri.so: cannot open shared object file: No such file or directory
GLES/EGL 库存在:libGLESv2.so、libEGL.so都已安装
DRM 设备存在:/dev/dri/card0可用
GPU 驱动已加载:Verisilicon (芯原) 驱动
缺少 DRI 驱动库:vs-drm_dri.so未提供,导致 EGL 初始化失败 (0x3001)
这是 RDK X5 软件适配的已知限制,社区多位开发者反馈过类似问题。
推荐替代方案
| 方案 | 适用场景 | 推荐度 |
|---|---|---|
| Web 端渲染 | 3D 可视化、复杂 UI | |
| BPU 计算 + CPU 渲染 | 检测结果显示、2D 界面 | |
| Qt + X11 (xcb) | 2D 界面开发 |
方案 1:BPU 计算 + CPU 渲染(推荐用于检测结果显示)
# 推理用 BPU,渲染用 CPU(OpenCV/Qt)
# 官方示例大多采用此架构
方案 2:Web 端渲染(推荐用于 3D 可视化)
# 使用 Flask/FastAPI + HTML5 Canvas
# 或 Three.js 进行 3D 渲染
# 官方 TTS 等示例采用 Web 输出
方案 3:Qt + X11(2D 界面)
# 使用 X11 平台而非 eglfs
export QT_QPA_PLATFORM=xcb
export QSG_INFO=1
./your_qt_app
建议行动
- 联系官方确认:询问
vs-drm_dri.so是否有单独安装包或后续版本支持 - 采用替代方案开发:根据应用场景选择上述方案
- 在社区反馈:你已在 RDK X5 上 3D GPU,OpenGL ES 的使用 发帖,建议将结论同步到 你的新帖子
需要进一步帮助吗?
请告诉我你的具体应用场景,我可以提供针对性方案:
检测结果显示 → BPU + OpenCV 示例
2D 界面开发 → Qt + X11 配置指南
3D 可视化 → Web 端渲染方案
联系官方 → 问题描述模板
正常使用 APP 目录下的案例是可以正常运行的,可以先确认一下自己的 X5 OS操作系统是否是当前的最新版本。