AnsweredAssumed Answered

iMX6 Android - HWcomposer problem

Question asked by Udo Schmelmer on Sep 2, 2013
Latest reply on Feb 21, 2014 by Udo Schmelmer

Hello,

while working on an android port for a imx6q custom board i am facing a problem with the hardwarecomposer.

 

This is the logcat output:

 

--------- beginning of /dev/log/main

I/installd( 2030): installd firing up

D/        ( 2033): init_sensors

E/cutils  ( 2030): Failed to read /data/.layout_version: No such file or directory

D/installd( 2030): Upgrading /data/media for multi-user

E/cutils  ( 2030): Failed to chown(/data/media/, 1023, 1023): Operation not permitted

E/installd( 2030): Could not create directories; exiting.

I/DEBUG   ( 2024): debuggerd: Aug 27 2013 10:39:06

--------- beginning of /dev/log/system

I/Vold    ( 2021): Vold 2.1 (the revenge) firing up

D/        ( 2033): couldn't find 'mma845x' input device

D/MagDaemon( 2033): inital sensor error

D/Vold    ( 2021): Volume udisk state changing -1 (Initializing) -> 0 (No-Media)

D/Vold    ( 2021): Volume extsd state changing -1 (Initializing) -> 0 (No-Media)

I/Netd    ( 2023): Netd 1.0 starting

W/InterfaceController( 2023): Warning (Cannot load library: load_library(linker.cpp:745): library "/system/lib/libnetcmdiface.so" not found) while opening the net interface command library

I/SurfaceFlinger( 2025): SurfaceFlinger is starting

I/SurfaceFlinger( 2025): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...

D/libEGL  ( 2025): loaded /system/lib/egl/libEGL_VIVANTE.so

D/libEGL  ( 2025): loaded /system/lib/egl/libGLESv1_CM_VIVANTE.so

D/libEGL  ( 2025): loaded /system/lib/egl/libGLESv2_VIVANTE.so

W/imx6.gralloc( 2025): 32bpp setting of Framebuffer catched!

W/imx6.gralloc( 2025): using (fd=16)

W/imx6.gralloc( 2025): id           = DISP3 BG

W/imx6.gralloc( 2025): xres         = 800 px

W/imx6.gralloc( 2025): yres         = 480 px

W/imx6.gralloc( 2025): xres_virtual = 800 px

W/imx6.gralloc( 2025): yres_virtual = 1536 px

W/imx6.gralloc( 2025): bpp          = 32

W/imx6.gralloc( 2025): r            =  0:8

W/imx6.gralloc( 2025): g            =  8:8

W/imx6.gralloc( 2025): b            = 16:8

W/imx6.gralloc( 2025): width        = 127 mm (160.000000 dpi)

W/imx6.gralloc( 2025): height       = 76 mm (160.421051 dpi)

W/imx6.gralloc( 2025): refresh rate = 59.48 Hz

I/FslHwcomposer( 2025): fb0 is ldb

I/FslHwcomposer( 2025):  device

I/FslHwcomposer( 2025): fb1 is overlay device

I/FslHwcomposer( 2025): fb2 is hdmi

I/FslHwcomposer( 2025):  device

I/FslHwcomposer( 2025): open /sys/class/graphics/fb2/disp_dev/cable_state failed

W/FslHwcomposer( 2025): system can't support more than 2 devices

I/FslHwcomposer( 2025): hwcomposer: open framebuffer fb0

I/v_hwc   ( 2025): Detected display /dev/graphics/fb0

I/v_hwc   ( 2025): xres         = 800 px

I/v_hwc   ( 2025): yres         = 480 px

I/v_hwc   ( 2025): xres_virtual = 800 px

I/v_hwc   ( 2025): yres_virtual = 1536 px

I/v_hwc   ( 2025): width        = -1 mm (0.0 dpi)

I/v_hwc   ( 2025): height       = -1 mm (0.0 dpi)

I/v_hwc   ( 2025): refresh rate = 59.0 Hz

I/v_hwc   ( 2025): Detected display /dev/graphics/fb2

I/v_hwc   ( 2025): xres         = 640 px

I/v_hwc   ( 2025): yres         = 480 px

I/v_hwc   ( 2025): xres_virtual = 640 px

I/v_hwc   ( 2025): yres_virtual = 480 px

I/v_hwc   ( 2025): width        = -1 mm (0.0 dpi)

I/v_hwc   ( 2025): height       = -1 mm (0.0 dpi)

I/v_hwc   ( 2025): refresh rate = 60.0 Hz

E/v_hwc   ( 2025): hwc_device_open(345): Failed to initialize hwcomposer!

E/FslHwcomposer( 2025): Error! viv_hwc open failed

I/FslHwcomposer( 2025): hwc_device_open,367

I/SurfaceFlinger( 2025): Using composer version 1.1

W/SurfaceFlinger( 2025): no suitable EGLConfig found, trying without EGL_FRAMEBUFFER_TARGET_ANDROID

W/SurfaceFlinger( 2025): no suitable EGLConfig found, trying without EGL_RECORDABLE_ANDROID

W/SurfaceFlinger( 2025): no suitable EGLConfig found, trying with 16-bit color allowed

E/SurfaceFlinger( 2025): no suitable EGLConfig found, giving up

E/libEGL  ( 2025): validate_display_connection:266 error 3005 (EGL_BAD_CONFIG)

F/libc    ( 2025): Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 2062 (SurfaceFlinger)

I/DEBUG   ( 2024): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG   ( 2024): Build fingerprint: 'Freescale/sabresd_6dq/sabresd_6dq:4.2.2/1.0.0-rc3/eng.*****.20130827.103040:eng/dev-keys'

I/DEBUG   ( 2024): Revision: '99'

I/DEBUG   ( 2024): pid: 2025, tid: 2062, name: SurfaceFlinger  >>> /system/bin/surfaceflinger <<<

I/DEBUG   ( 2024): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000004

 

-------------------------

my bootargs:

bootargs=console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=10.0.150.1:/home/pxeroot/android/rootfs,v3,tcp video=mxcfb0:dev=ldb,800x480M@60,if=RGB666 ldb=sin0 androidboot.hardware=freescale init=/init vmalloc=400M fbmem=28M rw

 

------------------------

 

It seems as the problem sits somewhere around system/lib/hw/hwcomposer_viv.imx6.so

 

The kernel is booting up nicely and is showing all four penguins.

 

I am new in this field and would be very grateful for any advice where i can start from.

Thanks,

Udo Schmelmer

Outcomes