Android 6.0.1 error EGL_BAD_NATIVE_WINDOW during rendering

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Android 6.0.1 error EGL_BAD_NATIVE_WINDOW during rendering

2,861 Views
ashasampathkuma
Contributor I

Hi All,

We are working on custom board based on imx6 dual core and using Android 6.0.1 Freescale BSP.
Linux version - 3.14.52.

The custom device hung often. The tombstone file indicates "Encountered EGL error 12299 EGL_BAD_NATIVE_WINDOW during rendering".

Kindly help us to resolve this issue. Also attached the tombstone file generated.

Thanks
Asha

0 Kudos
4 Replies

1,640 Views
diegoadrian
NXP Employee
NXP Employee

Hello Asha,

Is there a possibility that you can upgrade to our Android Version 6.0.1_2.1.0 and see if in that version the problem was solved?

Best Regards,

Diego.

0 Kudos

1,640 Views
ashasampathkuma
Contributor I

Hi Diego,

Thanks the reply. 

I'll try to bring up Android Version 6.0.1_2.1.0 for our board. Shall I even try the Nougat version 7.1.2_2.0.0 ?

Thanks,

Asha

0 Kudos

1,640 Views
diegoadrian
NXP Employee
NXP Employee

Hello Asha,

If you are willing to change to Android Nougat, I will recommend you to use Android 7.1.2_2.0.0, since in that version some errors were fixed.

Best Regards,

Diego.

0 Kudos

1,640 Views
ashasampathkuma
Contributor I

Hello Diego,

We ported Android 6.0.1_2.1.0 BSP for our custom board. But still we are facing same issue. Our device sometimes run stable for about 1 day and gets freezed. The tombstone files indicates the fault is due to either render thread in com.android.systemui or system_server binder_2.

Whether it could be because of GPU power issue? From link https://community.nxp.com/message/926938, GPU hang may occur if LDO_PU volatge is less than the minimum required value. Is that true?

We measured VDD_PU_CAP & VDD_SOC_CAP of our board
At bootloader, VDD_SOC_CAP= 1.27V            VDD_PU_CAP=  1.27V
After android is up VDD_SOC_CAP= 1.27V        VDD_PU_CAP= toggles between 0.23V and 1.27V

SOC_IN and ARM_IN is set to 1.425V

Upon further analysis we found that the VDD_PU_CAP toggle is due to repeated call of imx6q_pm_pu_power_on() and imx6q_pm_pu_power_off() .These functions will enable/disable PU regulator. Above functions are present in kernel_imx/arch/arm/mach-imx/gpc.c

When we perform any operation on display like touch the screen,CPU frequency changes from 396MHz to 996MHz and PU regulator is enabled and disabled continuously.

When there is no operation, approximately every 1 minute once the frequency switches from 396MHz to 996MHz and back to 396MHz. And also PU regulator is enabled and disabled.

Is the continuous enable and disable of PU regulator when there is no operation is the expected behavior? or PU regulator should be always enabled?

Whether the continuous frequency shift and regulator on/off cause hang?

Thanks,

Asha

0 Kudos