How to display on HDMI

来自百问网嵌入式Linux wiki

Article purpose

本文旨在指定在HDMI ®[1] 监视器(或电视)上显示的内容 通过HDMI电缆连接到STMicroelectronics板上(在以下说明的不同用例中)。

本文还介绍了如何获取设备支持的HDMI监视器(或电视)的视频模式(分辨率和刷新频率),如何对其进行测试以及最终如何选择。

Prerequisites

显然,STMicroelectronics板必须具有HDMI连接器,这是以下情况的情况:

HDMI cable connected on Discovery kit
STM32MP157C-DK2 shown here (without the MB1407 daughterboard DSI display)

还需要HDMI电缆和HDMI监视器(或电视)。

Use cases

下表显示了涉及DSI显示器和HDMI监视器的不同用例。

Original situation Action Final situation
DSI display HDMI monitor
HDMI unplugged
- Board not started
- DSI display connected
- HDMI monitor not connected
Start the board DSI U-Boot splash screen.png then briefly DSI user splash screen.png and finally DSI Wayland background.png HDMI black screen.png
HDMI cold-plug
- Board not started
- DSI display connected
- HDMI monitor connected
Start the board DSI U-Boot splash screen.png HDMI user splash screen.png then HDMI Wayland background.png
HDMI hot-plug
- Board started
- DSI display connected
- HDMI monitor not connected
Plug the HDMI monitor DSI black screen.png HDMI Wayland background GTK launcher.png
The demo launcher window is not displayed fullscreen
Tap or click on the top-right corner cross to close the demo launcher window

Tap or click on the left-bottom "nine blue square" icon to start again the demo launcher window
DSI black screen.png HDMI Wayland background.png
The demo launcher window is displayed fullscreen
HDMI hot-unplug
- Board started
- DSI display connected
- HDMI monitor connected
Unplug the HDMI monitor DSI Wayland background GTK launcher.png
The demo launcher window is not downscaled
HDMI black screen.png
Restart Weston[2] DSI Wayland background.png HDMI black screen.png


以下语句解释了以上总结的用例:

  • U-Boot图形控制台(“ ST life.augmented”图片)永远不会显示在HDMI监视器上。 此控制台将显示在DSI显示屏上(如果板上有)。
  • 如果该板同时具有DSI显示器和HDMI监视器,则Wayland背景层仅显示在这些显示器之一上(请参阅下面的“规则”)。
  • HDMI unplugged: 如果在板卡启动之前没有HDMI监视器连接到板上,并且如果DSI显示器连接到板上,则Wayland背景层显示在 DSI显示。
  • HDMI cold-plug: 如果在板子启动之前将HDMI监视器连接到板上,则Wayland背景层会显示在此HDMI监视器上。
  • HDMI hot-plug: 如果在板卡启动后将HDMI监视器连接到板卡,则Wayland / Weston会自动检测到此插头。 演示启动器窗口不会自动放大:关闭并再次打开它以使其在HDMI监视器上全屏显示。
  • HDMI hot-unplug: 如果在HDMI监视器上显示Wayland背景层时将HDMI监视器从板上断开,则Wayland / Weston会自动检测到此拔出。 演示启动器窗口不会自动缩小:重新启动Weston[2] 使其在DSI显示屏上全屏显示。

Video modes

通常,HDMI监视器(或电视)提供几种视频模式(分辨率和刷新频率),平台可能不完全支持这些模式。 如果使用“ HDMI冷插”或“ HDMI热插”,则选择平台支持的HDMI监视器提供的第一种视频模式。 要更改默认情况下选择的此视频模式,应检索,可选地测试HDMI监视器提供的和平台支持的所有视频模式,最后在“ weston.ini”配置文件中设置[3].

让我们假设DSI显示器和HDMI监视器连接到电路板,并且Wayland背景显示在HDMI监视器上。

  • 借助 modetest命令(参见 below 如何获取HDMI显示器支持的所有视频模式,无论平台是否支持),获取HDMI监视器提供的、平台支持的所有视频模式。
Board $> modetest -M stm
Encoders:
id      crtc    type    possible crtcs  possible clones
28      33      DPI     0x00000001      0x00000000
30      0       DSI     0x00000001      0x00000000

