imx6q: OpenGL "Hello World".

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

imx6q: OpenGL "Hello World".

8,983 Views
pj0585
Contributor III

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

Labels (3)
10 Replies

2,106 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,106 Views
pj0585
Contributor III

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

0 Kudos

2,106 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos

2,106 Views
pj0585
Contributor III

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

0 Kudos

2,106 Views
igorpadykov
NXP Employee
NXP Employee

Hi Prasant

Please check docs below how to compile board image (including GPU drivers

and applications)

L3.0.35_4.1.0_LINUX_DOCS

Also it may be useful to look at

AN4629  Fast Image Processing with i.MX 6 Series

Best regards

chip

0 Kudos

2,106 Views
pj0585
Contributor III

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

0 Kudos

2,104 Views
slavinakoleva-c
Contributor I

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

2,104 Views
pj0585
Contributor III

Thanks Slavina!

I had dropped the plans but your your comments may be helpful some other time.

Thanks once again!

-Pj

0 Kudos

2,104 Views
igorpadykov
NXP Employee
NXP Employee

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

L3.0.35_4.1.0_LINUX_DOCS

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

2,104 Views
EricNelson
Senior Contributor II

Hey Chip,

It looks like all of the links on that page are dead on the Freescale end.

0 Kudos