NXP MCU 技术论坛
直播中

陈超

7年用户 958经验值
私信 关注
[问答]

GPU DRM在imx6qsabresd中失败了怎么解决?

我正在使用带有基于 imx-linux-hardknott 5.10 的自定义内核的 imx6qsabresd 板,并使用 yocto Dunfell 版本。
我正在尝试运行 Qt 应用程序并出现分段错误。我正在使用 imx-gpu-viv_6.4.3 的预构建库。我正在使用以下库。
ibCLC.so
libGAL.so
libGLES_CL.so.1.1.0
libGLES_CM.so.1.1.0
libGLESv1_CL.so.1.1.0
libEGL.so.1.5.0
libGLESv1_CM.so.1.1.0
libGLESv2.so.2.0.0
libGLSLC。所以
libGL.so.1.2.0
libOpenCL.so.1.2.0
libOpenVG.2d.so.1.1.0
libOpenVG.3d.so.1.1.0
libVDK.so.1.2.0
libVSC.so
libGLES_CL.so -> libGLES_CL。 so.1.1.0
libGLES_CL.so.1 -> libGLES_CL.so.1.1.0
libGLES_CM.so -> libGLES_CM.so.1.1.0
libGLES_CM.so.1 -> libGLES_CM.so.1.1.0
libGLESv1_CL.so -> libGLESv1_CL.so.1.1.0
libGLESv1_CL.so.1 -> libGLESv1_CL.so.1.1.0
libGLESv1_CM.so -> libGLESv1_CM.so.1.1.0
libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
libGLESv2.so -> libGLESv2.so.2.0.0
libGLESv2.so.2 -> libGLESv2.so.2.0.0
libGL.so -> libGL.so.1.2.0
libGL.so.1 -> libGL.so.1.2 .0
libOpenCL.so -> libOpenCL.so.1.2.0
libOpenCL.so.1 -> libOpenCL.so.1.2.0
libOpenVG.so -> libOpenVG.3d.so.1.1.0
libOpenVG.so.1 -> libOpenVG .3d.so.1.1.0
libEGL.so -> libEGL.so.1.5.0
libEGL.so.1 -> libEGL.so.1.5.0
libVDK.so -> libVDK.so.1.2.0
libVDK.so。 1 -> libVDK.so.1.2.0
我正在使用 X11 窗口显示。我怀疑分段错误是因为我进入 X11.0.org 时 Dri 失败
VIVANTE(0):启用后备存储
[73.718](==)VIVANTE(0):启用 DPMS
[74.428](EE)VIVANTE(0):[dri] VivDRIScreenInit 失败,因为无法打开 Drm。
[74.460](II)初始化扩展通用事件扩展

(II) xfree86: 添加 drm 设备 (/dev/dri/card0)
[ 71.321] (II) 未找到主总线或设备
[ 71.322] 回落到 /sys/devices/platform/soc/130000.gpu/drm/card0

在 gdb 的回溯中,我收到以下错误,
OThread 1“恐慌”收到信号 SIGSEGV,分段错误。
0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
(gdb) bt full
#0 0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
No symbol table信息可用。
#1 0xb0c0f048 in wl_proxy_create_wrapper () from /lib/arm-linux-gnueabihf/libwayland-client.so.0
没有可用的符号表信息。
#2 0xb0c5dd64 在 ?? () 来自 /lib/arm-linux-gnueabihf/libEGL.so.1
没有可用的符号表信息。
回溯停止:前一帧与此帧相同(损坏的堆栈?)
(gdb)

下面是我的 imx-gpu-viv_6.4.3.bb 文件内容。

SRC_URI = "file://${PN}-${PV}-armhf.tar.gz\
file://debian\
"
SRC_URI[sha256sum] = "4e50fb2f13205ce84062f3bb70ae0b8453f7525f8725355cce3f71d1ce550f82"
S = "${WORKDIR}/${PN}-${PV}-armhf"
提供 =“\
libclc-imx6q\
libegl-imx6q\
libgal
-imx6q\libgles-imx6q\
libgles2-imx6q\
libgl-imx6q\
libglslc-imx6q\
libopencl-imx6q
\libopenvg-imx6q\
libvdk-imx6q\
libvivante-dri-imx6q\
libvsc-imx6q\

这个 bb 文件需要 DEPENDS_append_imxdrm = " libdrm " 吗??
您能否建议缺少导致此分段错误的包或配置。


回帖(1)

李鸿

2024-4-9 18:28:39
如果您的GPU DRM失败,并且您正在尝试运行Qt应用程序时出现段错误,请考虑以下解决方案:

1. 确保您正在使用正确的预构建库和驱动程序版本。可以尝试重新下载和安装它们。

2. 检查您的内核配置,确保GPU DRM已正确配置和编译。

3. 检查您的Qt应用程序代码,确认它们与您的预构建库和驱动程序版本兼容。

4. 检查您的应用程序在运行时使用的资源,例如内存和CPU使用率。如果您的应用程序消耗太多资源,可能会导致段错误。

5. 尝试使用其他库或驱动程序版本进行测试,以寻找是否存在任何兼容性问题。

以上是一些可能解决GPU DRM失败和段错误的常见解决方案。如果您仍然遇到问题,请尝试在相关论坛或社区寻求帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分