Connectors:
id      encoder status          name            size (mm)       modes   encoders
29      28      connected       HDMI-A-1        700x390         10      28
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  1920x1080 25 1920 2448 2492 2640 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  1280x720 50 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  1280x720 50 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  800x600 75 800 816 896 1056 600 601 604 625 49500 flags: phsync, pvsync; type: driver
  720x576 50 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
  720x480 60 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
                        00ffffffffffff004c2d920900000000
                        0a160103804627780aee91a3544c9926
                        0f5054bdef80714f81c0810081809500
                        a9c0b3000101023a801871382d40582c
                        4500a05a0000001e662156aa51001e30
                        468f3300a05a0000001e000000fd0018
                        4b0f5117000a202020202020000000fc
                        0053414d53554e470a20202020200152
                        020330f14d901f041305140312202122
                        07162309070783010000e2000f72030c
                        001000b82d20d0080140073f405090a0
                        011d80d0721c1620102c2580a05a0000
                        009e011d8018711c1620582c2500a05a
                        0000009e011d00bc52d01e20b8285540
                        a05a0000001e011d007251d01e206e28
                        5500a05a0000001e0000000000000097
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0
        5 link-status:
                flags: enum
                enums: Good=0 Bad=1
                value: 0
        6 non-desktop:
                flags: immutable range
                values: 0 1
                value: 0
        19 CRTC_ID:
                flags: object
                value: 33
31      0       connected       DSI-1           52x86           1       30
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  480x800 50 480 600 664 784 800 814 828 842 33000 flags: ; type: preferred, driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 3
        5 link-status:
                flags: enum
                enums: Good=0 Bad=1
                value: 0
        6 non-desktop:
                flags: immutable range
                values: 0 1
                value: 0
        19 CRTC_ID:
                flags: object
                value: 0

CRTCs:
id      fb      pos     size
33      39      (0,0)   (1280x720)
  1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  props:
        20 ACTIVE:
                flags: range
                values: 0 1
                value: 1
        21 MODE_ID:
                flags: blob
                blobs:

                value:
                        0a22010000056e05960572060000d002
                        d502da02ee0200003c00000005000000
                        40000000313238307837323000000000
                        00000000000000000000000000000000
                        00000000
        18 OUT_FENCE_PTR:
                flags: range
                values: 0 18446744073709551615
                value: 0
        25 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        26 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
32      33      39      0,0             0,0     0               0x00000001
  formats: AR24 XR24 RG24 RG16 AR15 XR15 AR12 XR12 C8  
  props:
        7 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        16 FB_ID:
                flags: object
                value: 39
        17 IN_FENCE_FD:
                flags: signed range
                values: -1 2147483647
                value: -1
        19 CRTC_ID:
                flags: object
                value: 33
        12 CRTC_X:
                flags: signed range
                values: -2147483648 2147483647
                value: 0
        13 CRTC_Y:
                flags: signed range
                values: -2147483648 2147483647
                value: 0
        14 CRTC_W:
                flags: range
                values: 0 2147483647
                value: 1280
        15 CRTC_H:
                flags: range
                values: 0 2147483647
                value: 720
        8 SRC_X:
                flags: range
                values: 0 4294967295
                value: 0
        9 SRC_Y:
                flags: range
                values: 0 4294967295
                value: 0
        10 SRC_W:
                flags: range
                values: 0 4294967295
                value: 83886080
        11 SRC_H:
                flags: range
                values: 0 4294967295
                value: 47185920
34      0       0       0,0             0,0     0               0x00000001
  formats: AR24 RG24 RG16 AR15 AR12 C8  
  props:
        7 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        16 FB_ID:
                flags: object
                value: 0
        17 IN_FENCE_FD:
                flags: signed range
                values: -1 2147483647
                value: -1
        19 CRTC_ID:
                flags: object
                value: 0
        12 CRTC_X:
                flags: signed range
                values: -2147483648 2147483647
                value: 0
        13 CRTC_Y:
                flags: signed range
                values: -2147483648 2147483647
                value: 0
        14 CRTC_W:
                flags: range
                values: 0 2147483647
                value: 0
        15 CRTC_H:
                flags: range
                values: 0 2147483647
                value: 0
        8 SRC_X:
                flags: range
                values: 0 4294967295
                value: 0
        9 SRC_Y:
                flags: range
                values: 0 4294967295
                value: 0
        10 SRC_W:
                flags: range
                values: 0 4294967295
                value: 0
        11 SRC_H:
                flags: range
                values: 0 4294967295
                value: 0

