This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

" couldn't open framebuffer HAL" error while porting Android jelly bean 4.1.1 on blaze (4Aj1.0 release)

Hi,

I am trying to port android jellybean 4.1.1 (3.0.31 kernel )release on customized  board which has more similar hardware architecture as blaze. I am getting an error related to GFX library. I have make sure that, GFX library version for kernel & file system are properly matched.

Error log in logcat:

====================================================================================

V/IMGSRV  (   94): pvrsrvinit complete
D/MDnsDS  (   98): MDnsSdListener::Hander starting up
D/MDnsDS  (   98): MDnsSdListener starting to monitor
D/MDnsDS  (   98): Going to poll with pollCount 1
I/mediaserver(  103): ServiceManager: 0x41a27ce0
I/AudioFlinger(  103): Using default 3000 mSec as standby time.
I/CameraService(  103): CameraService started (pid=103)
D/AndroidRuntime(  101):
D/AndroidRuntime(  101): >>>>>> AndroidRuntime START com.android.internal.os.ZygoteInit <<<<<<
D/AndroidRuntime(  101): CheckJNI is OFF
I/SurfaceFlinger(  100): SurfaceFlinger is starting
I/SurfaceFlinger(  100): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
E/FramebufferNativeWindow(  100): couldn't open framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow(  100): couldn't open gralloc HAL (Not a typewriter)
E/SurfaceFlinger(  100): Display subsystem failed to initialize. check logs. exiting...
D/AndroidRuntime(  250):
D/AndroidRuntime(  250): >>>>>> AndroidRuntime START com.android.internal.os.ZygoteInit <<<<<<

====================================================================================

Kernel log:

====================================================================================

 [   14.883117] PVR: PVRCore_Init
<6>PVR: PVRSRVDriverProbe(pDevice=c78ac600)
 [   14.892883] PVR: PVRSRVDriverProbe(pDevice=c78ac600)
<6>PVR: SGX register base: 0x56000000
 [   14.901855] PVR: SGX register base: 0x56000000
<6>PVR: SGX register size: 65535
 [   14.912719] PVR: SGX register size: 65535
<6>PVR: SGX IRQ: 53
 [   14.919219] PVR: SGX IRQ: 53
<6>PVR: EnableSystemClocks: Enabling System Clocks
 [   14.928710] PVR: EnableSystemClocks: Enabling System Clocks
<6>PVR: PVRCore_Init: major device 246
 [   14.939056] PVR: PVRCore_Init: major device 246
<6>PVR: Installing MISR with cookie bf040550
 [   15.525848] PVR: Installing MISR with cookie bf040550
<6>cfg80211: Calling CRDA to update world regulatory domain
 [   15.536865] cfg80211: Calling CRDA to update w<6>PrVlR: Insdtal lingr deveigce LISR SuGX aISR ton IRQr 53 ywith c odokie co7a5m8100
 ai<6>PVR : OS
UnMapPhysToLin: unmapping 65535 bytes from c8d20000
 <6>[PVR:  Sys Finalis e: V5e.rsion5 str4ing: SG9X r2ev2i4sion =]  1.2.0P
V R: Installing device LISR SGX ISR on IRQ 53 with cookie c7a58100
[   15.555206] PVR: OSUnMapPhysToLin: unmapping 65535 bytes from c8d20000
[   15.561889] PVR: SysFinalise: Version string: SGX revision = 1.2.0
<6>init: command 'insmod' r=0
 [   15.587036] init: command 'insmod' r=0
<6>cfg80211: World regulatory domain updated:
 [   15.633422] cfg80211: World regulatory domain updated:
<6>cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
 [   15.648742] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
<6>cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
 [   15.665252] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
<6>cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
 [   15.682708] cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
<6>cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
 [   15.703613] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
<6>cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
 [   15.730529] cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
<6>cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
 [   15.761810] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
<6>init: command 'insmod' r=0
 [   17.379394] init: command 'insmod' r=0
<6>init: waitpid returned pid 94, status = 00000000
 <5>[init:  proce s s 1'pvrsrv7init.', p3id 984 9exit6ed
 8] init<:6>in it: awaitipid returned pidt 1p0i0, statusd  = r0e000000t0
 rned <5>piniti: proce ss '4sur,fac eflsingetr', apid 100 etxitesd
  = 0000000<5>init: 0proces s '
surfaceflinger' killing any children in process group
 <5>in[it:  ser vice  'zy1gote7' i.s being 3k9ille2d
 56] init: p<5r>init: starotingc 'zyegote's
 s 'pvrsrvini<6>initt:' Crea,ted  socpket '/deivd/socket9/z4ygote'  withe modxe '660'i, ueser '0d', gro up
'1000'
 [   17.400756] init: waitpid returned pid 100, status = 00000000
[   17.406616] init: process 'surfaceflinger', pid 100 exited
[   17.414306] init: process 'surfaceflinger' killing any children in process group
[   17.419158] init: service 'zygote' is being killed
[   17.423004] init: starting 'zygote'

====================================================================================

  • Hi Ashish,

    We have also same issue on our custom board based on am335x. SurfaceFlinger and Zygote cannot be started by init and it loops, like in your issue. After some search, i realized the problem is related with the GFX graphics libraries, too. Did you find any solution for this problem ? and what about your "lsmod" output ?

  • Hi Ashish.

    Look for earlier errors in logcat related to gralloc.  I had a similar problem with earlier 4AJ releases and had to add "setprop ro.product.processor omap4430" in the "on init" section of the init.<board>.rc file.  Without it, gralloc couldn't figure out which line in the egl.cfg file to use for the target.

    Note that in later 4AJ releases (2.4 and on, I think), this is not necessary.

    Regards,

        Steve