When I build the eglfs_kms environment in yocto, I get an error when I run the QT program in the following way:
/**********************************************************************************************/
When I configure the following environment variables to run the QT program, an error occurs.
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice
- error debug info ↓↓↓:
QFactoryLoader::QFactoryLoader() checking directory path "/home/root/egldeviceintegrations" ...
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_kms_egldevice", "eglfs_viv")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms_egldevice", "eglfs_emu", "eglfs_viv")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms_egldevice"
loaded library "/usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so"
qt.qpa.eglfs.kms: Loading KMS setup from "/home/root/kms.conf"
qt.qpa.eglfs.kms: Requested configuration (some settings may be ignored):
hwcursor: false
pbuffers: false
separateScreens: false
virtualDesktopLayout: 0
outputs: QMap(("LVDS", QMap(("mode", QVariant(QString, "1920x720"))("name", QVariant(QString, "LVDS"))("touchDevice", QVariant(QString, "/dev/input/touchscreen0")))))
qt.qpa.eglfs.kms: New DRM/KMS on EGLDevice integration created
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms_egldevice"
qt.qpa.eglfs.kms: platformInit: Opening DRM device
EGL_EXT_device_base missing
/**********************************************************************************************/
When I configure the following environment variables to run the QT program, it works fine.
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=eglfs_viv
/**********************************************************************************************/
My QTbase configuration in yocto is as follows:
PACKAGECONFIG_append_pn-qtbase = " \\
kms \
tslib \
eglfs \
gl \
gles2 \
cups \
fontconfig \
getentropy \
gif \
glib \
harfbuzz \
ico \
icu \
libinput \
linuxfb \
sql-sqlite \
tslib \
xkbcommon"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer"
DISTRO_FEATURES_remove = " x11 wayland"
/**********************************************************************************************/
QT base config.summary:
EGL .................................... yes
OpenVG ................................. yes
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ yes
OpenGL ES 3.0 ........................ yes
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... no
Features used by QPA backends:
evdev .................................. yes
libinput ............................... yes
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. yes
xkbcommon-evdev ........................ no
QPA backends:
DirectFB ............................... no
EGLFS .................................. yes
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... yes
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... yes
EGLFS GBM ............................ no
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... no
EGL on X11 ........................... no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
/**********************************************************************************************/
We don't understand what causes the error "EGL_EXT_device_base missing".
Q1:what is the difference between eglfs_viv and eglfs_kms_egldevice?
Q2: can eglfs_viv replace eglfs_kms_egldevice for dual screen display? Are there any disadvantages?
Q3: Is EGLFS with KMS not supported on IMX6Q platform? If so, what are the necessary configurations that should be done for our yocto project?