Frame buffers:
id      size    pitch
  • 分析“ modetest”命令的输出:
    • 支持connected HDMI监视器(HDMI-A-1 / connector 29) 的10种模式(8种唯一模式) :
      • 1920x1080 resolution with a refresh frequency of 30 Hz
      • 1920x1080 resolution with a refresh frequency of 25 Hz
      • 1920x1080 resolution with a refresh frequency of 24 Hz
      • 1280x720 resolution with a refresh frequency of 60 Hz
      • 1280x720 resolution with a refresh frequency of 50 Hz
      • 800x600 resolution with a refresh frequency of 75 Hz
      • 720x576 resolution with a refresh frequency of 50 Hz
      • 720x480 resolution with a refresh frequency of 60 Hz
Warning.png 在上面的示例中,可以使用一些1920x1080分辨率,但是如果平台对于这样的高分辨率(DDR大小和带宽,CPU和GPU性能...)不够强大,则用例可能无法正常工作。


Connectors:
id      encoder status          name            size (mm)       modes   encoders
29      28      connected       HDMI-A-1        700x390         10      28
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
 1920x1080 30 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
 1920x1080 25 1920 2448 2492 2640 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
 1920x1080 24 1920 2558 2602 2750 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
 1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
 1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver  # duplicated mode, depends on hdmi tv
 1280x720 50 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
 1280x720 50 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver  # duplicated mode, depends on hdmi tv
 800x600 75 800 816 896 1056 600 601 604 625 49500 flags: phsync, pvsync; type: driver
 720x576 50 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
 720x480 60 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
  • 支持 connectedDSI显示(DSI-1 /连接器 31) 的1种模式
  • 480x800 分辨率,刷新频率为 50 Hz
连接器:
id      encoder status          name            size (mm)       modes   encoders
[...]
31      0       connected       DSI-1           52x86           1       30
 modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  480x800 50 50 480 600 664 784 800 814 828 842 33000 flags: ; type: preferred, driver


  • 默认情况下,会选择平台支持的HDMI监视器提供的第一个视频模式:这里是1280x720 60 分辨率
    • 使用“ modetest”命令提供的信息进行检查:在HDMI连接器之间建立链接29, 编码器ID28, CRTC ID 33, 最后是视频模式 1280x720 60
连接器:
id      encoder status          name            size (mm)       modes   encoders
29      28      connected       HDMI-A-1        710x400         3       27

编码器:
id      crtc    type    possible crtcs  possible clones
28      33      DPI     0x00000001      0x00000000
CRTCs:
id      fb      pos     size
33      39      (0,0)   (1280x720)
  1280x720 60 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  • Stop Weston[2], use the modetest command[4] to test the different modes, and restart Weston[2]

Syntax:

Board $> modetest -M stm -s <HDMI connector>:<selected resolution> -v

Example with the 8 modes identified above:

Board $> systemctl stop weston
Board $> modetest -M stm -s 29:1920x1080-30 -v
Board $> modetest -M stm -s 29:1920x1080-25 -v
Board $> modetest -M stm -s 29:1920x1080-24 -v
Board $> modetest -M stm -s 29:1280x720-60 -v  # -60 to specify the Hz as there are two 1280x720 modes
Board $> modetest -M stm -s 29:1280x720-50 -v  # -50 to specify the Hz as there are two 1280x720 modes
Board $> modetest -M stm -s 29:800x600 -v
Board $> modetest -M stm -s 29:720x480 -v
Board $> modetest -M stm -s 29:720x576 -v
Board $> systemctl start weston


  • 在“ /etc/xdg/weston/weston.ini”配置文件中设置选定的视频模式,然后重新启动Weston[2]

