imx6 GPU 2D/3D acceleration not working in Yocto qte-in-use-image

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

imx6 GPU 2D/3D acceleration not working in Yocto qte-in-use-image

5,167 Views
2gigeng
Contributor II

The GPU 2D/3D acceleration is not working in the Yocto qte-in-use-image.  Looks like the "virtual/libgles2" and "-opengl es2 -openvg" are missing from imx6 in files qt4-embedded_4.8.4.bbappend and qt4-x11-free_4.8.4.bbappend, as shown below.

 

     DEPENDS_append_mx5 = " virtual/kernel virtual/libgles2"
     PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
     QT_GLFLAGS_mx5 = "-opengl es2 -openvg"
     QT_CONFIG_FLAGS_append_mx5 = " -I${STAGING_KERNEL_DIR}/include/"

 

     DEPENDS_append_mx6 = " virtual/kernel"
     PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
     QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/"

 

Adding "virtual/libgles2" and "-opengl es2 -openvg" for the imx6 as below resulted in the attached build errors.

 

     DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2"
     PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
     QT_GLFLAGS_mx6 = "-opengl es2 -openvg"
     QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/"

 

What is the correct way to enable GPU 2D/3D acceleration for imx6 in the Yocto qte-in-use-image?

Original Attachment has been moved to: log.do_configure.951.zip

10 Replies

1,797 Views
FranciscoCarril
Contributor V

Accordingly to LeonardoSandovalGonzalez until now in the Dylan branch, the Yocto release does not have hardware support configured for Qt correctly.


But in the master-next testing branch, there is a patch that enables the use of the GPU and it works.


Note that this is a workaround, and soon will be outdated because these changes could soon be approved to the master branch, and later to the official release.




Take into account that this is a development branch which could have other bugs hidden, also it is recommended to join the mailing list as mentioned before for future questions.





In order to use this patch :


First start the repo from 'master'  not dylan, then
create a new branch on sources/meta-fsl-arm from yocto/master-next, after this, setup the bitbake system and bake the image (qt-in-use-image). In Yocto words:

$: mkdir ~/bin
$: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$: chmod a+x ~/bin/repo
 
Download the BSP source:
 
$: PATH=${PATH}:~/bin
$: mkdir fsl-community-bsp
$: cd fsl-community-bsp
$: repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master
$: repo sync
 $: cd sources/meta-fsl-arm
 $: git checkout -b master-next yocto/master-next
 
 
 Once this has complete, you will have all you need. To start a build, do:
 
$: . ./setup-environment build
$: bitbake qt-in-use-image
0 Kudos

1,797 Views
ravivarman
Contributor I

Hi Francisco,

I followed your procedure as ,

$: mkdir ~/bin

$: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

$: chmod a x ~/bin/repo

$: PATH=${PATH}:~/bin $: mkdir fsl-community-bsp

$: cd fsl-community-bsp

$: repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b master

$: repo sync

$: cd sources/meta-fsl-arm

$: git checkout -b master-next yocto/master-next

$: MACHINE=imx51evk source setup-environment build

$: bitbake qte-in-use-image

but getting EGL initialization error. openGL is not working.is there is patch i need to apply for imx51?

0 Kudos

1,797 Views
LeonardoSandova
Specialist I

Ravi,

Please post your question into the meta-freescale mailing list.

0 Kudos

1,797 Views
LeonardoSandova
Specialist I

the image to be use should be qte-in-use-image.


Leo

1,797 Views
2gigeng
Contributor II

Thanks for the answer!  The Freescale GPU still seems to not work with the image "qte-in-use-image" in master-next testing branch.  When executing "/usr/bin/qtopia/demos/affine/affine -qws &" and then running "top" it shows "affine" is taking about 50% of the CPU.  What is the advantages of "qt-in-use-image" vs. "qte-in-use-image"?  I thought the "qte-in-use-image" was for embedded devices, thus the extra "e".  And "qt-in-use-image" is slow because of x-windows overhead. 

0 Kudos

1,797 Views
FranciscoCarril
Contributor V

Yes, sorry it was a typo,

use qte-in-use-image

0 Kudos

1,797 Views
dominochmiel
Contributor II

I followed your guidelines but qte-in-use-image still doesn't use opengl. Applications using opengl gives segmentation fault. I've got same effect on master and dylan branch. Could you post here any solution for this problem.

0 Kudos

1,797 Views
LeonardoSandova
Specialist I

You are right. Please try the qte-in-use-image image instead. As you mentioned, the main difference between is the X11 system present on the qt-in-use-image. Take a look at the images recipes for more detail (fsl-community-bsp/sources/meta-fsl-demos/recipes-qt/images)

leo

0 Kudos

1,797 Views
Ragan_Dunham
NXP Employee
NXP Employee

I would encourage you to post this question to the Yocto Freescale mailing list, as Qt is not officially supported by Freescale.  Francisco and our team here will certainly try to help but do keep in mind this is not a supported feature.

General information about the mailing list is at https://lists.yoctoproject.org/listinfo/meta-freescale

To post to this list, send your email to: meta-freescale@yoctoproject.org

thanks,

Ragan

0 Kudos

1,797 Views
FranciscoCarril
Contributor V

I am working in order to solve this question.

0 Kudos