In i.mx51 with Qt Compile, The EGL functionality test failed.

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

In i.mx51 with Qt Compile, The EGL functionality test failed.

2,535 Views
ravivarman
Contributor I

Hi all,

I’m trying to cross compile qt-everywhere-opensource-src-4.6.1 with openGL es2 support.

Details:
Host:Ubuntu 10.04.4 LTS
Target:ARM Cortex A8 (Freescale i.MX51 Processor)
Target Linux:linux-2.6.31.
Qt Version:4.6.1

Steps i did are,

1.downloaded qt-everywhere-opensource-src-4.6.1.tar.gz from ftp://ftp.qt.nokia.com/qt/source/ [ftp.qt.nokia.com]
2.Copied mkspecs for arm-cortex_a8-linux-gnueabi-g++ and modified its qmake.conf as given – https://dl.dropboxusercontent.com/u/12382973/linux-g++-mx5x/qmake.conf [dl.dropboxusercontent.com] . 3.then configured as,

  1. ./configure -arch arm -xplatform linux-g++-mx5x -release -prefix / -multimedia -qt-gfx-linuxfb -qt-kbd-tty -little-endian -host-little-endian -fontconfig -sm -opengl es2

  And now i got the problem it shows,

“The EGL functionality test failed!

EGL is required for OpenGL ES to manage contexts & surfaces.

You might need to modify the include and library search paths by editing

QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in

/home/elangovan/qt-everywhere-opensource-src-4.6.1/mkspecs/linux-g++-mx5x” 

but in qmake.conf it has,

  1. QMAKE_INCDIR_EGL      = /usr/local/DigiEL-5.6/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sys-root/usr/include/EGL
  2. QMAKE_LIBDIR_EGL      = /usr/local/DigiEL-5.6/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/sys-root/usr/lib
  3. QMAKE_LIBS_EGL       = -lEGL

when i use -v switching in config it gives errors as in the file – https://dl.dropboxusercontent.com/u/12382973/configError.txt [dl.dropboxusercontent.com]

Anybody successfully compiled qt with opengl es2 support?

0 Kudos
7 Replies

1,199 Views
jasonjiang
Contributor II

I saw your post when searching for the answer to the same problem. I finally made it work in this way (I have iMX6 and Ubuntu 12.04.3 LTS):

1) turned on the verbose mode (by appending '-v' at the end of configuration command) and tried to configure Qt again;

2) in my case, "The EGL functionality test failed" because it couldn't find the header file EGL/egl.h. I then searched this file in Ubuntu and found it at /home/linuxdev/iMX/mountpoint/usr/include/EGL/egl.h;

3) went to QTRoot/qtbase/mkspecs/devices/linux-imx6-g++ (QTRoot is where you downloaded Qt source files), opened qmake.conf, and added the following:

    QMAKE_INCDIR_OPENGL_ES2 = /home/linuxdev/iMX/mountpoint/usr/include

    QMAKE_LIBDIR_OPENGL_ES2 = /home/linuxdev/iMX/mountpoint/usr/lib

    QMAKE_INCDIR_EGL        = /home/linuxdev/iMX/mountpoint/usr/include

    QMAKE_LIBDIR_EGL        = /home/linuxdev/iMX/mountpoint/usr/lib

DONE!

0 Kudos

1,199 Views
ravivarman
Contributor I

Hi,

Thanks for the reply.

This i did already but didn't work for me :smileysad:

0 Kudos

1,199 Views
jasonjiang
Contributor II

Did you turn turn verbose mode to see what the error is? That's how I debugged mine.

0 Kudos

1,199 Views
ravivarman
Contributor I

Hi,

I successfully compiled the Qt-4.8.5 with LTIB.This time i used ubuntu 10.04 instead of 13.04 and LTIB version also 10.xx.now it worked fine.

Now i'm facing problem in running compiled openGL project in i.mx platform.

The error i got is,

QEgl::display(): Cannot initialize EGL display: "Not initialized (0x3001)"

QEglContext::chooseConfig(): Could not find a suitable EGL configuration

Requested: "type=es2 rgba=8,8,8,0 surface-type=window"

Available:

Thanks.

0 Kudos

1,199 Views
fvasquez
Contributor II

Hi Ravi,

Did you ever figure out the cause of EGL failing to initialize?  I think I may be running into the same problem trying to get OpenGL running on an i.MX53.

-Frank

0 Kudos

1,199 Views
jasonjiang
Contributor II

Frank,

I guess you got the wrong person.

Jason

0 Kudos

1,199 Views
fvasquez
Contributor II

Sorry about that, Jason.  I'm new to the Freescale Community forums.  My question was intended for Ravi.  Specifically, how he got rid of:

QEgl::display(): Cannot initialize EGL display: "Not initialized (0x3001)"

I'm using OpenGL ES without Qt so your verbose mode and qmake.conf fixes don't apply to me.  I can already compile the OpenGL sample programs that came with the GPUSDK.  I just get EGL initialization failures when I try to run them.

-Frank

0 Kudos