EGL_BAD_ALLOC in Android new build

Hi.

I (with help of others) am porting to AOSP 2.3 a closed-source Android for a tablet. Full details here:

https://groups.google.com/forum/?hl=en&fromgroups#!forum/renesas-emev-osp

The tablet SoC is a Renesas EM EV2, hosting a POWERVR_SGX530 GPU, whose EGL libraries are not rebuild (being proprietary) so they are pulled as is to the AOSP build from the stock firmware, where they obviously work as expected.

Issue is that, booting the AOSP I get an error like below (logcat) during the PowerVR EGL init stages, which I can’t understand the meaning of.

Can someone here provide some hint about what to look for in our AOSP that’s missing?

 Thanks in advance for any help



I/SurfaceFlinger(  126): SurfaceFlinger is starting
I/SurfaceFlinger(  126): SurfaceFlinger’s main thread ready to run. Initializing graphics H/W…
I/gralloc (  126): using (fd=27)
I/gralloc (  126): id           = EMXX FB


I/gralloc (  126): xres         = 800 px
I/gralloc (  126): yres         = 480 px
I/gralloc (  126): xres_virtual = 800 px
I/gralloc (  126): yres_virtual = 5184 px
I/gralloc (  126): bpp          = 32
I/gralloc (  126): r            = 16:8


I/gralloc (  126): g            =  8:8
I/gralloc (  126): b            =  0:8
I/gralloc (  126): width        = 127 mm (160.000000 dpi)
I/gralloc (  126): height       = 76 mm (160.421051 dpi)
I/gralloc (  126): refresh rate = 60.00 Hz


D/libEGL  (  126): loaded /system/lib/egl/libGLES_

android.so
D/libEGL  (  126): loaded /vendor/lib/egl/libEGL_POWERVR_SGX530_120.so
D/libEGL  (  126): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX530_120.so
D/libEGL  (  126): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX530_120.so


W/libEGL  (  126): 0: eglInitialize(0x1) failed (EGL_BAD_ALLOC)
E/SurfaceFlinger(  126): couldn’t find an EGLConfig matching the screen format
E/copybit (  126): copyBits failed (Invalid argument)
W/SurfaceFlinger(  126): ro.sf.lcd_density not defined, using 160 dpi by default.


I/SurfaceFlinger(  126): EGL informations:
I/SurfaceFlinger(  126): # of configs : 8
I/SurfaceFlinger(  126): vendor    : Android
I/SurfaceFlinger(  126): version   : 1.4 Android META-EGL
I/SurfaceFlinger(  126): extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_ANDROID_image_native_buffer EGL_ANDROID_swap_rectangle


I/SurfaceFlinger(  126): Client API: OpenGL ES
I/SurfaceFlinger(  126): EGLSurface: 5-6-5-0, config=0x0
I/SurfaceFlinger(  126): OpenGL informations:
I/SurfaceFlinger(  126): vendor    : Android
I/SurfaceFlinger(  126): renderer  : Android PixelFlinger 1.4


I/SurfaceFlinger(  126): version   : OpenGL ES-CM 1.0
I/SurfaceFlinger( 

126): extensions: GL_OES_byte_coordinates GL_OES_fixed_point

GL_OES_single_precision GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_matrix_get GL_OES_query_matrix GL_OES_EGL_image GL_OES_compressed_ETC1_RGB8_texture GL_ARB_texture_compression GL_ARB_texture_non_power_of_two GL_ANDROID_user_clip_plane GL_ANDROID_vertex_buffer_object GL_ANDROID_generate_mipmap


I/SurfaceFlinger(  126): GL_MAX_TEXTURE_SIZE = 4096
I/SurfaceFlinger(  126): GL_MAX_VIEWPORT_DIMS = 4096
I/SurfaceFlinger(  126): flags = 000c0000




Hi,

after rebuild of the gralloc library, Im getting into a new error, which prevents the system from booting:

I/sysproc (  108): Entered system_init()
I/sysproc (  108): ServiceManager: 0x8d6c0
I/SurfaceFlinger(  108): SurfaceFlinger is starting


I/SurfaceFlinger(  108): SurfaceFlinger’s main thread ready to run. Initializing graphics H/W…
E/FramebufferNativeWindow(  108): couldn’t open framebuffer HAL (No such device)
I/DEBUG   (   47): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***


I/DEBUG   (   47): Build fingerprint: 'emxx/renesas_emev/emev:2.3.4/

GRJ22/eng.ffxx68.20120829.015918:eng/test-keys’
I/DEBUG   (   47): pid: 108, tid: 116  >>> system_server <<<
I/DEBUG   (   47): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000005c

I know this may depend from some incompatibility betwen kernel modules and Android code, but could some expert point me to the right direction to check? What should I verify?

Thanks in advance for any help




Hi,

This issue is beyond my area of expertise, but from what I’ve found online for “couldn’t open framebuffer HAL” I’ve seen some suggestions that memory allocation errors tend to cause this problem. If you can alter the amount of memory available for the framebuffer allocation, you may be able to solve this issue.

Sorry I can’t help any more than this.

Regards,
Joe