1

我使用 qt5 在 i.Mx6Q (Buildroot) 上输入这些命令

# export QT_QPA_EGLFS_INTEGRATION=eglfs_viv
# CinematicExperience-demo -platform eglfs

演示应用程序运行正常,但显示:

qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_viv"

我发现说这个错误意味着我的板上没有图形加速。

我需要打开

kernel-module-imx-gpu-viv
libgles2-mx6
libegl-mx6

最后,我发现说内核版本必须从 3.10.x 到 4.1.x。所以我在 menuconfig 中将其更改为 4.1.15(原始版本为 4.14.14):

Kernel version (Custom Git repository)
(git://git.freescale.com/imx/linux-imx.git)URL of custom repository
(rel_imx_4.1.15_2.0.0_ga)Custom repository version
(imx_v7_mfg)Defconfig name
(board/freescale/imx6-sabresd/linux_qt5.fragment)Additional configuration fragment files
Kernel binary format(zImage)
[*]Build a Device Tree Blob(DTB)
(imx6q-sabresd)Device Tree Source file names

它编译成功,但是当我在 SD 卡上部署并尝试运行 QT 演示时,它显示:

qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_viv"
MESA-LOADER: failed to retrieve device information
gbm: failed to open any driver (search paths /usr/lib/dri)
gbm: Last dlopen error: File not found
failed to load driver: vivante
drmModeGetResources failed
Segmentation fault

问题:

如何在 i.Mx6Q (Buildroot) 上开启图形加速?打开'kernel-module-imx-gpu-viv'是正确的步骤吗?如果是正确的,那么如何将内核设置为较低版本才能成功运行QT demo?

4

1 回答 1

0

我在内核 4.1 上遇到了同样的问题,但它使用的是 Yocto Project 分支 rocko 和 Qt5.9。

使用您的应用程序运行ldd /path_your_app/app_qt并将输出放在此处。

运行zcat /proc/config.gz并将输出放在这里。

于 2018-03-28T01:18:20.750 回答