Syntax:

[output]
name=HDMI-A-1
mode=<selected resolution>

Example (720x480 resolution selected):

mode=720x480
Board $> systemctl restart weston


  • 检查“ modetest”命令提供的信息是否已考虑新的视频模式:在HDMI连接器29, 编码器ID 28,之间建立链接, CRTC ID 33, 最后是新的视频模式 720x480
Board $> modetest -M stm
Encoders:
id      crtc    type    possible crtcs  possible clones
28      33      DPI     0x00000001      0x00000000

Connectors:
id      encoder status          name            size (mm)       modes   encoders
29      28      connected       HDMI-A-1        700x390         10       28
CRTCs:
id      fb      pos     size
33      35      (0,0)   (720x480)
  720x480 60 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver

FAQ

How to get all the video modes supported by the HDMI monitor

本章提供了一种检索HDMI监视器支持的所有视频模式的方法,无论平台是否支持这些模式。

  • 检索HDMI监视器支持的所有视频模式
Board $> dmesg -C
Board $> echo 4 > /sys/module/drm/parameters/debug
Board $> systemctl restart weston
Board $> dmesg
[ 2527.787272] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:29:HDMI-A-1]
[ 2527.825480] [drm:drm_add_display_info] non_desktop set to 0
[ 2527.825502] [drm:drm_add_display_info] HDMI: DVI dual 0, max TMDS clock 225000 kHz
[ 2527.825551] [drm:drm_add_edid_modes.part.19] ELD monitor SAMSUNG
[ 2527.825569] [drm:drm_add_edid_modes.part.19] HDMI: latency present 0 0, video latency 208 1, audio latency 8 64
[ 2527.825580] [drm:drm_add_edid_modes.part.19] ELD size 32, SAD count 1
[ 2527.825591] [drm:drm_add_display_info] non_desktop set to 0
[ 2527.825601] [drm:drm_add_display_info] HDMI: DVI dual 0, max TMDS clock 225000 kHz
[ 2527.828842] [drm:drm_mode_debug_printmodeline] Modeline 36:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
[ 2527.828863] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_HIGH
[ 2527.828888] [drm:drm_mode_debug_printmodeline] Modeline 39:"1366x768" 60 85500 1366 1436 1579 1792 768 771 774 798 0x40 0x5
[ 2527.828901] [drm:drm_mode_prune_invalid] Not using 1366x768 mode: CLOCK_RANGE
[ 2527.828922] [drm:drm_mode_debug_printmodeline] Modeline 40:"1920x1080i" 50 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[ 2527.828934] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.828955] [drm:drm_mode_debug_printmodeline] Modeline 41:"1920x1080i" 60 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
[ 2527.828967] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.828987] [drm:drm_mode_debug_printmodeline] Modeline 46:"1152x864" 0 108000 1152 1216 1344 1600 864 865 868 900 0x40 0x5
[ 2527.828999] [drm:drm_mode_prune_invalid] Not using 1152x864 mode: CLOCK_HIGH
[ 2527.829019] [drm:drm_mode_debug_printmodeline] Modeline 47:"1280x800" 0 71000 1280 1328 1360 1440 800 803 809 823 0x40 0x9
[ 2527.829039] [drm:drm_mode_prune_invalid] Not using 1280x800 mode: CLOCK_RANGE
[ 2527.829059] [drm:drm_mode_debug_printmodeline] Modeline 48:"1280x1024" 0 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x40 0x5
[ 2527.829071] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: CLOCK_HIGH
[ 2527.829091] [drm:drm_mode_debug_printmodeline] Modeline 49:"1440x900" 0 88750 1440 1488 1520 1600 900 903 909 926 0x40 0x9
[ 2527.829103] [drm:drm_mode_prune_invalid] Not using 1440x900 mode: CLOCK_RANGE
[ 2527.829123] [drm:drm_mode_debug_printmodeline] Modeline 50:"1600x900" 0 108000 1600 1624 1704 1800 900 901 904 1000 0x40 0x5
[ 2527.829135] [drm:drm_mode_prune_invalid] Not using 1600x900 mode: CLOCK_HIGH
[ 2527.829155] [drm:drm_mode_debug_printmodeline] Modeline 51:"1680x1050" 0 119000 1680 1728 1760 1840 1050 1053 1059 1080 0x40 0x9
[ 2527.829167] [drm:drm_mode_prune_invalid] Not using 1680x1050 mode: CLOCK_HIGH
[ 2527.829188] [drm:drm_mode_debug_printmodeline] Modeline 52:"800x600" 0 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 2527.829199] [drm:drm_mode_prune_invalid] Not using 800x600 mode: CLOCK_RANGE
[ 2527.829220] [drm:drm_mode_debug_printmodeline] Modeline 53:"640x480" 0 31500 640 656 720 840 480 481 484 500 0x40 0xa
[ 2527.829231] [drm:drm_mode_prune_invalid] Not using 640x480 mode: CLOCK_RANGE
[ 2527.829253] [drm:drm_mode_debug_printmodeline] Modeline 54:"640x480" 0 31500 640 664 704 832 480 489 492 520 0x40 0xa
[ 2527.829265] [drm:drm_mode_prune_invalid] Not using 640x480 mode: CLOCK_RANGE
[ 2527.829287] [drm:drm_mode_debug_printmodeline] Modeline 55:"640x480" 0 30240 640 704 768 864 480 483 486 525 0x40 0xa
[ 2527.829298] [drm:drm_mode_prune_invalid] Not using 640x480 mode: CLOCK_RANGE
[ 2527.829318] [drm:drm_mode_debug_printmodeline] Modeline 56:"640x480" 0 25175 640 656 752 800 480 490 492 525 0x40 0xa
[ 2527.829330] [drm:drm_mode_prune_invalid] Not using 640x480 mode: CLOCK_RANGE
[ 2527.829350] [drm:drm_mode_debug_printmodeline] Modeline 57:"720x400" 0 28320 720 738 846 900 400 412 414 449 0x40 0x6
[ 2527.829372] [drm:drm_mode_prune_invalid] Not using 720x400 mode: CLOCK_RANGE
[ 2527.829393] [drm:drm_mode_debug_printmodeline] Modeline 58:"1280x1024" 0 135000 1280 1296 1440 1688 1024 1025 1028 1066 0x40 0x5
[ 2527.829404] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: CLOCK_HIGH
[ 2527.829424] [drm:drm_mode_debug_printmodeline] Modeline 59:"1024x768" 0 78750 1024 1040 1136 1312 768 769 772 800 0x40 0x5
[ 2527.829436] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: CLOCK_RANGE
[ 2527.829457] [drm:drm_mode_debug_printmodeline] Modeline 60:"1024x768" 0 75000 1024 1048 1184 1328 768 771 777 806 0x40 0xa
[ 2527.829469] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: CLOCK_RANGE
[ 2527.829489] [drm:drm_mode_debug_printmodeline] Modeline 61:"1024x768" 0 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 2527.829501] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: CLOCK_RANGE
[ 2527.829521] [drm:drm_mode_debug_printmodeline] Modeline 62:"832x624" 0 57284 832 864 928 1152 624 625 628 667 0x40 0xa
[ 2527.829533] [drm:drm_mode_prune_invalid] Not using 832x624 mode: CLOCK_RANGE
[ 2527.829553] [drm:drm_mode_debug_printmodeline] Modeline 65:"800x600" 0 50000 800 856 976 1040 600 637 643 666 0x40 0x5
[ 2527.829564] [drm:drm_mode_prune_invalid] Not using 800x600 mode: CLOCK_RANGE
[ 2527.829585] [drm:drm_mode_debug_printmodeline] Modeline 67:"1920x1080" 0 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 2527.829596] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_HIGH
[ 2527.829617] [drm:drm_mode_debug_printmodeline] Modeline 70:"1920x1080" 0 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[ 2527.829629] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_HIGH
[ 2527.829649] [drm:drm_mode_debug_printmodeline] Modeline 78:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
[ 2527.829661] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.829690] [drm:drm_mode_debug_printmodeline] Modeline 79:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[ 2527.829701] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.829722] [drm:drm_mode_debug_printmodeline] Modeline 85:"720x480i" 0 13500 720 739 801 858 480 488 494 525 0x40 0x101a
[ 2527.829733] [drm:drm_mode_prune_invalid] Not using 720x480i mode: NO_INTERLACE
[ 2527.829754] [drm:drm_mode_debug_printmodeline] Modeline 86:"720x576i" 0 13500 720 732 795 864 576 580 586 625 0x40 0x101a
[ 2527.829765] [drm:drm_mode_prune_invalid] Not using 720x576i mode: NO_INTERLACE
[ 2527.829787] [drm:drm_mode_debug_printmodeline] Modeline 87:"1920x1080i" 50 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x20015
[ 2527.829799] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.829820] [drm:drm_mode_debug_printmodeline] Modeline 88:"1920x1080i" 60 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x20015
[ 2527.829832] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.829853] [drm:drm_mode_debug_printmodeline] Modeline 89:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x1c005
[ 2527.829865] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.829885] [drm:drm_mode_debug_printmodeline] Modeline 90:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x4005
[ 2527.829897] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.829917] [drm:drm_mode_debug_printmodeline] Modeline 91:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x1c005
[ 2527.829929] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.829950] [drm:drm_mode_debug_printmodeline] Modeline 92:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x4005
[ 2527.829961] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.829982] [drm:drm_mode_debug_printmodeline] Modeline 93:"1280x720" 0 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x1c005
[ 2527.830003] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830024] [drm:drm_mode_debug_printmodeline] Modeline 94:"1280x720" 0 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x4005
[ 2527.830035] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830056] [drm:drm_mode_debug_printmodeline] Modeline 95:"1280x720" 0 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x1c005
[ 2527.830068] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830088] [drm:drm_mode_debug_printmodeline] Modeline 96:"1280x720" 0 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x4005
[ 2527.830099] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830120] [drm:drm_mode_debug_printmodeline] Modeline 97:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x20015
[ 2527.830131] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830152] [drm:drm_mode_debug_printmodeline] Modeline 98:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x20015
[ 2527.830164] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830185] [drm:drm_mode_debug_printmodeline] Modeline 99:"1920x1080" 0 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x1c005
[ 2527.830196] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830217] [drm:drm_mode_debug_printmodeline] Modeline 100:"1920x1080" 0 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x4005
[ 2527.830229] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830250] [drm:drm_mode_debug_printmodeline] Modeline 101:"1920x1080" 0 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x1c005
[ 2527.830261] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830282] [drm:drm_mode_debug_printmodeline] Modeline 102:"1920x1080" 0 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x20005
[ 2527.830293] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830322] [drm:drm_mode_debug_printmodeline] Modeline 103:"1920x1080" 0 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x1c005
[ 2527.830334] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830355] [drm:drm_mode_debug_printmodeline] Modeline 104:"1920x1080" 0 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x20005
[ 2527.830366] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830387] [drm:drm_mode_debug_printmodeline] Modeline 106:"1280x720" 0 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x20005
[ 2527.830399] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830419] [drm:drm_mode_debug_printmodeline] Modeline 108:"1280x720" 0 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x20005
[ 2527.830431] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.830452] [drm:drm_mode_debug_printmodeline] Modeline 109:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x1c015
[ 2527.830463] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830484] [drm:drm_mode_debug_printmodeline] Modeline 111:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x1c015
[ 2527.830496] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830517] [drm:drm_mode_debug_printmodeline] Modeline 114:"1920x1080" 0 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x20005
[ 2527.830528] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830549] [drm:drm_mode_debug_printmodeline] Modeline 115:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x1c005
[ 2527.830561] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830582] [drm:drm_mode_debug_printmodeline] Modeline 116:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x20005
[ 2527.830593] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830614] [drm:drm_mode_debug_printmodeline] Modeline 117:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x1c005
[ 2527.830625] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830646] [drm:drm_mode_debug_printmodeline] Modeline 118:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x20005
[ 2527.830667] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830688] [drm:drm_mode_debug_printmodeline] Modeline 119:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x4015
[ 2527.830699] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830842] [drm:drm_mode_debug_printmodeline] Modeline 120:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x4015
[ 2527.830854] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.830876] [drm:drm_mode_debug_printmodeline] Modeline 121:"1920x1080" 0 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x4005
[ 2527.830887] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830908] [drm:drm_mode_debug_printmodeline] Modeline 122:"1920x1080" 0 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x4005
[ 2527.830919] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.830941] [drm:drm_mode_debug_printmodeline] Modeline 123:"1920x1080" 60 148352 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 2527.830952] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_HIGH
[ 2527.830973] [drm:drm_mode_debug_printmodeline] Modeline 124:"1920x1080i" 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x15
[ 2527.830985] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.831006] [drm:drm_mode_debug_printmodeline] Modeline 125:"1280x720" 60 74176 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[ 2527.831026] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: CLOCK_RANGE
[ 2527.831046] [drm:drm_mode_debug_printmodeline] Modeline 126:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[ 2527.831058] [drm:drm_mode_prune_invalid] Not using 640x480 mode: CLOCK_RANGE
[ 2527.831078] [drm:drm_mode_debug_printmodeline] Modeline 130:"720x480" 60 27027 720 736 798 858 480 489 495 525 0x40 0xa
[ 2527.831089] [drm:drm_mode_prune_invalid] Not using 720x480 mode: CLOCK_RANGE
[ 2527.831110] [drm:drm_mode_debug_printmodeline] Modeline 131:"1920x1080" 24 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[ 2527.831122] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_RANGE
[ 2527.831142] [drm:drm_mode_debug_printmodeline] Modeline 132:"1920x1080" 30 74176 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 2527.831154] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_RANGE
[ 2527.831174] [drm:drm_mode_debug_printmodeline] Modeline 133:"720x480i" 60 13514 720 739 801 858 480 488 494 525 0x40 0x101a
[ 2527.831186] [drm:drm_mode_prune_invalid] Not using 720x480i mode: NO_INTERLACE
[ 2527.831207] [drm:drm_mode_debug_printmodeline] Modeline 134:"1920x1080i" 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x20015
[ 2527.831218] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.831239] [drm:drm_mode_debug_printmodeline] Modeline 135:"1280x720" 60 74176 1280 1390 1430 1650 720 725 730 750 0x40 0x1c005
[ 2527.831251] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.831272] [drm:drm_mode_debug_printmodeline] Modeline 136:"1280x720" 60 74176 1280 1390 1430 1650 720 725 730 750 0x40 0x4005
[ 2527.831283] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.831304] [drm:drm_mode_debug_printmodeline] Modeline 140:"1920x1080" 24 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x1c005
[ 2527.831316] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831337] [drm:drm_mode_debug_printmodeline] Modeline 141:"1920x1080" 24 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x4005
[ 2527.831357] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831378] [drm:drm_mode_debug_printmodeline] Modeline 142:"1920x1080" 60 148352 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x1c005
[ 2527.831390] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831411] [drm:drm_mode_debug_printmodeline] Modeline 143:"1920x1080" 60 148352 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x20005
[ 2527.831422] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831443] [drm:drm_mode_debug_printmodeline] Modeline 145:"1280x720" 60 74176 1280 1390 1430 1650 720 725 730 750 0x40 0x20005
[ 2527.831455] [drm:drm_mode_prune_invalid] Not using 1280x720 mode: NO_STEREO
[ 2527.831476] [drm:drm_mode_debug_printmodeline] Modeline 146:"1920x1080i" 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x1c015
[ 2527.831487] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.831509] [drm:drm_mode_debug_printmodeline] Modeline 149:"1920x1080" 24 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x20005
[ 2527.831521] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831542] [drm:drm_mode_debug_printmodeline] Modeline 150:"1920x1080" 30 74176 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x1c005
[ 2527.831553] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831574] [drm:drm_mode_debug_printmodeline] Modeline 151:"1920x1080" 30 74176 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x20005
[ 2527.831585] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831605] [drm:drm_mode_debug_printmodeline] Modeline 152:"1920x1080i" 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40 0x4015
[ 2527.831617] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
[ 2527.831637] [drm:drm_mode_debug_printmodeline] Modeline 153:"1920x1080" 30 74176 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x4005
[ 2527.831649] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: NO_STEREO
[ 2527.831682] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:29:HDMI-A-1] probed modes :
[ 2527.831703] [drm:drm_mode_debug_printmodeline] Modeline 76:"1920x1080" 30 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 2527.831731] [drm:drm_mode_debug_printmodeline] Modeline 75:"1920x1080" 25 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[ 2527.831750] [drm:drm_mode_debug_printmodeline] Modeline 74:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[ 2527.831770] [drm:drm_mode_debug_printmodeline] Modeline 45:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[ 2527.831789] [drm:drm_mode_debug_printmodeline] Modeline 68:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[ 2527.831808] [drm:drm_mode_debug_printmodeline] Modeline 44:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 2527.831827] [drm:drm_mode_debug_printmodeline] Modeline 69:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 2527.831846] [drm:drm_mode_debug_printmodeline] Modeline 63:"800x600" 75 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[ 2527.831865] [drm:drm_mode_debug_printmodeline] Modeline 73:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[ 2527.831883] [drm:drm_mode_debug_printmodeline] Modeline 72:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[ 2527.832937] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:31:DSI-1]
[ 2527.833066] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:31:DSI-1] probed modes :
[ 2527.833092] [drm:drm_mode_debug_printmodeline] Modeline 37:"480x800" 50 33000 480 600 664 784 800 814 828 842 0x48 0x0
[ 2528.077108] [drm:drm_mode_addfb2] [FB:36]
[ 2528.945095] [drm:drm_mode_addfb2] [FB:38]
  • 分析“ drm”日志
    • 不支持包含以下关键字之一的HDMI监视器(HDMI-A-1/连接器29) 的模式: CLOCK_HIGH, CLOCK_RANGENO_INTERLACE
