i.MX6 solo Android Vivante GC880 engine library

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

i.MX6 solo Android Vivante GC880 engine library

1,869 Views
siwoolee
Contributor I

Hi

I made mass product - i.MX6Dual with BSP android_jb4.3_1.0.0-ga_source.tar.gz

It works good.

and I've developed i.MX6 solo with same BSP for i.MX6Dual

I've done for modifying and porting for padding and etc based on i.MX6DL. I know i.MX6 solo has same structure with i.MX6DL except for core.

Under the current situation, LCD screen is black with turning on backlinght when android part is loading after kernel part.

I attached logcat

root@c9sa_6s:/ # logcat | grep SurfaceFlinger
I/SurfaceFlinger( 719): SurfaceFlinger is starting
I/SurfaceFlinger( 719): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
I/SurfaceFlinger( 719): Using composer version 1.2
W/SurfaceFlinger( 719): no suitable EGLConfig found, trying without EGL_FRAMEBUFFER_TARGET_ANDROID
E/SurfaceFlinger( 719): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 719): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 719): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 719): HWComposer: framebufferTarget is null
I/SurfaceFlinger( 719): EGL informations:
I/SurfaceFlinger( 719): vendor : Android
I/SurfaceFlinger( 719): version : 1.4 Android META-EGL
I/SurfaceFlinger( 719): extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_lock_surface EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer
I/SurfaceFlinger( 719): Client API: OpenGL_ES
I/SurfaceFlinger( 719): EGLSurface: 8-8-8-8, config=0x4072b538
I/SurfaceFlinger( 719): OpenGL ES informations:
I/SurfaceFlinger( 719): vendor : Vivante Corporation
I/SurfaceFlinger( 719): renderer : GC320 Graphics Engine    <=== why GC320??? GC880 should be right???
I/SurfaceFlinger( 719): version : OpenGL ES-CM 1.1
I/SurfaceFlinger( 719): extensions: GL_EXT_debug_marker GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_byte_coordinates GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_extended_matrix_palette GL_OES_fixed_point GL_OES_framebuffer_object GL_OES_matrix_get GL_OES_matrix_palette GL_OES_point_size_array GL_OES_point_sprite GL_OES_query_matrix GL_OES_read_format GL_OES_single_precision GL_OES_stencil_wrap GL_OES_texture_cube_map GL_OES_texture_mirrored_repeat GL_OES_EGL_image GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil1 GL_OES_stencil4 GL_OES_stencil8 GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_IMG_read_format GL_IMG_user_clip_plane GL_APPLE_texture_2D_limited_npot GL_EXT_texture_lod_bias GL_EXT_blend_minmax GL_EXT_read_format_bgra GL_EXT_multi_draw_arrays GL_OES_EGL_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_te
I/SurfaceFlinger( 719): GL_MAX_TEXTURE_SIZE = 8192
I/SurfaceFlinger( 719): GL_MAX_VIEWPORT_DIMS = 8192 x 8192
I/SurfaceFlinger( 719): start boot animation...
D/SurfaceFlinger( 719): Screen acquired, type=0 flinger=0x4097b478
E/SurfaceFlinger( 1377): [DEBUG_UNBLANK] ISurfaceComposer : unblank
D/SurfaceFlinger( 719): Screen acquired, type=0 flinger=0x4097b478
D/SurfaceFlinger( 719): screen was previously acquired
W/SurfaceFlinger( 719): setTransactionState timed out!
W/SurfaceFlinger( 719): setTransactionState timed out waiting for previous animation frame
W/SurfaceFlinger( 719): setTransactionState timed out waiting for previous animation frame
I/SurfaceFlinger( 719): Boot is finished (122569 ms)

I get some information about i.MX6 solo GPU engine under the below:

- GPU 3D 
   Vivante GC880
   35Mtri/s 266Mpxl/s Open GL ES 2.0
- GPU 2D(Vector Graphics)
  Emulated on GPU 3D
- GPU 2D(Composition)
  Vivante GC320
  600Mpxl/s, BLIT

and I get other logcat for WandboardDL like this.

I/FslHwcomposer( 154): hwc_device_open,426
I/SurfaceFlinger( 154): Using composer version 1.3
W/SurfaceFlinger( 154): no suitable EGLConfig found, trying a simpler query
I/SurfaceFlinger( 154): EGL information:
I/SurfaceFlinger( 154): vendor : Android
I/SurfaceFlinger( 154): version : 1.4 Android META-EGL
I/SurfaceFlinger( 154): extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixm
I/SurfaceFlinger( 154): Client API: OpenGL_ES
I/SurfaceFlinger( 154): EGLSurface: 8-8-8-8, config=0x15
I/SurfaceFlinger( 154): OpenGL ES informations:
I/SurfaceFlinger( 154): vendor : Vivante Corporation
I/SurfaceFlinger( 154): renderer : Vivante GC880
I/SurfaceFlinger( 154): version : OpenGL ES 3.0 V5.0.11.p4.25762
I/SurfaceFlinger( 154): extensions: GL_EXT_debug_marker GL_OES_vertex_type_10_10_10_2 GL_OES_vertex_half_float GL_OES_element_index_uint GL_OES_mapb
I/SurfaceFlinger( 154): GL_MAX_TEXTURE_SIZE = 8192
I/SurfaceFlinger( 154): GL_MAX_VIEWPORT_DIMS = 8064
E/cutils-trace( 154): Error opening trace file: Permission denied (13)
E/libEGL ( 154): eglSetSwapRectangleANDROID:1595 error 3008 (EGL_BAD_DISPLAY)
E/SurfaceFlinger( 154): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 154): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 154): HWComposer: framebufferTarget is null
E/SurfaceFlinger( 154): HWComposer: framebufferTarget is null
D/SurfaceFlinger( 154): Set power mode=2, type=0 flinger=0x76962000
E/ ( 154): g2d_make_current: fail to set current hardware type to 1
I/FslHwcomposer( 154): prepare: targetHandle is null
D/SurfaceFlinger( 154): shader cache generated - 24 shaders in 663.922668 ms
D/libEGL ( 181): loaded /system/lib/egl/libEGL_VIVANTE.so
D/libEGL ( 181): loaded /system/lib/egl/libGLESv1_CM_VIVANTE.so
D/libEGL ( 181): loaded /system/lib/egl/libGLESv2_VIVANTE.so
E/cutils-trace( 181): Error opening trace file: Permission denied (13)
E/BufferQueueProducer( 154): [BootAnimation] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
lyf4sci
 
Posts: 8
Joined: Thu May 12, 2016 11:45 am

I can find Vivante GC880 logcat message.

Should I change *_VIVANTE.so for i.MX6 solo? 

(libEGL_VIVANTE.so / libGLESv1_CM_VIVANTE.so / libGLESv2_VIVANTE.so)

Where can I get them?

Best regards.

Labels (2)
0 Kudos
2 Replies

1,095 Views
igorpadykov
NXP Employee
NXP Employee

Hi siwoo

please try mx6solo_sabreauto_android_config as shown on p.10 attached

Android Guide. Note i.MX6Dual is different processor than i.MX6DualLite/Solo.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,095 Views
siwoolee
Contributor I

thank you for your reply.

I think you gave me some advice of uboot config part.

I already mentioned under the current situation working state is that -

the LCD display of uboot logo "Freescale" is visible. so I think that uboot part does not have problem.

the LCD display of kernel logo "penguin" is visible.

the LCD display of android logo "android" is NOT visible but backlight is bright and system is alive.

I noticed system is alive by terminal with uart interface.

Is there anything to do on GPU part?

0 Kudos