EGLFS with KMS on IMX6Q

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

EGLFS with KMS on IMX6Q

7,010 Views
zg_liu
Contributor I

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?

0 Kudos
Reply
1 Reply

7,007 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello zg_liu,

To enable EGLFS, in local.conf add: DISTRO_FEATURES_remove = "X11 wayland"

1.You do not need to copy the qt5 library,

2. In your machine, you need to enable Qt to run eglfs platform, in /etc/profile, add export QT_QPA_PLATFORM=eglfs or when you run an application; you need to add -platform eglfs. ie. helloworld -platform eglfs 

3There is no qtbase.inc; You could add PACKAGECONFIG_append_pn-qtbase = " eglfs xx xxx xxxx" to enable the configuration you need

4 There is qtserialport_git.bb in Jethro

5 As said, you do not copy the libraries and sources but instead tell Bitbake to do that for you. They will be moved to the corresponding places.

EGLFS with kms is not supported

Regards

 

0 Kudos
Reply