PDA

View Full Version : OpenGL for settop box



dlogic
06-04-2009, 02:34 PM
Hi
Currently in my board which runs embedded linux OS (Fedora) we support 2D graphics. I want to start 3d for my board. I read about OpenGL support for 3D graphics. I tried to compile Mesa3D library but it didn't works. In my system X11 window support is not present.
Can somebody give me any suggestions how I can proceed.
And also I want to know how opengl lib link with graphics driver.
Thx in advance.

ZbuffeR
06-05-2009, 02:04 AM
"we support 2D graphics"
How ? What is your board ?

The only project with GL without X I heard about is here :
http://www.geocities.com/ze_aks/myos.html

Somemore details here :
http://wiki.linuxquestions.org/wiki/OpenGL#OpenGL_without_X

Dark Photon
06-05-2009, 05:13 AM
In my system X11 window support is not present.
Can somebody give me any suggestions how I can proceed.
And also I want to know how opengl lib link with graphics driver.
As ZBuffer said, we've got to start with what GPU you want to use (?)

Also, is there any strong reason why you couldn't add X11 window support to your system, if it was needed to get 3D hardware acceleration from your GPU?

And as to how OpenGL lib links with the graphics driver, let's defer that for now. Depends on which method you choose. But basically if X11 window support is available (i.e. an X/Windows Server is running and your app can create windows on it), you typically don't need to care (except for curiosity sake of course).

dlogic
06-05-2009, 04:04 PM
Thx for your replies.
Till now there is no clear visibility abt which GPU we are going to use. Currently we are not much concerned abt performance. so I'm not looking for any H/W acceleration.
We've our own 2D s/w library. Using graphics/display driver provided by board mfr. and top of it we have driver plugin to do some specific jobs like blit etc. board is from motorola. I don't know much abt board spec.
Is it necessary to have GPU for running OpenGL?
Just want to know if we use our driver how opengl will be hook to it. Currently for 2D we manage the surface, but I think of 3D openGL will manage the surface of drawing...

Since I'm new to opengl may be my questions are not so structured... :(

Dark Photon
06-05-2009, 07:34 PM
Till now there is no clear visibility abt which GPU we are going to use. Currently we are not much concerned abt performance. so I'm not looking for any H/W acceleration.
Ok.


Is it necessary to have GPU for running OpenGL?
No. You can just install the Mesa 3D Graphics Library (http://www.mesa3d.org) packages, and you'll get OpenGL support without a GPU. That way you can just play around with OpenGL.

Also, if you want to use OpenGL without a connection to an X/Server, I've heard there's a build of Mesa called OSMesa (http://www.mesa3d.org/osmesa.html) that supposedly supports this. Never used it.


Just want to know if we use our driver how opengl will be hook to it. Currently for 2D we manage the surface, but I think of 3D openGL will manage the surface of drawing...
Yeah, but you can transfer surface data to/from OpenGL.

dlogic
06-08-2009, 07:11 PM
my target board is mips based. when I'm using OSMesa, linker is complaining about libGLU.so and libOSMesa32.so.
For that reason I'm not able to load the application.
Any clue ???

Dark Photon
06-09-2009, 05:38 AM
my target board is mips based. when I'm using OSMesa, linker is complaining about libGLU.so and libOSMesa32.so.
For that reason I'm not able to load the application.
Any clue ???
Sorry, no experience with MIPS-based hardware since working on old SGI boxes 7 years ago.

Here on Linux, libGLU (GL utilities library) is provided by Mesa. It is not provided by hardware-accelerated drivers such as by NVidia. So my guess is this should be being built with OSMesa, or (if OSMesa is just the low-level libGL stuff) then you're supposed to use Mesa and OSMesa together. Check out the docs or post to the mesa user forum for details.

I'd think libOSMesa32.so should have been built when you built OSMesa.

Run this command and report the results:

ls /usr/lib*/libGLU* /usr/lib*/libOSMesa*

It may be you have the libs and just need a lib*.so symlink. This command will tell.

Also, are you trying to build a 32-bit or 64-bit application?

dletozeun
06-10-2009, 04:34 AM
my target board is mips based. when I'm using OSMesa, linker is complaining about libGLU.so and libOSMesa32.so.


After having successfully built OSMesa, did you run:
$ make install

to install libraries?

dlogic
06-10-2009, 10:31 AM
Now I'm able to successfully compile and link OSMesa Library. Problem was in the different toolchain to build the lib.
Now 2nd problem.
When I'm running test e.g.ostest1 it creating ppm file correctly and abe to see it on my pc. But when I'm using same ppm file as a bitmap data and show it on my display device it showing it incorrectly.
Is it something to do with viewport ?
Any comments

dlogic
06-10-2009, 05:34 PM
Done :)
Now able to view 3d images on my display device.
Thanks

Dark Photon
06-15-2009, 05:14 AM
Cool. Glad to know OSMesa works for you.

So what was the PPM problem? ASCII vs. binary format?

dlogic
06-16-2009, 07:09 PM
Actually it was surface memory which I was passing to Mesa. After passing correct format it works !!!