Hi all,
I'm using an i.MX6qp custom board with a Yocto "rocko" image (no X11, Qt5.9 with EGLFS support):
All the Qt demos works fine in EGLFS (i.e. cinematicexperience-1.0) with the standard "rocko" kernel 4.1.42 (branch 4.1-2.0.x-imx), but the Qt doesn't work with the new kernel 4.9.126 (branch 4.9-2.0.x-imx).
I have the following error:
./Qt5_CinematicExperience
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_viv")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_viv", "eglfs_emu")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_viv"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_viv"
Could not open egl display
Aborted (core dumped)
With strace I have the following error:
....
....
....
openat(AT_FDCWD, "/dev/galcore", O_RDWR) = 6
ioctl(6, _IOC(0, 0x75, 0x30, 0), 0x7e9486b0) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "Could not open egl display\n", 27Could not open egl display
) = 27
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid() = 442
gettid() = 442
tgkill(442, 442, SIGABRT) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=442, si_uid=0} ---
+++ killed by SIGABRT (core dumped) +++
Aborted (core dumped)
The Qt related environment variables are:
xport QPEDIR
export QSG_INFO="1"
export QTDIR
export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER="1"
export QT_LOGGING_RULES="qt.qpa.*=true"
export QT_QPA_DEBUG="1"
export QT_QPA_EGLFS_DEBUG="1"
export QT_QPA_EGLFS_DEPTH="32"
export QT_QPA_EGLFS_FB="/dev/fb0"
export QT_QPA_EGLFS_HEIGHT="600"
export QT_QPA_EGLFS_WIDTH="800"
export QT_QPA_PLATFORM="eglfs"
Any suggestions?
Thanks,
Flavio Suligoi
Hi,
It looks like your galcore kernel driver version doesn't match the VIvante libraries version.
Have you tried running any Vivante demo apps just to check that 3D is working fine?
As a FYI, rocko uses libs 5.0.11.p8.6-hfp.bb but I don't believe the 5.0.11.p8.6 kernel module can build against a 4.9 kernel:
meta-freescale/recipes-graphics/imx-gpu-viv at rocko · Freescale/meta-freescale · GitHub
meta-freescale/recipes-kernel/kernel-modules at rocko · Freescale/meta-freescale · GitHub
Regards,
Gary
Thanks Gary,
when I have time I'll try to update all my distro to sumo, to align both the the kernel and the Vivante related drivers/libraries
Regards,
Flavio
Hello,
We are currently facing the same issues as Flavio and we have a similar setup: Qt 5.9 with EGLFS, no X11; the platform is imx6QP. However, we use the 4.9.11 linux-imx recipe from the meta-freescale rocko branch.
We have tried both the in-tree imx-gpu-viv kernel driver and the out-of-tree one to which you pointed and none of them work. The in-tree one does not match the userspace library version while the out-of-tree one does not seem to compile against 4.9.11.
Does this mean that the imx6 GPU is not supported at all in the current rocko community layers with 4.9.* kernels?
Do you know if any of the other kernels from the link below work with imx6's GPU?
meta-freescale/recipes-kernel/linux at rocko · Freescale/meta-freescale · GitHub
Regards,
Andrei
Hi Andrei,
did you try to update all your distro to sumo and see what happens?
Regards,
Flavio
Hello, Flavio!
No, we did not try this and there aren't any plans at the moment to do so.
Regards,
Andrei