I am trying to execute the Example on VMware running Ubuntu 10.04 and miserably fail. I have managed to build the executable (for LinuxGeneric platform, yet I fail to run it.
What can be the source of this problem?
Also, can you please explain about the graphics drivers (host dependent) and OGLES libraries. I understand both of them are supplied with PowerVR SDK - but how do I find what do I need for my platform and verify it’s configured properly?
My last question is about the difference between running 3D Graphics Demo application on a device with 3D HW Acceleration support (PowerVR IP) in comparison with running 3D Graphics Demo application on a device without 3D HW Acceleration support, but with SW rendering (MESA). Can I run the supplied binaries with PowerVR SDK (Examples for ARMv7-PandaBoard) on the second option (with MESA, instead of PowerVR drivers)? Should I rebuild the to use MESA, instead of PowerVR?
This is the error I get in VMware:
me@ubuntu:/opt/Imagination2/PowerVR/GraphicsSDK/SDK_3.0/Examples/Beginner/01_HelloAPI/OGLES/Build/Linux_x86_32/ReleaseRaw$ ls
The OpenGL ES emulation libraries require that OpenGL drivers are present on the system. OpenGL drivers are not provided by the SDK; you will have to install them yourself through your distro’s package manager, or I believe Ubuntu provides a GUI for installing video drivers now.
There are three libraries in play when you run an SDK example: - The OpenGL ES emulation libraries libGLES* and libEGL (provided by the SDK) - The OpenGL library libGL (provided by your video drivers, or mesa)
The OpenGL ES libraries depend on libGL because they use it to do the rendering.
I have managed to successfully emulate OpenGL ES applications using the Mesa software drivers. However this is not tested fully or regularly and I recommend using hardware drivers whenever possible.
I have updated the Ubuntu disto running on my PandaBoard with OMAP4 Graphical Addons, which should have included the OpenGL driver as well. As described here:
The other problem is that according to other TI info source - I am not sure PandaBoard is a supported platform for running PowerVR SDK, as it partially mentioned here:
Thus, I am still clueless if I have the correct OGLES driver on my target, how do I verify it and if not - where I obtain it, so I will be able to run the PowerVR demo’s
The pages you are referring to are for non-OMAP4 platforms. Please refer to the Ubuntu pages for Pandaboard support. Either the GLP packages, or Pandaboard Ubuntu package should directly support OMAP4. You can also check on Pandaboard forums.
Does this mean I should have all the OpenGL drivers for Imagination IP as well? Is there a way I can verify it?
Can you please point me how to rebuild the example binaries supplied with PowerVR, as it seems to be the only problem with my setup (the ARMv7 binaries were built for older Linux version)?
X11 and Raw refer to the way the OpenGLES draws to the screen. X11 is the typical Linux XWindow interface, and Raw is for a device that uses no windowing system. If you have X11 drivers, then you should use the X11 build.
Common and CommonLite are different subsets of OpenGL ES. The CommonLite profile is for devices which do not support floating point, and uses only fixed-point values. Common allows the use of both fixed-point and floating-point.
If you haven’t modified the demo then there should be no reason for that call to fail, except for the possibility that the device is running out of memory (I’d suggest trying other less intensive demos to verify this). It works on the Pandaboard we have in the office, so it’s definitely capable in some configuration.
As for the other warnings, I’m afraid we really aren’t sure. These are going to be platform specific problems, and it’s probably best if you talk to TI or ask on the Pandaboard forums to see if this is the problem.
If that’s the case then it’s likely an out of memory error as I mentioned above, though it could be an issue with specific code paths on the platform. Again I’d suggest talking to TI/the Pandaboard forums, as there’s nothing obvious from our perspective that could solve this I’m afraid.
Sorry to hear that, I’m not sure what further support we can give you, but I’ll try to answer your questions below.
If the error you get is reproducible, recompile the SDK, and put an output message into PVRTTextureLoadFromPointer at the point specified (there’s only one glBindTexture call in the function, should be easy enough to locate - in the file PVRTTextureAPI.cpp). If you check to see what the error enum returned is you should be able to locate the problem. You might want to put error messages before it as well, just in case.
We’ve got the oldest Pandaboard - the 4430 version, running Linux.
We’ve not run every single demo, but we have definitely run the demo you mentioned: Navigation3D, along with a selection of others.
We’ve run them from the pre-built binaries in our SDK, and ones built locally on Ubuntu using an ARM toolchain.
We ran the 2.10 versions and an early version of 3.0, though there were no changes to the Navigation demo for instance between these releases.
I doubt we can be of much more help with specific setup details, as we’ve changed ours repeatedly, though I’ve been told that we’ve definitely used the stock setup from the Pandaboard site and had it working.
I’d suggest double checking the glError output if you want to attempt to verify the cause, but otherwise it’s going to just be a case of continuing to poke the Pandaboard forums I’m afraid.