How to enable graphics acceleration on iMX6SL (Buildroot + QT5)

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

How to enable graphics acceleration on iMX6SL (Buildroot + QT5)

2,773 Views
jaripeltonen
Contributor IV

Hi,

I'm working on iMX6 SoloLite Evaluation board MCIMX6SLEVK + display MCIMX28LCD.

My SW environment is Buildroot 2017.02 with QT5 Webkit kiosk.

I am trying to get graphics acceleration (eglfs) working on my HW. I have done several experiments but no luck so far.

Basically I am trying to set the correct combination of config parameters in menuconfig.

I am able to start the Webkit browser with "linuxfb" plugin (command line option -platform linuxfb:fb=/dev/fb0), the web page opens up ok. But when trying to start the browser with "eglfs" plugin (-platform eglfs), it fails.

Currently the error message on terminal indicates following:

qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms_egldevice", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_kms_egldevice", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_kms"
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms_egldevice"
qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_kms_egldevice"
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_x11"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_x11"
Could not open display
Aborted

I should see the iMX6 specific EGL device ("eglfs_viv") on the EGL device integration plugin keys list, right?

In dmesg I can see this:

galcore: clk_get gpu3d_clk failed, disable 3d!
Galcore version 5.0.11.41671

so I am assuming that the driver is ok and it loads ok.

I did notice one interesting dependency between the menuconfigs (this might be irrelevant, but I'll mention it anyway);

if I want to be able to enable GPU Vivante support in Kernel menuconfig, I had to disable kernel-module-imx-gpu-viv in the "main" menuconfig. Currently I have Freescale i.MX libraries (imx6q + kernel-module-imx-gpu-viv) enabled on the top level "main" menuconfig.

What might be the reason for not seeing and not being able to activate the correct plugin?

Thanks for any hint or advice you might have!

Best regards,

Jari Peltonen

Labels (1)
0 Kudos
3 Replies

1,356 Views
jaripeltonen
Contributor IV

I got a bit further.... I now have "eglfs_viv" visible.

This is what trace log shows currently:

qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_viv")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_viv")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_viv"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_viv"

...

QEGLPlatformContext: Failed to create context: 3005
EGLFS: Failed to create compositing context
Aborted

So, it seems I'm getting there... but if you have any idea on how to get this fixed, please let me know. Thanks!

0 Kudos

1,356 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Jari,

I do not know exactly how resolve your issue, but I check that your are integrating the kernel modules for i.MX6Q and you have iMX6SL that does not have 3d GPU, you need enable the g2d support on it.

Also since you have not i.MX6Q you can not enable eglfs, since you need enable OpenGL and EGL support with,  gpu-viv-bin-mx6q

however, If not the case please also check:

[QTBUG-43325] Qt Compositor can't create windows - Qt Bug Tracker 

Regards

0 Kudos

1,356 Views
jaripeltonen
Contributor IV

Hi,

Thanks for your reply!

Yes, this is exactly what I have learned during the past few days.

I need to enable G2D support, but, like you said, I cannot use eglfs as iMX6SL does not have 3D GPU.

What I need to do is study this topic further...

Thanks & best regards,

Jari

0 Kudos