android雙屏顯示的一些修改與嘗試
阿新 • • 發佈:2018-12-30
/*系統起來後,開啟ServiceManager,這是因為SurfaceFlinger是一個service*/
I/sysproc ( 2098): Entered system_init() I/sysproc ( 2098): ServiceManager: 0x11d9f8 I/SurfaceFlinger( 2098): SurfaceFlinger is starting /*SurfaceFlinger啟動,這個service將會一直執行*/ I/SurfaceFlinger( 2098): SurfaceFlinger's main thread ready to run. Initializing graphics H/W... I/imx5x.gralloc0( 2098): *********gralloc_devide_open : name = fb0******** /*開啟gralloc0之後,得到得到相應的函式入口併為fb0與gpu0分配記憶體*/ I/imx5x.gralloc0( 2098): *********gralloc_devide_open : name = gpu0********
/*fb0初始化之後的一些資訊*/
I/imx5x.gralloc0( 2098): 16bpp setting of Framebuffer catched! I/imx5x.gralloc0( 2098): using (fd=24) I/imx5x.gralloc0( 2098): id = DISP3 BG I/imx5x.gralloc0( 2098): xres = 800 px I/imx5x.gralloc0( 2098): yres = 480 px I/imx5x.gralloc0( 2098): xres_virtual = 800 px I/imx5x.gralloc0( 2098): yres_virtual = 1536 px I/imx5x.gralloc0( 2098): bpp = 16 I/imx5x.gralloc0( 2098): r = 11:5 I/imx5x.gralloc0( 2098): g = 5:6 I/imx5x.gralloc0( 2098): b = 0:5 I/imx5x.gralloc0( 2098): width = 127 mm (160.000000 dpi) I/imx5x.gralloc0( 2098): height = 76 mm (160.421051 dpi) I/imx5x.gralloc0( 2098): refresh rate = 62.02 Hz I/imx5x.gralloc0( 2098): *********gralloc_devide_open : name = gpu0******** I/imx5x.gralloc0( 2098): ******Gralloc.cpp numBuffers:3****** I/imx5x.gralloc0( 2098): ******Gralloc.cpp numBuffers:3****** I/imx5x.gralloc0( 2098): ******Gralloc.cpp numBuffers:3****** I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: overlay_device_open I/FslOverlay( 2098): overlay_device_open control pid 2098,tid 2106 I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: overlay_init_fbdev I/FslOverlay( 2098): /dev/graphics/fb0 fb_var: bits_per_pixel 16,xres 800,yres 480,xres_virtual 800,yres_virtual 1536 I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: create_control_shared_data I/FslOverlay( 2098): ***************create_control_shared_data mmap in********************* I/FslOverlay( 2098): ***************create_control_shared_data mmap out:0x2ea3e000**************** I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay_thread.h: onFirstRef I/FslOverlay( 2098): Overlay HAL control device Created successfully
/*load egl庫*/ I/libEGL ( 2098): ******eglGetDisplay in egl : 0****** I/FslOverlay( 2098): Overlay thread running pid 2098 tid 2108 D/libEGL ( 2098): loaded /system/lib/egl/libGLES_android.so I/libagl ( 2098): ******eglGetDisplay in libagl : 0****** I/libEGL ( 2098): ******Egl.cpp IMPL_SOFTWARE dpy=1 D/libEGL ( 2098): loaded /system/lib/egl/libEGL_imx51.so D/libEGL ( 2098): loaded /system/lib/egl/libGLESv1_CM_imx51.so D/libEGL ( 2098): loaded /system/lib/egl/libGLESv2_imx51.so I/libEGL ( 2098): ******Egl.cpp IMPL_HARDWARE dpy=1 I/SurfaceFlinger( 2098): ******DisplayHardware.cpp display:1****** I/libEGL ( 2098): ******egl.cpp eglInitialize****** I/libEGL ( 2098): ******egl.cpp IMX5X,dp->disp[0].dpy=0x2****** I/libEGL ( 2098): initialized 0 dpy=0x2, ver=1.4, cnx=0x6be08b54 I/libEGL ( 2098): ******egl.cpp IMX5X,dp->disp[1].dpy=0x1****** I/libagl ( 2098): ******libagl.cpp eglInitialize****** I/libEGL ( 2098): initialized 1 dpy=0x1, ver=1.2, cnx=0x6be08c0c I/libEGL ( 2098): ******egl egl.cpp eglCreateWindowSurface****** W/SurfaceFlinger( 2098): ro.sf.lcd_de*****************mxcfb_set_par*****************
/*ipu相關,這些都是在kernel和HAL進行的*/
mxc_ipu mxc_ipu: Channel already disabled 7
mxc_ipu mxc_ipu: Channel already uninitialized 7
TVE: fb mode change event: xres=1280, yres=1024
nsity not defined, using 160 dpi**********************fb mmap in:0x2f8c1000*******************
by default.
I/SurfaceFlinger( *****************************ipuv3 fb mmap in 0x2f8c1000*************************
2098): EGL informations:
I/SurfaceFlinger( 2098): # of configs : 35
I/SurfaceFlinger( 2098): vendor : Advanced Micro Devices, Inc
I/SurfaceFlinger( 2098): version : 1.4 Internal version 1.4.1
I/SurfaceFlinger( 2098): extensions: eglCreatePbufferFromClientBuffer EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_ANDROID_image_native_buffer EGL_AMD_create_image
I/SurfaceFlinger( 2098): Client API: NULL
I/SurfaceFlinger( 2098): EGLSurface: 5-6-5-0, config=0x6
I/SurfaceFlinger( 2098): OpenGL informations:
I/SurfaceFlinger( 2098): vendor : Advanced Micro Devices, Inc.
I/SurfaceFlinger( 2098): renderer : AMD Z430
I/SurfaceFlinger( 2098): version : OpenGL ES-CM 1.1
I/SurfaceFlinger( 2098): extensions: GL_AMD_compressed_3DC_texture GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_ATI_compressed_texture_atitc GL_ATI_texture_compression_atitc GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_extended_matrix_palette GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_framebuffer_object GL_OES_matrix_palette GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_stencil_wrap GL_OES_texture_cube_map GL_OES_texture_env_crossbar GL_OES_texture_mirrored_repeat
I/SurfaceFlinger( 2098): GL_MAX_TEXTURE_SIZE = 2048
I/SurfaceFlinger( 2098): GL_MAX_VIEWPORT_DIMS = 2048
I/SurfaceFlinger( 2098): flags = 00000000
/*上面是在surfaceflinger.cpp上DisplayHardware* const hw = new DisplayHardware(this, dpy);這個所建立的,下面的則是我自己加入的DisplayHardware* const hw1 = new DisplayHardware(this, 1);這句所建立的,由於目前做的是車載雙屏系統,後臺一個電視,這裡把xres與yres設定成了1280x1024px*/
I/imx5x.gralloc1( 2098): *********gralloc_devide_open : name = fb1******** I/imx5x.gralloc1( 2098): *********gralloc_devide_open : name = gpu1******** I/imx5x.gralloc1( 2098): using (TV_fd=34) I/imx5x.gralloc1( 2098): id = DISP3 BG - DI1 I/imx5x.gralloc1( 2098): xres = 1280 px I/imx5x.gralloc1( 2098): yres = 1024 px I/imx5x.gralloc1( 2098): xres_virtual = 1280 px I/imx5x.gralloc1( 2098): yres_virtual = 3072 px I/imx5x.gralloc1( 2098): bpp = 16 I/imx5x.gralloc1( 2098): r = 11:5 I/imx5x.gralloc1( 2098): g = 5:6 I/imx5x.gralloc1( 2098): b = 0:5 I/imx5x.gralloc1( 2098): width = 203 mm (160.157639 dpi) I/imx5x.gralloc1( 2098): height = 163 mm (159.568100 dpi) I/imx5x.gralloc1( 2098): refresh rate = 60.56 Hz I/imx5x.gralloc1( 2098): *********gralloc_devide_open : name = gpu1******** I/imx5x.gralloc1( 2098): ******Gralloc.cpp numBuffers:3****** I/imx5x.gralloc1( 2098): ******Gralloc.cpp numBuffers:3****** I/imx5x.gralloc1( 2098): ******Gralloc.cpp numBuffers:3****** I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: overlay_device_open I/FslOverlay( 2098): overlay_device_open control pid 2098,tid 2106 I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: overlay_init_fbdev I/FslOverlay( 209pmem: request for physical address of pmem region from process 2104. 8): /dev/graphics/fb0 fb_var: bits_per_pixel 16,xres 800,yres 480,xres_virtual 800,yres_virtual 1536 I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay.cpp: create_control_shared_data I/FslOverlay( 2098): ***************create_control_shared_data mmap in********************* I/FslOverlay( 2098): ***************create_control_shared_data mmap out:0x2ea48000**************** I/FslOverlay( 2098): hardware/mx5x/liboverlay/overlay_thread.h: onFirstRef I/FslOverlay( 2098): Overlay HAL control device Created successfully I/libEGL ( 2098): ******eglGetDisplay in egl : 1****** I/SurfaceFlinger( 2098): ******DisplayHardware.cpp display:2****** I/libEGL ( 2098): ******egl.cpp eglInitialize****** I/libEGL ( 2098): ******egl.cpp IMX5X,dp->disp[0].dpy=0x3****** I/libEGL ( 2098): initialized 0 dpy=0x3, ver=1.4, cnx=0x6be08b54 I/libEGL ( 2098): ******egl.cpp IMX5X,dp->disp[1].dpy=0x0******
/*這裡還有一些問題需要解決,主要是egl相關的一些東西,目前正在研究中!*/ I/libagl ( 2098): libagl egl.cpp:display is valid!!****** W/libEGL ( 2098): 1: eglInitialize(0x0) failed (EGL_BAD_DISPLAY) I/libEGL ( 2098): ******egl egl.cpp eglCreateWindowSurface****** E/imx5x.gralloc1( 2098): FBIOPAN_DISPLAY failed W/SurfaceFlinger( 2098): ro.sf.lcd_density not defined, using 160 dpi by default. E/imx5x.gralloc1( 2098): FBIOPAN_DISPLAY failed I/FslOverlay( 2098): Overlay thread running pid 2098 tid 2111 I/SurfaceFlinger( 2098): EGL informations: I/SurfaceFlinger( 2098): # of configs : 27 I/SurfaceFlinger( 2098): vendor : Advanced Micro Devices, Inc I/SurfaceFlinger( 2098): version : 1.4 Internal version 1.4.1 I/SurfaceFlinger( 2098): extensions: eglCreatePbufferFromClientBuffer EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_ANDROID_image_native_buffer EGL_AMD_create_image I/SurfaceFlinger( 2098): Client API: NULL I/SurfaceFlinger( 2098): EGLSurface: 5-6-5-0, config=0x6 I/SurfaceFlinger( 2098): OpenGL informations: I/SurfaceFlinger( 2098): vendor : Advanced Micro Devices, Inc. I/SurfaceFlinger( 2098): renderer : AMD Z430 I/SurfaceFlinger( 2098): version : OpenGL ES-CM 1.1 I/SurfaceFlinger( 2098): extensions: GL_AMD_compressed_3DC_texture GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_ATI_compressed_texture_atitc GL_ATI_texture_compression_atitc GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_extended_matrix_palette GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_framebuffer_object GL_OES_matrix_palette GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_stencil_wrap GL_OES_texture_cube_map GL_OES_texture_env_crossbar GL_OES_texture_mirrored_repeat I/SurfaceFlinger( 2098): GL_MAX_TEXTURE_SIZE = 2048 I/SurfaceFlinger( 2098): GL_MAX_VIEWPORT_DIMS = 2048 I/SurfaceFlinger( 2098): flags = 00000000