61配置nanopim1plus的HDMI为1080p输出
大文实验室/大文哥
壹捌陆捌零陆捌捌陆捌贰
21504965 AT qq.com
完成时间:2018/4/4 10:21
版本:V1.1
开发板:NanoPi M1 Plus/zh
SDK:Android4.4.2
1、显示器老是显示这个提示画面:
屏幕画面没有被设置成建议分辨率.
设定电脑的分辨率为1080p/60Hz.
输入分辨率:720p/50Hz
建议分辨率:1080p/60Hz
于是在Android中使用dumpsys SurfaceFlinger查看分辨率:
127|root@nanopi-h3:/ #
127|root@nanopi-h3:/ #
127|root@nanopi-h3:/ # dumpsys SurfaceFlinger
Build configuration: [sf] [libui] [libgui]
Sync configuration: [using: EGL_ANDROID_native_fence_sync]
Visible layers (count = 6)
+ LayerDim 0xb8d6ee80 (DimLayer)
Region transparentRegion (this=0xb8d6efe4, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d6ee88, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 0, pos=(0,0), size=( 16, 16), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d817d0
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=3 mCurrentTexture=-1
mCurrentCrop=[18,0,46,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ LayerDim 0xb8d70128 (DimLayer)
Region transparentRegion (this=0xb8d7028c, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d70130, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 0, pos=(0,0), size=( 16, 16), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d817d0
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=4 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ Layer 0xb8d76cb8 (com.android.systemui.ImageWallpaper)
Region transparentRegion (this=0xb8d76e1c, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d76cc0, count=1)
[-368, -280, 1647, 1000]
layerStack= 0, z= 21000, pos=(-368,-280), size=(2015,1280), crop=( 0, 0,2015,1280), isOpaque=1, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d5c808
format= 4, activeBuffer=[2015x1280:2016, 1], queued-frames=0, mRefreshPending=0
mTexName=6 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[2015x1280], default-format=4, transform-hint=00, FIFO(0)={}
+ Layer 0xb8d79d70 (com.android.launcher/com.android.launcher2.Launcher)
Region transparentRegion (this=0xb8d79ed4, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d79d78, count=1)
[ 0, 0, 1280, 720]
layerStack= 0, z= 21005, pos=(0,0), size=(1280, 720), crop=( 0, 0,1280, 720), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d79c70
format= 1, activeBuffer=[1280x 720:1280, 1], queued-frames=0, mRefreshPending=0
mTexName=7 mCurrentTexture=2
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1280x720], default-format=1, transform-hint=00, FIFO(0)={}
[00:0xb8d78080] state=FREE , 0xb8d73cc8 [1280x 720:1280, 1]
[01:0xb8d75d58] state=FREE , 0xb8d76090 [1280x 720:1280, 1]
>[02:0xb8d5fba0] state=ACQUIRED, 0xb8d5c198 [1280x 720:1280, 1]
+ Layer 0xb8d728e0 (FocusedStackFrame)
Region transparentRegion (this=0xb8d72a44, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d728e8, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 21006, pos=(0,0), size=( 1, 1), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0x4d, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d817d0
format= 1, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=5 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ Layer 0xb8d65d10 (Sprite)
Region transparentRegion (this=0xb8d65e74, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb8d65d18, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 281000, pos=(982.652,329.302), size=( 22, 28), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0x05, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb8d68010
format= 1, activeBuffer=[ 22x 28: 32, 1], queued-frames=0, mRefreshPending=0
mTexName=8 mCurrentTexture=0
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[22x28], default-format=1, transform-hint=00, FIFO(0)={}
>[00:0xb8d632e8] state=ACQUIRED, 0xb8d55728 [ 22x 28: 32, 1]
Displays (1 entries)
+ DisplayDevice: Built-in Screen
type=0, hwcId=0, layerStack=0, (1280x 720), ANativeWindow=0xb8d59828, orient= 0 (type=00000000), flips=244, isSecure=1, secureVis=0, acquired=1, numLayers=2
v:[0,0,1280,720], f:[0,0,1280,720], s:[0,0,1280,720],transform:[[1.000,0.000,0.000][0.000,1.000,0.000][0.000,0.000,1.000]]
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1280x720], default-format=1, transform-hint=00, FIFO(0)={}
>[00:0xb8d5a9e8] state=ACQUIRED, 0xb8d5b600 [1280x 720:1280, 1]
[01:0xb8d84130] state=DEQUEUED, 0xb8d841e8 [1280x 720:1280, 1]
[02:0xb8d636b8] state=FREE , 0xb8d76170 [1280x 720:1280, 1]
SurfaceFlinger global state:
EGL implementation : 1.4 Linux-r4p0-00rel0
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable EGL_ANDROID_native_fence_sync EGL_ANDROID_framebuffer_target EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache
GLES: ARM, Mali-400 MP, OpenGL ES 2.0
GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug
Region undefinedRegion (this=0xb8d560f4, count=1)
[ 0, 0, 0, 0]
orientation=0, canDraw=1
last eglSwapBuffers() time: 740.625000 us
last transaction time : 26.917000 us
transaction-flags : 00000000
refresh-rate : 50.000000 fps
x-dpi : 213.000000
y-dpi : 213.000000
EGL_NATIVE_VISUAL_ID : 5
gpu_to_cpu_unsupported : 0
eglSwapBuffers time: 0.000000 us
transaction time: 0.000000 us
VSYNC state: disabled
soft-vsync: disabled
numListeners=6,
events-delivered: 107
0xb8d5c7d0: count=-1
0xb8d71bd8: count=-1
0xb8d74948: count=-1
0xb8d762e8: count=-1
0xb8d7d440: count=-1
0xb8d84590: count=-1
h/w composer state:
h/w composer present and enabled
Hardware Composer state (version 1010000):
mDebugForceFakeVSync=0
Display[0] : 1280x720, xdpi=213.000000, ydpi=213.000000, refresh=20000000
numHwLayers=3, flags=00000000
type | handle | hints | flags | tr | blend | format | video_format | interlace | topFieldFirst | source crop | frame name
------------+----------+----------+----------+----+-------+----------+--------------+-----------+---------------+--------------------------+---------------------------------
HWC | b8d7b010 | 00000000 | 00000000 | 00 | 00100 | 00000001 | 00000000 | 00000000 | 00000000 | [ 368, 280, 1648, 1000] | [ 0, 0, 1280, 720] com.android.systemui.ImageWallpaper
HWC | b8d5c198 | 00000000 | 00000000 | 00 | 00105 | 00000001 | 00000000 | 00000000 | 00000000 | [ 0, 0, 1280, 720] | [ 0, 0, 1280, 720] com.android.launcher/com.android.launcher2.Launcher
FB TARGET | b8d5b600 | 00000000 | 00000000 | 00 | 00105 | 00000001 | 00000000 | 00000000 | 00000000 | [ 0, 0, 1280, 720] | [ 0, 0, 1280, 720] HWC_FRAMEBUFFER_TARGET
Allocated buffers:
0xb8d55728: 3.50 KiB | 22 ( 32) x 28 | 1 | 0x00000933
0xb8d5b600: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00001e02
0xb8d5c198: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00000f02
0xb8d73cc8: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00000f02
0xb8d76090: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00000f02
0xb8d76170: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00001e02
0xb8d7b010: 10080.00 KiB | 2015 (2016) x 1280 | 1 | 0x00000f02
0xb8d841e8: 3600.00 KiB | 1280 (1280) x 720 | 1 | 0x00001e02
Total allocated (estimate): 31683.50 KB
root@nanopi-h3:/ #
root@nanopi-h3:/ #
root@nanopi-h3:/ #
最终确认分辨率为720p。(也可以使用360手机助手连接之后截图看屏幕分辨率!Total Control竟然无法使用!)
2、
W:\nanopi_m1plus\android\device\softwinner\nanopi-h3\nanopi_h3.mk
# ########## DISPLAY CONFIGS BEGIN #############
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.disp_density=160 \
ro.hwc.sysrsl=5 \
persist.sys.disp_policy=3 \
persist.sys.hdmi_hpd=1 \
persist.sys.hdmi_rvthpd=0 \
persist.sys.cvbs_hpd=1 \
persist.sys.cvbs_rvthpd=0
#DISPLAY_INIT_POLICY is used in init_disp.c to choose display policy.
DISPLAY_INIT_POLICY := 3
HDMI_CHANNEL := 0
HDMI_DEFAULT_MODE := 4
CVBS_CHANNEL := 1
CVBS_DEFAULT_MODE := 11
#SHOW_INITLOGO := true
# ########## DISPLAY CONFIGS END ##############
修改为:
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.disp_density=200 \
ro.hwc.sysrsl=10 \
persist.sys.disp_policy=3 \
persist.sys.hdmi_hpd=1 \
persist.sys.hdmi_rvthpd=0 \
persist.sys.cvbs_hpd=1 \
persist.sys.cvbs_rvthpd=0
#persist.sys.disp_density=160 \
#ro.hwc.sysrsl=5 \
#DISPLAY_INIT_POLICY is used in init_disp.c to choose display policy.
DISPLAY_INIT_POLICY := 3
HDMI_CHANNEL := 0
# ;screenx_output_mode (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 14:ntsc)
#HDMI_DEFAULT_MODE := 4
HDMI_DEFAULT_MODE := 10
CVBS_CHANNEL := 1
CVBS_DEFAULT_MODE := 11
#SHOW_INITLOGO := true
# ########## DISPLAY CONFIGS END ##############
当时曾经因为分辨率配置不对,导致全志A83T平台的Android6没有显示,后来修改init.rc搞定。重点关注device目录:W:\nanopi_m1plus\android\device\softwinner\nanopi-h3
后来发现配置文件nanopi_h3.mk中的:ro.hwc.sysrsl=5 \很可疑。后来就使用百度搜索到:
https://blog.csdn.net/qq_14853821/article/details/78192296?locationNum=7&fps=1
关于香橙派H3的一些问题
关于分辨率
首先H3香橙派官方提供的安卓镜像的虚拟机分辨率是1280x720的(这里不是指HDMI的输出分辨率),奇怪的是在输出视频时不会受720P的影响,依然可以达到1080P的效果,但是其他方面就不行,如果你想获得全方位的1080P体验需要修改一下固件,首先需要一个软件“DragonFace V2.2.5”,这是一个能快速修改全志固件的软件,之后打开固件、点开高级设置、点开“修改build.prop”,将对应对应的选项更改为persist.sys.disp_density=200 ro.hwc.sysrsl=10,重新保存固件,这样就能获得新的固件了(使用新固件启动后,你会发现世界一下子清晰很多)
3、配置文件sys_config.fex修改:
W:\nanopi_m1plus\lichee\tools\pack\chips\sun8iw7p1\configs\nanopi-h3\sys_config.fex
[boot_disp]
advert_disp = 0
auto_hpd = 1
output_type = 4
hdmi_channel = 0
hdmi_mode = 4
cvbs_channel = 1
cvbs_mode = 11
output_full = 1
hdmi_mode_check = 1
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 2
screen1_output_mode = 14
fb0_format = 0
fb0_width = 0
fb0_height = 0
fb1_format = 0
fb1_width = 0
fb1_height = 0
[hdmi_para]
hdmi_used = 1
hdmi_power = "vcc-hdmi-18"
[tv_para]
tv_used = 0
tv_dac_used = 1
tv_dac_src0 = 0
修改为:
;全志A20的屏幕参数:
;-------------------------------------------------------------------------------
;disp init configuration
;
;disp_mode (0:screen0<screen0,fb0> 1:screen1<screen1,fb0> 2:two_diff_screen_diff_contents<screen0,screen1,fb0,fb1>
; 3:two_same_screen_diff_contets<screen0,screen1,fb0> 4:two_diff_screen_same_contents<screen0,screen1,fb0>)
;screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga)
;screenx_output_mode (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 14:ntsc)
;screenx_output_mode (used for vga output, 0:1680*1050 1:1440*900 2:1360*768 3:1280*1024 4:1024*768 5:800*600 6:640*480 10:1920*1080 11:1280*720)
;fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) --- 0 for linux, 2 for android
;lcd0_bright (lcd0 init bright,the range:[0,256],default:197
;lcd1_bright (lcd1 init bright,the range:[0,256],default:197
;-------------------------------------------------------------------------------
[boot_disp]
advert_disp = 0
auto_hpd = 1
output_type = 3
hdmi_channel = 0
;hdmi_mode = 4
hdmi_mode = 10
cvbs_channel = 0
cvbs_mode = 0
output_full = 1
hdmi_mode_check = 1
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
;screen0_output_mode = 5
screen0_output_mode = 10
;screen1_output_type = 3
;screen1_output_mode = 10
fb0_format = 0
fb0_width = 0
fb0_height = 0
fb1_format = 0
fb1_width = 0
fb1_height = 0
[hdmi_para]
hdmi_used = 1
hdmi_power = "vcc-hdmi-18"
[tv_para]
tv_used = 0
tv_dac_used = 1
tv_dac_src0 = 0
4、
root@nanopi-h3:/ #
root@nanopi-h3:/ # dumpsys SurfaceFlinger
Build configuration: [sf] [libui] [libgui]
Sync configuration: [using: EGL_ANDROID_native_fence_sync]
Visible layers (count = 8)
+ LayerDim 0xb76a6c70 (DimLayer)
Region transparentRegion (this=0xb76a6dd4, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb76a6c78, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 0, pos=(0,0), size=( 16, 16), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a30e8
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=3 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ LayerDim 0xb7692f10 (DimLayer)
Region transparentRegion (this=0xb7693074, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb7692f18, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 0, pos=(0,0), size=( 16, 16), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a30e8
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=7 mCurrentTexture=-1
mCurrentCrop=[-1218016248,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ LayerDim 0xb768a8b0 (DimLayer)
Region transparentRegion (this=0xb768aa14, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb768a8b8, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 0, pos=(0,0), size=( 16, 16), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a30e8
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=8 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ Layer 0xb7688ab0 (com.android.systemui.ImageWallpaper)
Region transparentRegion (this=0xb7688c14, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb7688ab8, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 21000, pos=(-548,-420), size=(3016,1920), crop=( 0, 0,3016,1920), isOpaque=1, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a5580
format= 4, activeBuffer=[3016x1920:3024, 1], queued-frames=0, mRefreshPending=0
mTexName=6 mCurrentTexture=-1
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[3016x1920], default-format=4, transform-hint=00, FIFO(0)={}
+ Layer 0xb76bf428 (com.android.settings/com.android.settings.Settings)
Region transparentRegion (this=0xb76bf58c, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb76bf430, count=1)
[ 0, 0, 1920, 1080]
layerStack= 0, z= 21010, pos=(0,0), size=(1920,1080), crop=( 0, 0,1920,1080), isOpaque=1, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a5540
format= 1, activeBuffer=[1920x1080:1920, 1], queued-frames=0, mRefreshPending=0
mTexName=11 mCurrentTexture=0
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1920x1080], default-format=1, transform-hint=00, FIFO(0)={}
>[00:0xb76b8a98] state=ACQUIRED, 0xb76887b8 [1920x1080:1920, 1]
[01:0xb76aafb8] state=FREE , 0xb768e630 [1920x1080:1920, 1]
[02:0xb76b3fe8] state=FREE , 0xb7691850 [1920x1080:1920, 1]
+ Layer 0xb76ab0c8 (FocusedStackFrame)
Region transparentRegion (this=0xb76ab22c, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb76ab0d0, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 21011, pos=(0,0), size=( 1, 1), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0x4d, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a30e8
format= 1, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=5 mCurrentTexture=-1
mCurrentCrop=[0,0,3665,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1x1], default-format=1, transform-hint=00, FIFO(0)={}
+ LayerDim 0xb76a8ab8 (DimLayer)
Region transparentRegion (this=0xb76a8c1c, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb76a8ac0, count=1)
[ 0, 0, 0, 0]
layerStack= 0, z= 21014, pos=(-480,-270), size=(2880,1620), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0x00, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
client=0xb76a30e8
format= 0, activeBuffer=[ 0x 0: 0, 0], queued-frames=0, mRefreshPending=0
mTexName=4 mCurrentTexture=-1
mCurrentCrop=[1080,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[2880x1620], default-format=1, transform-hint=00, FIFO(0)={}
+ Layer 0xb769cdc0 (Sprite)
Region transparentRegion (this=0xb769cf24, count=1)
[ 0, 0, 0, 0]
Region visibleRegion (this=0xb769cdc8, count=1)
[ -9, 679, 19, 714]
layerStack= 0, z= 281000, pos=(-9,678.884), size=( 28, 35), crop=( 0, 0, -1, -1), isOpaque=0, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
client=0xb769bab8
format= 1, activeBuffer=[ 28x 35: 32, 1], queued-frames=0, mRefreshPending=0
mTexName=2 mCurrentTexture=0
mCurrentCrop=[0,0,0,0] mCurrentTransform=0
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[28x35], default-format=1, transform-hint=00, FIFO(0)={}
>[00:0xb76ad2e8] state=ACQUIRED, 0xb7698de8 [ 28x 35: 32, 1]
Displays (1 entries)
+ DisplayDevice: Built-in Screen
type=0, hwcId=0, layerStack=0, (1920x1080), ANativeWindow=0xb7685750, orient= 0 (type=00000000), flips=15026, isSecure=1, secureVis=0, acquired=1, numLayers=2
v:[0,0,1920,1080], f:[0,0,1920,1080], s:[0,0,1920,1080],transform:[[1.000,0.000,0.000][0.000,1.000,0.000][0.000,0.000,1.000]]
mAbandoned=0
-BufferQueue mMaxAcquiredBufferCount=1, mDequeueBufferCannotBlock=0, default-size=[1920x1080], default-format=1, transform-hint=00, FIFO(0)={}
>[00:0xb7686910] state=ACQUIRED, 0xb7687528 [1920x1080:1920, 1]
[01:0xb76a4060] state=FREE , 0xb76a4240 [1920x1080:1920, 1]
[02:0xb76a5dd0] state=FREE , 0xb76a5e88 [1920x1080:1920, 1]
SurfaceFlinger global state:
EGL implementation : 1.4 Linux-r4p0-00rel0
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable EGL_ANDROID_native_fence_sync EGL_ANDROID_framebuffer_target EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache
GLES: ARM, Mali-400 MP, OpenGL ES 2.0
GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug
Region undefinedRegion (this=0xb7682424, count=1)
[ 0, 0, 0, 0]
orientation=0, canDraw=1
last eglSwapBuffers() time: 2407.125000 us
last transaction time : 45.833000 us
transaction-flags : 00000000
refresh-rate : 60.000002 fps
x-dpi : 213.000000
y-dpi : 213.000000
EGL_NATIVE_VISUAL_ID : 5
gpu_to_cpu_unsupported : 0
eglSwapBuffers time: 0.000000 us
transaction time: 0.000000 us
VSYNC state: disabled
soft-vsync: disabled
numListeners=12,
events-delivered: 19494
0xb768bf68: count=-1
0xb768c738: count=-1
0xb768e0b8: count=-1
0xb7699140: count=-1
0xb76a2d08: count=-1
0xb76a3348: count=-1
0xb76a3f08: count=-1
0xb76a5150: count=-1
0xb76a5da8: count=-1
0xb76a9d58: count=-1
0xb76ac3c0: count=-1
0xb76ada98: count=-1
h/w composer state:
h/w composer present and enabled
Hardware Composer state (version 1010000):
mDebugForceFakeVSync=0
Display[0] : 1920x1080, xdpi=213.000000, ydpi=213.000000, refresh=16666666
numHwLayers=3, flags=00000000
type | handle | hints | flags | tr | blend | format | video_format | interlace | topFieldFirst | source crop | frame name
------------+----------+----------+----------+----+-------+----------+--------------+-----------+---------------+--------------------------+---------------------------------
HWC | b76887b8 | 00000000 | 00000000 | 00 | 00100 | 00000001 | 00000000 | 00000000 | 00000000 | [ 0, 0, 1920, 1080] | [ 0, 0, 1920, 1080] com.android.settings/com.android.settings.Settings
GLES | b7698de8 | 00000000 | 00000000 | 00 | 00105 | 00000001 | 00000000 | 00000000 | 00000000 | [ 9, 0, 28, 35] | [ 0, 679, 19, 714] Sprite
FB TARGET | b7687528 | 00000000 | 00000000 | 00 | 00105 | 00000001 | 00000000 | 00000000 | 00000000 | [ 0, 0, 1920, 1080] | [ 0, 0, 1920, 1080] HWC_FRAMEBUFFER_TARGET
Display[1] : 1920x1080, xdpi=213.000000, ydpi=213.000000, refresh=20000000
Allocated buffers:
0xb7687528: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00001e02
0xb76887b8: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00000f02
0xb768e630: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00000f02
0xb7691850: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00000f02
0xb7698de8: 4.38 KiB | 28 ( 32) x 35 | 1 | 0x00000933
0xb76a3240: 22680.00 KiB | 3016 (3024) x 1920 | 1 | 0x00000f02
0xb76a4240: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00001e02
0xb76a5e88: 8100.00 KiB | 1920 (1920) x 1080 | 1 | 0x00001e02
Total allocated (estimate): 71284.38 KB
root@nanopi-h3:/ #