Hi,
I have discovered an issue with Android on a Galaxy Nexus (maguro) that appears to be related to be related to the graphics drivers, my main problem arose when using a modified AOSP ROM but the same issue can be reproduced using the stock image. The issue is related to creating secondary displays, which are a new feature in Android 4.2. I am getting many (i.e. 600 lines per second) errors like the following out of logcat:
06-14 11:09:37.273 128 150 E IMGSRV : :0: gralloc_module_map: Cannot map buffer ID=222 before register (0x0)
06-14 11:09:37.273 128 150 E IMGSRV : :0: MapBufferObtainParams: Mapping buffer failed
06-14 11:09:37.273 128 150 E IMGSRV : :0: WSEGL_GetDrawableParameters: Failed to obtain buffer parameters
06-14 11:09:37.273 128 150 E IMGSRV : :0: KEGLRecreateDrawable: Couldn’t create a drawable
06-14 11:09:37.273 128 150 E IMGSRV : :0: KEGLGetDrawableParameters: Can’t recreate drawable
06-14 11:09:37.273 128 150 E IMGSRV : :0: GLESMakeCurrentGC: Invalid drawable - what do we do?
The issue can be reproduced as follows:
- Flash your Galaxy Nexus with factory image yakju JDQ39
- Turn on developer mode
3a) Repeatedly change the ‘Simulate secondary displays’ property in Developer options to add and remove OverlayDisplayDevices
3b) Meanwhile, watch the overlay image, which will eventually freeze, and the logcat will produce the above errors
Has anyone seen anything like this before? Any possibility of a fix?
I have asked this question on the android-platform group, but no-one was able to help me. Thanks,
Joel