The UI is unusable, at least on a 800*480 display like on the Nexus S. It's almost impossible to hit any of the checkboxes in the options dialog. The game itself runs pretty bad, because it obviously uses PixelFlinger instead of the GPU for whatever reason (most likely a flaw in your gl init configuration). In addition, it logs a 1284 error which might be releated to that.

Older android devices don't support GPU acceleration through the Java OpenGL API and has nothing to do with the configuration. However android 3.0 on up does.

Even the G1 supports hardware acceleration via the VM. If the device uses PixelFlinger instead, it's usually caused by your configuration asking for a feature that the GPU doesn't provide. Apart from that, the Nexus S is no "older android device"...

Older android devices don't support GPU acceleration through the Java OpenGL API and has nothing to do with the configuration. However android 3.0 on up does.

Even the G1 supports hardware acceleration via the VM. If the device uses PixelFlinger instead, it's usually caused by your configuration asking for a feature that the GPU doesn't provide. Apart from that, the Nexus S is no "older android device"...

Many of the early releases did not use or have a GPU through the OpenGL implementation that is provided. Not all early device are the G1.

If I am wrong then why do Adreno and others have there own api's released to deal with it on phones like my Devour.

The Nexus S is faster than my Devour by far and I get 40 fps. So, if it is slow it is not the game, but a specific implementation issue with the Nexus S. If I had a Nexus S I would find out why, but I don't sorry.

That there are some legacy devices without a proper GPU is out of question, but we are not talking about the Samsung Spica or something like this. My Nexus S (not rooted, moded,...) with 2.3.6 does use the software renderer in this game and there's no obvious reason why it should do this. Maybe you are doing something strange when setting the EGLConfigChooser. It might help if you post that part of the code that initializes the renderer.

BTW: I don't get what you mean with that "Devour sentence". Almost all current devices support OpenGL in hardware if initialized properly. There's no need for custom APIs. Adreno chipsets run fine with using OpenGL via the SDK.

That there are some legacy devices without a proper GPU is out of question, but we are not talking about the Samsung Spica or something like this. My Nexus S (not rooted, moded,...) with 2.3.6 does use the software renderer in this game and there's no obvious reason why it should do this. Maybe you are doing something strange when setting the EGLConfigChooser. It might help if you post that part of the code that initializes the renderer.

BTW: I don't get what you mean with that "Devour sentence". Almost all current devices support OpenGL in hardware if initialized properly. There's no need for custom APIs. Adreno chipsets run fine with using OpenGL via the SDK.

No. Millions of them have broken OpenGL APIs. Some get patched and some don't. Without specific info on all the 1000+ devices my games run on I can't find all of the broken issues. Just the 2 devices I have alone have issues between their OpenGL implementations. One has broken culling and the other needs the Adreno SDK to get acceleration. The only 3d game I ever ran on it that had GPU support was a game supported by the GPU company and still it won't run on my other device. Android 3.0 changes that, but before Android 3.0 OpenGL had spotty support at best.

Regardless, the software rendering should be fast enough since it runs fast on the Devour which is half the speed or less than most of the phones now.

The software renderer is slow and even more buggy than every flawed OGL implementation i've seen on a phone. It can't do proper vertex lighting, it has issues with zbuffering and filtering and that shows in your game. Menues are flickering, the player's objects is flickering and it runs slow.What i'm not sure about after reading your posts: Are you actually using it intentionally to avoid compatibility problems with the actual hardware?

The software renderer is slow and even more buggy than every flawed OGL implementation i've seen on a phone. It can't do proper vertex lighting, it has issues with zbuffering and filtering and that shows in your game. Menues are flickering, the player's objects is flickering and it runs slow.What i'm not sure about after reading your posts: Are you actually using it intentionally to avoid compatibility problems with the actual hardware?

Actually the issue is pretty simple and not intentional. I simply don't have enough info about the individual OpenGL implementations. You obviously have more experience with OpenGL, but you underestimate the cost of testing with dozens of devices. So, while I know about all of the issues I don't really have a specific plan to solve all of them because I only have 2 test devices.

The flickering issue is actually device specific. That is to say it only occurs on some devices.

I probably should swap out the 3d rendering engine I use for jPCT, jME, or other to see if they work better on more devices.

Actually the issue is pretty simple and not intentional. I simply don't have enough info about the individual OpenGL implementations. You obviously have more experience with OpenGL, but you underestimate the cost of testing with dozens of devices. So, while I know about all of the issues I don't really have a specific plan to solve all of them because I only have 2 test devices.

Initializing the context properly isn't that much an issue of the OpenGL implementation. I'm using this in onCreate() when enabling a 1.x context:

Turns out that the config that I was using for my 2d rendering class were never added to the 3d rendering class. It was defaulting to the SimpleEGLConfigChooser instead of the one I specified. So, I was not using a custom Config for 3d.

While I thank you for your effort I would not use code from a forum without a license.