Hello shing,
For the i.MX8 NXP/Vivante changed
their proprietary graphic stack significantly. The framebuffer and X11
driver are deprecated, only Wayland will be supported, and they have
switched from the Linux framebuffer interface to (a fork of) libdrm.
Is able to run a Qt Quick application on an i.MX8M using this
new infrastructure, i.e. using the regular eglfs_kms platform plugin. So
I am wondering if the qtbase configure script should be adapted to
detect i.MX8, and for that not build eglfs_viv, eglfs_viv_wl and
eglfs_kms_egldevice anymore. it is a trend to move away from basing EGL/OpenGL implementations
on top of the (deprecated) fbdev, and instead move onto drm. Sometimes,
and I suspect this is the case with Vivante as well, vendors offer both
variants of the drivers. With eglfs this means the backend has to be
selected based on what's there in the system at run time. (in this case
this means choosing between eglfs_viv[_wl] or eglfs_kms)
Qt upstream has no explicit support for i.MX8 (there are no device specs
in mkspecs/devices since none got contributed so far), but, as you also
found out, eglfs is known to work, so in that sense the i.MX8 is
supported.
I suppose Yocto and other distro build tools have Qt available for i.MX8
targets as well. How they configure things there (what drivers, which
eglfs backend) is up to them. For example, as I understand, the
pre-built, Yocto-based reference images from the commercial Qt for
Device Creation offering are still using the fbdev-based stack and so
the eglfs_viv path for i.MX8.
/regards