AnsweredAssumed Answered

OpenGL ES2 EGL Context Setup i.MX53 Qt 4.7.1 QWS + QGLWidget (NO X11)

Question asked by Aaron Dowdy on Apr 30, 2014
Latest reply on May 18, 2015 by max mustermann

I am looking for some assistance with setting up my Qt Application to recognize a valid device context on the i.MX53 ARM platform.  My configuration:

 

iMX53 chip and bsp

Qt embedded application running v 4.7.1 compiled against the driver provided with the bsp (with all the right ES2 info and flags needed)

Extremely simple Qt app with only a single QGLWidget

 

I am compiling, linking, and running my simple app, but at runtime when I instantiate my QGLWidget, it returns as 'invalid' and does not call any OpenGL functions (likely cause being that my OpenGL context is not configured correctly by default, since OpenGL ES2 is supported, and linking properly).

 

I have tried manipulating the context information via the Qt API (QGLFormat) but to no avail.  On app startup, I can query the application for OpenGL support via QGLFormat::defaultFormat().hasOpenGL(); (returns true, though hasOpenGLOverlays() returns false)

 

Querying with:

 

qDebug() << "Format OGL Versions flags" << QGLFormat::openGLVersionFlags();

 

I get:

 

Format OGL Versions flags QFlags(0x1|0x2|0x4|0x8|0x10|0x20|0x40|0x1000|0x2000|0x4000|0x8000|0x10000)

 

Which tells me that ES2 is among the supported revisions seen by Qt (according to the Qt 4.7 docs for QGLFormat).  This brings me further away from the likelyhood of an issue in which I have messed up the dependencies somehow, and appears even more likely that my context information is not correct in my QGLFormat object that I pass to my QGLWidget on initialization.

 

I have no preconception of how the context needs to be configured on the device (buffer sizes, etc.  really everything that can be set in QGLFormat) - Provided with the BSP files i recieved were some OpenGL demos that work correctly, but I do not appear to have the source for those demos.  Can anyone direct me to either the source for the working ES2 demo (the simple_draw demo for instance) or direct me to an otherwise sufficient source of the proper context information for the i.MX53 platform?  Note - I do not have X Server running on my target distro, so it must be QWS compatible (which ulimately accesses the linux framebuffer, I think?).

 

Demos I'm talking about (where is the source code?) -

 

~/amd-gpu-bin-mx51-11.09.01/usr/bin$ ls

 

2dblt_perf           es11ex                       resclient_multitask_test  tiger      vg11sanity

c2d_sanity_app_z160  gsl_sanity_app               resclient_test            tiger_ri   wakeuplcd

c2d_sanity_app_z430  resclient_multiprocess_test  simple_draw               torusknot

 

Any and all help is tremendously appreciated!

Outcomes