我使用 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?