Android OpenGL ES Force Software Rendering

I’ve verified that OpenGL is using hardware acceleration but I would like to compare it to the performance when it is software rendered. Is there any way to force software rendering instead of using the GPU?

I tried setting hardware acceleration false in the android manifest (and verified in the logs that it is indeed false) however a call to Log.d("GL", "GL_RENDERER = " + gl.glGetString( GL10.GL_RENDERER )); still returns the gpu

On Android platforms, software rendering isn’t really a thing. The software MESA implementation exists, but most people don’t deliberately use it. Also, it’s not by default available on Android.

You can probably download the MESA code, compile it for Android in some way, hook your program up to it, and switch between the Android-provided OpenGL implementation and MESA. But that’s a lot of work for no real gain.

… or you can run this on an Android emulator. Official Google emulators have good support for OpenGL ES 2.0 - hardware accelerated and not. One can choose in emulator’s settings if it should be hardware accelerated.