Linux BSP非标准HDMI分辨率
Linux BSP非標準HDMI分辨率
Intrinsyc公司發布了它的一個新的Linux BSP軟件的發布 打開-Q?820 開發套件基于Linux內核版本。支持的軟件功能包括HDMI輸出,可以支持標準HDMI顯示面板以及非標準HDMI顯示面板。本文將介紹如何連接并與Intrinsyc公司的使用配置各種HDMI面板打開-Q?820 的Linux BSP。
HDMI (高清晰度多媒體接口)是一個 小號TANDARD使用d到攜帶高質量的音頻數據和高清晰度的消費類電子產品的視頻格式。
開放-Q?820從Intrinsyc公司技術開發套件,最多支持修訂HDMI 2.0,使用EDID作為專用數據信道所支持的多媒體格式的通信。
擴展顯示識別數據(EDID)的定義通過了視頻電子標準協會(VESA) ,使顯示器(匯)的即插即用功能。存儲在接收器中的此數據描述了顯示器能夠接收和呈現的視頻格式。根據源的請求,信息通過接口提供給源。選擇輸出格式,考慮到原始視頻流的格式和由信宿支持的格式。
EDID數據是由塊128個字節數據的描述分辨率,刷新率,制造商ID,顏色比特深度,視頻接口類型,水平/垂直屏幕尺寸和其他能力的所述信宿的顯示。可以通過額外的延伸塊進行擴展。
例如,下面是對DELL U2415全高清顯示器的EDID數據被連接到打開-Q?820 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 +vsyncModeline "Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlaceModeline "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsyncModeline "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsyncModeline "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsyncModeline "Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlaceModeline "Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlaceModeline "Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsyncModeline "Mode 9" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlaceModeline "Mode 10" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsyncModeline "Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsyncModeline "Mode 12" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsyncModeline "Mode 13" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsyncModeline "Mode 14" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsyncModeline "Mode 15" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsyncModeline "Mode 17" +hsync +vsync interlaceModeline "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 (協同視頻計時)模式行。
在打開-Q?820系統;
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分辨率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物联网安全Wi-Fi漫游
- 下一篇: 视觉智能400平台