60查找nanopim1plus的HDMI为720p输出的问题

大文实验室/大文哥

壹捌陆捌零陆捌捌陆捌贰

21504965 AT qq.com

完成时间:2017/12/5 17:51

版本:V1.0

开发板: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、拷贝当前开发板的sys_config.fex(尝试1080p60Hz失败)

兼容版本

W:\nanopi_h3_bsp\lichee\tools\pack\chips\sun8iw7p1\configs\nanopi-h3\board\sys_config_nanopi-air.fex

W:\nanopi_h3_bsp\lichee\tools\pack\chips\sun8iw7p1\configs\nanopi-h3\board\sys_config_nanopi-m1.fex

W:\nanopi_h3_bsp\lichee\tools\pack\chips\sun8iw7p1\configs\nanopi-h3\board\sys_config_nanopi-m1-plus.fex

W:\nanopi_h3_bsp\lichee\tools\pack\chips\sun8iw7p1\configs\nanopi-h3\board\sys_config_nanopi-neo.fex

W:\nanopi_h3_bsp\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"

修改为:

;全志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 = 4

hdmi_channel = 0

;hdmi_mode = 4

hdmi_mode = 10

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

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"

通过360手机助手截屏,确认只有720p:

60查找nanopim1plus的HDMI为720p输出的问题的更多相关文章

  1. 61配置nanopim1plus的HDMI为1080p输出

    61配置nanopim1plus的HDMI为1080p输出 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2018/4/4 10:21 版本:V1.1 开 ...

  2. 60使用nanopim1plus查看HDMI显示分辨率的问题(分色排版)V1.0

    60使用nanopim1plus查看HDMI显示分辨率的问题(分色排版)V1.0 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17: ...

  3. Linux 在文档中查找满足条件的行并输出到文件:

    Linux 在文档中查找满足条件的行并输出到文件: 文件名称: dlog.log    输出文件: out.log 1.满足一个条件(包含  “TJ”  )的语句: grep  “TJ”  dlog. ...

  4. linux中文件查找、whereis、which、输出命令

    1.文件查找(find):find是最常⻅和最强⼤的查找命令 格式:find / -name  文件名,比如:find / -name mysql.  (1).模糊查找:*是代表所有的,?是代表⼀个字 ...

  5. laravel的firstOrCreate的作用:先查找表,如果有就输出数据,如果没有就插入数据

    public function zan(Post $post){ $param=[ 'user_id'=>\Auth::id(), 'post_id'=>$post->id ] Za ...

  6. 用 string 进行插入、替代、查找输出下标等操作

    string s; s = "; string::iterator it; it = s.begin();//让s指向第一个元素 cout << s; system(" ...

  7. Linux查找命令:grep,awk,sed

    grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...

  8. linux下find查找命令用法

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...

  9. [转载] linux查找目录下的所有文件中是否含有某个字符串

    链接自 http://blog.sina.com.cn/s/blog_691a84f301015khx.html,并略加修订. 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...

随机推荐

  1. MongoDB小结21 - find【游标】

    数据库使用游标来控制find的执行结果. 客户端对游标的实现通常能够对最终结果进行有效控制. 可以限制结果的数量,略过部分结果,对任意方向任意键的组合对结果进行排序,或者去执行一些功能强大的操作. 我 ...

  2. 命令行man的帮助手册

    http://blog.csdn.net/gatieme/article/details/51656707 指定使用那种语音的手册,可以使用命令选项-M man -M /usr/share/man/z ...

  3. [52ABP系列] - 002、模板项目配合代码生成器开发

    前言 本篇的主要内容是 52ABP SPA模板如何配合52ABP代码生成器开发项目 如果不了解 52ABP 项目请先看我的第一篇文章 [52ABP系列] - 001.SPA免费项目模版搭建教程 话不多 ...

  4. CLLocation的属性以及使用的解释

    http://blog.csdn.net/u012496940/article/details/47405345  上一篇的链接(一个定位实例) 从上一篇中的实例了解所使用的一些元素: CLLcati ...

  5. spring mvc +Mybatis3.1 整合的时候异常

    在使用Mybatis3.10+spring3.10+mybatis-spring-1.0.0集成,使用spring 时发生例如以下错误: 严重: Servlet.service() for servl ...

  6. CListCtrl在处理NM_CLICK的时候,怎样推断Ctrl SHIFT ALT键是否按下

    百度 NMITEMACTIVATE 在 NM_CLICK  的处理函数中.将 NMHDR 结构强制转换成 NMITEMACTIVATE.这一步MS已经帮助我们完毕了,当中,结构体中的 uKeyFlag ...

  7. JAVA 学习 IDEA安装及破解

    1.到官网下载安装包 网址:https://www.jetbrains.com/idea/download/#section=windows 选择  “”Ultimate “”这个版本点击“Downl ...

  8. VC++ 模拟&quot;CLICK事件&quot;关闭指定窗体

    今天改动一个工具时遇到一个有意思的问题,打开某个窗体时弹出一些不相关的窗体.须要用户自己去手动点击后才干继续.保证不了自己主动处理,如今解说决方案记录一下,例如以下 主要使用windows提供的Fin ...

  9. 【OI】关于快速幂的简单理解

    都知道算某个数的幂需要线性的复杂度,为了优化复杂度,就出现了所谓的快速幂. 快速幂的代码很短,但是要原理需要一点心思. 首先,我们知道, a^b = a^c * a^d (c+d=b) 那么,不就可以 ...

  10. CANopen——笔记

    1. c语言的typedef高级用法 typedef void (*post_sync_t)(CO_Data*); http://zhidao.baidu.com/link?url=_lDBGq_uk ...