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中使用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"

时间: 2024-10-10 22:04:42

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

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 

第二次实验判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现判断成绩等级。 给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”

一:实验内容:1:判断成绩等级. 给定一百分制成绩,要求输出成绩的等级.90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”. 分别用if和用switch语句实现 #include <stdio.h> int main() { int grade; scanf("%d",&grade); if(grade>100||grade<0) { printf("数据错误")

发现eclipse红叉,查看markers发现Target runtime Apache Tomcat 6.0 is not defined

Target runtime Apache Tomcat 6.0 is not defined 1.导入以前的项目(Markers中注意查看,就在console选项卡旁边),报以下错误,但不影响操作: Description Resource Path Location TypeTarget runtime Apache Tomcat v6.0 is not defined. lfpms   Unknown Faceted Project Problem 解决办法: 在工作台目录下找到 项目的文

memory内存与swap内存之小解

计算机内存分为物理内存与虚拟内存,这两个内存分别对应memory内存与swap内存 memory内存:机器的物理内存,由RAM芯片组成,读写速度低于CPU一个量级,但是高于磁盘一个量级,也就是CPU>memory>磁盘 swap内存:由磁盘代替的虚拟内存,在一定程度上解决了机器内存不足的问题,但是磁盘读写要比真正的物理内存慢的多. 当程序起来后,系统判断是否有空闲的物理内存,如果有,直接将其调入物理内存运行,否则,根据优先级,选择进程交换到swap space等待或将数据写入swap,待需要时

从无到有写一个运维APP(二)

前言:理论上应该是一周一篇的说,但上一周回湖南浪去了,so~~~~,再者这并不是公司项目,全是自己临时起意,所以业余时间写写~~~更新也许不会太快. 下面是个人的一些思路以及大概每篇文章的内容,也许并不规范,为了不让这篇文章看起来太干,所以第三部分放一些所谓的干货,通过Python交互elasticsearch,zabbix获取需要的数据并可视化,这也主要是为了后面做准备. 本文内容: 一: 系列文章目录 二: 所谓流程 三: 通过Python查询elasticsearch,zabbix数据(怎

Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度

 Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度 硬件平台: Raspberry Pi B+ 软件平台: 1  安装 requests 库 首先我们要先解决requests库,当我们向YEELINK POST 消息的时候会用到  : r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload)) 安装easy_install: <span style="line-heigh

我的git与github学习历程

因为想要知道如何把代码放到github上,所以就百度了一下,然后找到一个<如何从github上面拷贝源码>的文章,就先进行练习了下 1.首先到git官网下载git版本控制工具的安装包,下载好双击安装,所有的步骤我都默认的. git官网:http://git-scm.com/download/ 2.然后安装完成我把没打勾的地方都打勾了,然后点击完成就出现如下图蓝色网页和黑色弹框,蓝色网页的网址: file:///D:/Program%20Files/Git/ReleaseNotes.html 看

git进阶

git进阶 1 分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现

Git标签管理

发布一个版本时,我们通常会在版本库中打上一个标签,这样,就唯一确定了打标签时刻的版本了,将来无论什么时候,取某个标签的版本,就是 把那个打标签的时刻的历史版本取出来,所以,标签也是版本库的一个快照,Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针 (跟分支很像,但是分支可以移动,标签不能移动),所以创建和删除一个标签都是在一瞬间完成的. 在Git中打标签非常简单,首先切换到需要打标签的分支上: 输入git tag name 就可以打一个新的标签: $ git tag v1.