Hi,
I'm not new to embedded linux but I'm a newbie to OpenGl programming.
I would like to compile a Simple OpenGl program to be able to run on an iMX6Q board (running linux: framebuffer build).
Can anyone give me links from where I can start?
I have the following questions:
1) Do I need Vivante dev libraries on the Ubuntu Host PC to cross compile?
My understanding is that as OpenGl is a standard I only need header files, GPU specific libraries are not needed (at least for dynamic linking). Am I correct?
2) Does the Vivante VDK/VTK released by Freescale allows cross compiling?
Any inputs will be of help to me.
-Pj
Hi Prasant
"yes", on both questions, for starting
please look at below presentations
Freescale FTF Americas 2014 - Vivante GPU Highlights
Best regards
chip
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Chip,
None of the links work.
How do I use Vivante VDK for cross compiling? The Vivante VTK document does not mention how to produce ARM binaries.
Any further inputs?
-Pj
Hi Prasant
presentations one can obtain using tech support service request.
Had you checked sect.2.7 Building and Running the Code Examples
Vivante.Tool.Kit.User.Guide-v1.2.pdf
IMX6_GPU_SDK : i.MX6 Graphics SDK – Includes sample, demo code, and documentation
for working with the i.MX6X family graphics cores. Includes OpenVG, OpenGL ES, and GAL2D reference files.
Best regards
chip
Hi Chip,
Thanks for inputs!
I did read Section 2.7: It mentions how can I test my applications using the vivante Emulator. It does not mention how to cross compile so that I can run on my iMX6 ARM board.
IMX6Q_GPU_SDK: It is a good tutorial (which seems to be outdated) but it does not give any details on cross-compilation.
Regrading the presentation: I will contact freescale tech support but from the names, it seems, none of them talk about cross-compilation.
Regards, Pj
Hi Prasant
Please check docs below how to compile board image (including GPU drivers
and applications)
Also it may be useful to look at
AN4629 Fast Image Processing with i.MX 6 Series
Best regards
chip
Hello Chip,
I have already read these documents.
I have compiled GPU drivers and have a linux BSP.
These documents give little information about 2D api & framebuffer api (which may be helpful).
Even if I write an OpenGL application how do I cross compile it to run on my iMX6 board?
I'm assuming I need the cross-compiling dev libraries of vivante openGL. Where do I get those?
Regards, Pj
Hi Pj,
if you are still trying to cross-compile your OpenGL application:
Check with Samples/GLES2.0/<Application>/Makefile.fbdev in gpu sdk, found in a link here: http://boundarydevices.com/gpu-acceleration-on-linux/
I was able to cross-compile and then successfully run a pure OpenGL application on my imx6q dev board. You have to look in the source code (of the Samples) to see how to create EGL window/surface/context. I used fsl_egl.* from the sdk.
Slavina
Thanks Slavina!
I had dropped the plans but your your comments may be helpful some other time.
Thanks once again!
-Pj
Hi Prasant
if you built ltib - you are already "cross-compiled".
If you mean "cross-compile" for vivante gpu - this is not supported.
Interaction with gpu is performed using standard api calls.
As for vivante libraries, sorry - they are provided only in binary form.
For sources you can apply to vivante directly, since
sources are license protected.
Some documents, such as i.MX_6_G2D API.pdf
i.MX_6_EGL-OES_Extension_Support.pdf are included in
Since GPU supports standard APIs (Application Programming Interface)
such as OpenGL ES 1.1, OpenGL ES 2.0 and OpenCL 1.1EP
one can refer to web resources devoted to these standard interfaces.
They are not described in details in Linux Docs since these are common
standard graphic interfaces.
Best regards
chip
Hey Chip,
It looks like all of the links on that page are dead on the Freescale end.