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|[email protected]:/ #

127|[email protected]:/ #

127|[email protected]:/ # 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

[email protected]:/ #

[email protected]:/ #

[email protected]:/ #

最终确认分辨率为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:

原文地址:https://www.cnblogs.com/wb4916/p/8718501.html

时间: 2024-11-09 03:56:39

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

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

60使用nanopim1plus查看HDMI显示分辨率的问题(分色排版)V1.0 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 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中使

【转】linux下find查找命令用法

原文链接 http://www.jb51.net/os/RedHat/1307.html Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可

传智播客视频学习 ----&gt;&gt;&gt;&gt; 项目开发模型_strstr_while模型(在 str 中查找子串 str2 的出现次数)

在 str 中查找子串 str2 的出现次数 // 参数:1->源字符串,2->查找的字符串,3->计数 int getStringCount(char *strSource, char *strFind, int *nCount) 第三个参数是查找的数量,可以返回查找多个str的数量,查找两个字符串的数量函数返回的是错误码 代码: 1 // 2 // atuo @silent 3 // date 2015/11/23 4 // 5 6 // 在一个字符串中查找另一个字符串出现的次数 7

散列表查找的一个实例

这里解决冲突的方法是开放地址法:“开放地址指的是表中尚未被占用的地址,开放地址法就是当冲突发生时候,形成一个地址序列,沿着这个序列逐个进行探测,直到找到一个空的开放地址,将发生冲突的关键字存放到该地址中去,即Hi=(H(key)+di)%m,i=1,2,..k(k<=m),其中H(key)为散列函数,m为散列表长,di为增量序列. 例题:选取散列函数H(K)=(3K)%11,用开放地址处理冲突,d1=H(K);di=(di+(7K)%10+1)%11(i=2,3,..),试着在HT[0,..10

day10-linux查找find命令 介绍

上一次我们学习了关于linux的用户权限方面的管理: 在使用linux系统,有时候需要对文件进行查找,而find命令比较全面:支持使用文件名.文件大小.所属组/主.是否为空.访问时间.修改时间等: 1下面在介绍find命令前,先介绍几个系统的查找命令:which\localte\whereis: 1.1: which:用来搜索命令(会在PATH里面来寻找路径)-所以只能查找命令类: 1 2 3 4 5 [[email protected] ~]# which cp             #用w

C言语次序查找算法及代码

次序査找是一种复杂的査找算法,其完成办法是从序列的肇端元素开端,逐一将序列中的元素与所要查找的元素停止比拟,假如序列中有元素与所要查找的元素相等,那么査找胜利,假如査找到序列的最初一个元素都不存在一个元素与所要査找的元素值相等,那么标明査找掉败.接下来经过一段代码来理解次序査找的详细运用. #include <stdio.h> #include <stdlib.h> #include <memory.h> int ordersearch(int a[], int n, 

linux查找文件夹下的全部文件里是否含有某个字符串

查找文件夹下的全部文件里是否含有某个字符串 find .|xargs grep -ri "IBM" 查找文件夹下的全部文件里是否含有某个字符串,而且仅仅打印出文件名称 find .|xargs grep -ri "IBM" -l 1.正則表達式 (1)正則表達式一般用来描写叙述文本模式的特殊使用方法,由普通字符(比如字符a-z)以及特殊字符(称为元字符.如/.*.?等)组成. (2)基本元字符集及其含义 ^ :仅仅匹配行首. 如^a 匹配以a开头的行abc,a2e,

string 子符串的查找、插入、删除操作

6 string s; 7 s = "124567"; 8 string::iterator it; 9 it = s.begin();//让s指向第一个元素 10 cout << s; 11 system("pause"); 12 return 0; 在未进行插入之前的运行结果: 进行插入操作后运行结果,在字符串第二个元素后面进行插入元素 ‘3’ 操作: 1 string::iterator it; 2 it = s.begin(); 3 s.inse

Linux学习之查找命令汇总

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置.       whereis 查看文件的位置.        locate   配合数据库查看文件位置.       find   实际搜寻硬盘查询文件名称. which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.