Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Easiest way to run a simple GLES/EGL/OpenVG app on a PC?

I thought this should be easy, but... geesh! A vendor gave me a fairly simple demo program meant to showcase some trivial icon animations. The target platform is an embedded system (MX51) with accelerated OpenGL ES 2.0/OpenVG and EGL support.

Unfortunately, the demo also has an annoying dependency on a few Qt utility classes (e.g., QImage). If not for this dependency, I would compile/run the thing on the target. But I don't relish the thought of cross-compiling Qt just to run this little demo---even if there were enough room for it on the embedded board.

I hoped I might be able to run the app on a standard(ish) Ubuntu 10.04 VM, and started following these directions to make it happen. And I actually managed---like, 10 hours later---to compile everything and get a runnable binary of the demo program. However, when I run it, I see the following error:

eglCreateWindowSurface: egl error "EGL_BAD_CONFIG" (0x3005)

Sigh. Not what I wanted to see after all that effort. This seems way more difficult than it should be.

Is the embedded GL landscape really such a ghetto that I have to run even trivial programs on the target using some vendor-supplied BSP? Judging from the lack of responses to this guy's question, I'm thinking the answer might be yes. But I don't even care about acceleration (yet). I just want to run the stupidest of OpenGL ES 2/OpenVG programs on a desktop PC and get an idea of how it looks. (It doesn't matter to me whether the PC is running Linux or Windows.) How do people do this sort of thing?

like image 882
evadeflow Avatar asked Jul 29 '10 20:07

evadeflow


People also ask

Can OpenGL ES run on Windows?

ANGLE allows you to run OpenGL ES content on Windows by translating OpenGL ES API calls to DirectX 11 API calls.

What is EGL library?

EGL (Native Platform Graphics Interface) EGL Native Platform Graphics Interface is an interface portable layer for graphics resource management - and works between rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.


1 Answers

There are several OpenGL ES 2.0 emulators, such as:

For ARM Mali GPUs

For PowerVR GPUs

Also very recently, AMD has posted drivers that expose OpenGL ES 2.0 on desktop.

More recently, OpenGL 4.1 exposes the GL_ARB_ES2_compatibility extension, which makes OpenGL 4.1 drivers GL ES 2.0 compatible.

For OpenVG, you can use AmanithVG GLE.

like image 123
Dr. Snoopy Avatar answered Oct 02 '22 11:10

Dr. Snoopy