Linux BSP非标准HDMI分辨率
Linux BSP非标准HDMI分辨率
Intrinsyc公司发布了它的一个新的Linux BSP软件的发布 打开-Q820 开发套件基于Linux内核版本。支持的软件功能包括HDMI输出,可以支持标准HDMI显示面板以及非标准HDMI显示面板。本文将介绍如何连接并与Intrinsyc公司的使用配置各种HDMI面板打开-Q820 的Linux BSP。
HDMI (高清晰度多媒体接口)是一个 小号TANDARD使用d到携带高质量的音频数据和高清晰度的消费类电子产品的视频格式。
开放-Q820从Intrinsyc公司技术开发套件,最多支持修订HDMI 2.0,使用EDID作为专用数据信道所支持的多媒体格式的通信。
扩展显示识别数据(EDID)的定义通过了视频电子标准协会(VESA) ,使显示器(汇)的即插即用功能。存储在接收器中的此数据描述了显示器能够接收和呈现的视频格式。根据源的请求,信息通过接口提供给源。选择输出格式,考虑到原始视频流的格式和由信宿支持的格式。
EDID数据是由块128个字节数据的描述分辨率,刷新率,制造商ID,颜色比特深度,视频接口类型,水平/垂直屏幕尺寸和其他能力的所述信宿的显示。可以通过额外的延伸块进行扩展。
例如,下面是对DELL U2415全高清显示器的EDID数据被连接到打开-Q820 HDMI源。
EDID (in hex): 00 ff ff ff ff ff ff 00 10 ac ba a0 53 43 31 32 32 1b 01 03 80 34 20 78 ea 04 95 a9 55 4d 9d 26 10 50 54 a5 4b 00 71 4f 81 80 a9 40 d1 c0 d1 00 01 01 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20 36 00 06 44 21 00 00 1e 00 00 00 ff 00 39 54 33 43 4d 37 43 42 32 31 43 53 0a 00 00 00 fc 00 44 45 4c 4c 20 55 32 34 31 35 0a 20 20 00 00 00 fd 00 31 3d 1e 53 11 00 0a 20 20 20 20 20 20 01 8f 02 03 22 f1 4f 90 05 04 03 02 07 16 01 14 1f 12 13 20 21 22 23 09 07 07 65 03 0c 00 10 00 83 01 00 00 02 3a 80 18 71 38 2d 40 58 2c 45 00 06 44 21 00 00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 06 44 21 00 00 9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 06 44 21 00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 06 44 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82 |
更多详细信息在EDID数据可在以下链接:
https://en.wikipedia.org/wiki/Extended_Display_Identification_Data
字节8-9 -制造商ID - 0x10ac - DEL
第15位-保留
位14-10-首字母制造商ID
9-5位-第二个字母制造商ID
位4-0-第三字母制造商ID
字节54-71-描述符块1-详细的定时描述符-每个块大小为17个字节
28 3C 80 70 A0 B0 23 40 30 20 36 00 06 44 21 00 00 1E
字节0:1 -像素时钟在10千赫单位- 0x3c28 = 15400 * 10KHZ = 154MHz
字节2和字节4(上半字节)-水平有效像素-0x780 = 1920
字节3和字节4(下半字节)-水平消隐像素-0x0a0 = 160
字节5和字节7(上半字节)-垂直Actice像素-0x4b0 = 1200
字节6和字节7(下半字节)-垂直消隐像素-0x023 = 35
字节8和字节11(位7-6)-从消隐开始的水平前沿(同步偏移)-0x30-48
字节9和字节11(位5-4)-水平同步脉冲宽度-0x20-32
字节10(上半字节)11字节(位3-2) -垂直前沿(同步偏移) - 0x3 - 3
字节10(低半字节)和字节11(位1-0)-垂直同步脉冲-0x6-6
字节17-功能位图-0x1e-Hsync和Vsync为正
在Linux中,“xrandr”是一个用于命令行实用程序的RANDR分支(缩放,旋转和反映扩展名)。可以用来获取和设置的尺寸,取向或反射屏幕的输出。
Intrinsyc公司开放-Q 820的Linux BSP OS:Debian的SID / Buster(Linux)的
内核:4.14.53
Linaro的@ OpenQ820 :〜$ xrandr
屏幕0:最小320 x 200,当前1920 x 1200,最大65535 x 65535
HDMI-1连接的主1920x1200 + 0 + 0(正常左反转右x轴y轴)518mm x 324mm
1920x1200 59.95*+ 1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 1600x1200 60.00 1280x1024 75.02 60.02 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 60.00 800x600 75.00 60.32 720x576 50.00 720x480 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 |
可读的格式EDID信息中,“读EDID”包进行安装需求如下:
linaro@OpenQ820:~$ sudo apt-get install read-edid linaro@OpenQ820:~$ sudo get-edid | parse-edid Section "Monitor" Identifier "DELL U2415" ModelName "DELL U2415" VendorName "DEL" # Monitor Manufactured week 50 of 2017 # EDID version 1.3 # Digital Display DisplaySize 520 320 Gamma 2.20 Option "DPMS" "true" Horizsync 30-83 VertRefresh 49-61 # Maximum pixel clock is 170MHz #Not giving standard mode: 1152x864, 75Hz #Not giving standard mode: 1280x1024, 60Hz #Not giving standard mode: 1600x1200, 60Hz #Not giving standard mode: 1920x1080, 60Hz #Not giving standard mode: 1920x1200, 60Hz #Extension block found. Parsing... Modeline "Mode 16" +hsync +vsync Modeline "Mode 0" +hsync +vsync Modeline "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace Modeline "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync Modeline "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync Modeline "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync Modeline "Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace Modeline "Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace Modeline "Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync Modeline "Mode 9" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace Modeline "Mode 10" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync Modeline "Mode 12" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync Modeline "Mode 13" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 14" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 15" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 17" +hsync +vsync interlace Modeline "Mode 18" +hsync +vsync Modeline "Mode 19" -hsync -vsync Option "PreferredMode" "Mode 16" EndSection |
如上图所示,“GET-EDID”会列出所有支持的分辨率,刷新率和制造商/供应商信息。
有时,一个水槽显示不符合一标准的EDID的视频格式,导致在非功能性的显示。
添加支持一个非标准的HDMI显示器,可以绕过处理的过程中标准的EDID Linux系统启动时间和强制系统使用一个定制显示的视频定时模式行/分辨率。
对于这个例子中,将设置1680×1050 @ 60Hz,作为原始分辨率,绕过EDID分辨率。
Linux的“CVT”命令效用计算VESA CVT (协同视频计时)模式行。
在打开-Q820系统;
linaro@OpenQ820:~$ cvt 1680 1050 60 # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync 以上将生成具有适当的分辨率设置象素时钟。 在运行时,可以添加以上分辨率并进行测试。 |
进入应用程序菜单->首选项-> LXQt设置->监视器设置,选择1680x1050分辨率。
上述设置将保持,在系统/屏幕通电。
为了使一个自定义的视频定时模式行持续性,需要创建在/ etc / X11新的xorg.conf文件/。
下面是一个基于CVT产生的定时样本模式行:
linaro@OpenQ820:~$ cat /etc/X11/xorg.conf Section "Monitor" Identifier "HDMI-1" Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -HSync +VSync Option "preferredMode" "1680x1050_60.00" EndSection Section "Device" Identifier "QCOM HDMI" Option "HDMI-1" EndSection Section "Screen" Identifier "Default Screen" Monitor "HDMI-1" Device "QCOM HDMI" SubSection "Display" Modes "1680x1050_60.00" EndSubSection EndSection |
接下来, 保存文件并重新启动系统。
系统启动后,运行xrandr确认新的Modeline显示。
linaro@OpenQ820:~$ xrandr Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 65535 x 65535 HDMI-1 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1680x1050_60.00 59.95*+ 1920x1200 59.95 + 1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 |
但愿这些信息对解释如何支持新的自定义非标准HDMI显示面板有帮助!
Linux BSP非标准HDMI分辨率的更多相关文章
- [FFMpeg] 非标准分辨率视频Dump YUV注意事项
背景 做视频编解码相关开发的过程中我们经常会遇到要把视频原始YUV数据保存下来查看的情况. 使用FFMpeg对视频解码之后原始图片数据都是保存在AVFrame这一结构中,很多时候我们都按照图像的长宽来 ...
- Linux文件系统层次结构标准
该标准的目的是定义Linux文件系统的标准路径,使得开发者和用户可以在合理的位置找到需要的东西. Linux的文件布局的大体想法是将文件和目录分为如下3组: 对运行Linux的某一特定系统唯一的文件和 ...
- 转 在无法通过yum下载非标准包时,怎么办
在CentOS下,我们可以通过yum来下载或更新rpm包,但是标准的源(repository)里只提供一部分的rpm包,虽然大部分情况下,这些包是够用的.但是有时候还是需要下载其他的一些非标准的包,如 ...
- AIR32F103(三) Linux环境基于标准外设库的项目模板
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- Python解析非标准JSON(Key值非字符串)
采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- [Effective JavaScript 笔记]第29条:避免使用非标准的栈检查属性
许多js环境都提供检查调用栈的功能.调用栈是指当前正在执行的活动函数链.在某些旧的宿主环境中,每个arguments对象含有两个额外的属性:arguments.callee和arguments.cal ...
- Wireshark分析非标准端口号流量
Wireshark分析非标准端口号流量 2.2.2 分析非标准端口号流量Wireshark分析非标准端口号流量 应用程序运行使用非标准端口号总是网络分析专家最关注的.关注该应用程序是否有意涉及使用非 ...
随机推荐
- 10276 - Hanoi Tower Troubles Again!(思维,模拟)
People stopped moving discs from peg to peg after they know the number of steps needed to complete t ...
- 问题:dependencyManagement和dependencies有什么区别
dependencyManagement和dependencies有什么区别 一.Maven的包管理 在maven中,dependencyManagement.dependencies和depende ...
- hdu4530 水题
题意: 小Q系列故事--大笨钟 Time Limit: 600/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- Windows核心编程 第23章 结束处理程序
第2 3章 结束处理程序 SEH(结构化异常处理) 使用 S E H的好处就是当你编写程序时,只需要关注程序要完成的任务. 如果在运行时发生什么错误,系统会发现并将发生的问题通知你.利用S E H,你 ...
- APP的编译和反编译
目录 Apktool的准备 Apktool解压APP Apktool打包APP 对APP进行签名
- Windows核心编程 第十一章 线程池的使用
第11章 线程池的使用 第8章讲述了如何使用让线程保持用户方式的机制来实现线程同步的方法.用户方式的同步机制的出色之处在于它的同步速度很快.如果关心线程的运行速度,那么应该了解一下用户方式的同步机制是 ...
- idea中修改代码大小设置
修改代码大小 控制台字体大小
- Python 之父爆料:明年至少令 Python 提速 1 倍!
大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助.当时并没有在意,此后也没有看到这方面的消息. 但是,就在 5 月 13 日"2021 年 ...
- GDI编程基础
窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单 ...
- 测试中常用的链接URL----方便自己查找
1.TesterHome:https://testerhome.com/ 2.selenium的操作手册:https://selenium-python.readthedocs.io/ 3.