[ 2527.787272] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:29:HDMI-A-1]
[...]
[ 2527.828842] [drm:drm_mode_debug_printmodeline] Modeline 36:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
[ 2527.828863] [drm:drm_mode_prune_invalid] Not using 1920x1080 mode: CLOCK_HIGH
[ 2527.828888] [drm:drm_mode_debug_printmodeline] Modeline 39:"1366x768" 60 85500 1366 1436 1579 1792 768 771 774 798 0x40 0x5
[ 2527.828901] [drm:drm_mode_prune_invalid] Not using 1366x768 mode: CLOCK_RANGE
[ 2527.828922] [drm:drm_mode_debug_printmodeline] Modeline 40:"1920x1080i" 50 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40 0x15
[ 2527.828934] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode: NO_INTERLACE
  • 受支持的HDMI监视器的10种模式 (HDMI-A-1 /连接器 29) (根据 modetest output),也可以在这些“ drm”日志中看到
[ 2527.831682] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:29:HDMI-A-1] probed modes :
[ 2527.831703] [drm:drm_mode_debug_printmodeline] Modeline 76:"1920x1080" 30 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 2527.831731] [drm:drm_mode_debug_printmodeline] Modeline 75:"1920x1080" 25 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[ 2527.831750] [drm:drm_mode_debug_printmodeline] Modeline 74:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[ 2527.831770] [drm:drm_mode_debug_printmodeline] Modeline 45:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[ 2527.831789] [drm:drm_mode_debug_printmodeline] Modeline 68:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[ 2527.831808] [drm:drm_mode_debug_printmodeline] Modeline 44:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 2527.831827] [drm:drm_mode_debug_printmodeline] Modeline 69:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 2527.831846] [drm:drm_mode_debug_printmodeline] Modeline 63:"800x600" 75 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[ 2527.831865] [drm:drm_mode_debug_printmodeline] Modeline 73:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[ 2527.831883] [drm:drm_mode_debug_printmodeline] Modeline 72:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
  • 支持DSI显示器的唯一模式(DSI-1 /连接器 31) (根据 modetest output分析) ,也可以在这些“ drm”日志中看到
[ 2527.833066] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:31:DSI-1] probed modes :
[ 2527.833092] [drm:drm_mode_debug_printmodeline] Modeline 37:"480x800" 50 33000 480 600 664 784 800 814 828 842 0x48 0x0