AnsweredAssumed Answered

i.mx53 Android 4.2.2 400x272 Resolution LCD SurfaceFlinger Error

Question asked by Ercüment Türk on Sep 6, 2017
Latest reply on Sep 6, 2017 by Ercüment Türk

Hi Everyone,

 

We are trying porting a 480x272 LCD to our custom i.mx53 board.

This is our LCD structure in mxc_lcdif.c 

...

"0", 60, 480, 272, 111000, 2, 2, 2, 2, 41, 10,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED,
0,
},

.....

We have tried part of this structure and it works on Linux, but when we use it on Android 4.2.2. and Linux 30.35, we see some errors like this: (logcat ouput)

 

I/SurfaceFlinger(15714): SurfaceFlinger is starting
I/SurfaceFlinger(15714): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/libEGL (15714): loaded /system/lib/egl/libEGL_imx51.so
D/libEGL (15714): loaded /system/lib/egl/libGLESv1_CM_imx51.so
D/libEGL (15714): loaded /system/lib/egl/libGLESv2_imx51.so
W/imx5x.gralloc(15714): 32bpp setting of Framebuffer catched!
I/imx5x.gralloc(15714): using (fd=16)
I/imx5x.gralloc(15714): id = DISP3 BG
I/imx5x.gralloc(15714): xres = 480 px
I/imx5x.gralloc(15714): yres = 272 px
I/imx5x.gralloc(15714): xres_virtual = 480 px
I/imx5x.gralloc(15714): yres_virtual = 1088 px
I/imx5x.gralloc(15714): bpp = 32
I/imx5x.gralloc(15714): r = 0:8
I/imx5x.gralloc(15714): g = 8:8
I/imx5x.gralloc(15714): b = 16:8
I/imx5x.gralloc(15714): width = 203 mm (60.059113 dpi)
I/imx5x.gralloc(15714): height = 152 mm (45.452629 dpi)
I/imx5x.gralloc(15714): refresh rate = 33.30 Hz
I/hwcomposer(15714): <hwc_get_framebuffer_info,238> Vsync rate 33.299999 fps, frame time 30030030 ns
I/hwcomposer(15714): <hwc_device_open,276>
I/SurfaceFlinger(15714): Using composer version 1.0
W/SurfaceFlinger(15714): getting VSYNC period from fb HAL: 30030030
W/SurfaceFlinger(15714): no suitable EGLConfig found, trying without EGL_FRAMEBUFFER_TARGET_ANDROID
W/SurfaceFlinger(15714): no suitable EGLConfig found, trying without EGL_RECORDABLE_ANDROID
W/GraphicBufferAllocator(15714): WOW! gralloc alloc failed, waiting for pending frees!
W/GraphicBufferAllocator(15714): alloc(480, 272, 1, 00001a00, ...) failed -12 (Out of memory)
D/GraphicBufferAllocator(15714): Allocated buffers:
D/GraphicBufferAllocator(15714): 0x4167b668: 510.00 KiB | 480 ( 480) x 272 | 1 | 0x00001a00
D/GraphicBufferAllocator(15714): 0x4167b7e8: 510.00 KiB | 480 ( 480) x 272 | 1 | 0x00001a00
D/GraphicBufferAllocator(15714): Total allocated (estimate): 1020.00 KB
E/SurfaceFlinger(15714): GraphicBufferAlloc::createGraphicBuffer(w=480, h=272) failed (Out of memory), handle=0x0
E/BufferQueue(15714): [FramebufferSurface] dequeueBuffer: SurfaceComposer::createGraphicBuffer failed
F/libc (15714): Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1), thread 15715 (SurfaceFlinger)
I/DEBUG ( 2350): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 2350): Build fingerprint: 'Freescale/imx53_smd/imx53_smd:4.2.2/1.1.0-rc3/eng.root.20170203.d2a45e2:eng/dev-keys'
I/DEBUG ( 2350): Revision: '1388577'
I/DEBUG ( 2350): pid: 15714, tid: 15715, name: SurfaceFlinger >>> /system/bin/surfaceflinger <<<
I/DEBUG ( 2350): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000020

 

Could you please share your advice about this problem?

Thanks & Regards,

Outcomes