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分析非标准端口号流量 应用程序运行使用非标准端口号总是网络分析专家最关注的.关注该应用程序是否有意涉及使用非 ...
随机推荐
- 1038 Recover the Smallest Number
Given a collection of number segments, you are supposed to recover the smallest number from them. Fo ...
- hdu4530 水题
题意: 小Q系列故事--大笨钟 Time Limit: 600/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- XCTF-FlatScience
FlatScience 题目描述 啥描述也没有 解题过程 页面有好多链接,除了论文pdf之外,还有子目录下的index.html, 比如:/1/index.html,/1/3/index.html 扫 ...
- Spring MVC工作原理及源码解析(一) MVC原理介绍、与IOC容器整合原理
MVC原理介绍 Spring MVC原理图 上图是Spring MVC工作原理图(图片来自网上搜索),根据上图,我们可以得知Spring MVC的工作流程如下: 1.用户(客户端,即浏览器)发送请求至 ...
- Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)
A.In-game Chat 题目:就是从后面数连着的'('的个数是不是严格比剩下的字符多 思路:水题,直接从后往前遍历即可 代码: #include<iostream> #include ...
- OO_Unit2_多线程电梯
CSDN博客链接 一.第一次作业 1.需求分析 单部多线程傻瓜调度(FAFS)电梯 2.实现方案 输入接口解析 类似于Scanner,我们使用ElevatorInput进行阻塞式读取(第一次作业较简单 ...
- Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?
前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整.那么今天就要详细说说这个重新设计的配置内容,并结合实际情况说说我 ...
- 其他CSS属性
一.设置元素的颜色和透明度 a.color color 属性规定文本的颜色.这个属性设置了一个元素的前景色(在 HTML 表现中,就是元素文本的颜色):光栅图像不受 color 影响.这个颜色还会应用 ...
- python文件对象几种操作模式区别——文件操作方法详解
文件对象的字节模式/b模式(以utf-8编码为例) 读操作 写操作 指针操作 ASCII字节 返回bytes/字节类型的Ascii 写入bytes类型字节 例如:b'This is ascii' 使用 ...
- Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的性能稳定的操作系统,可免费使用并自由传播。
Linux是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的性能稳定的操作系统,可免费使用并自由传播. Linux是众多操作系统之一 , 目前流行的服务器和 PC 端操作系统有 L ...