How to display on HDMI



1 Article purpose[edit]

This article aims to specify what is displayed on an HDMI®[1] monitor (or TV) connected, through an HDMI cable, to a STMicroelectronics board, in different use cases explained below.

This article also explains how to get the video modes (resolutions and refresh frequencies) of the HDMI monitor (or TV) that are supported by the device, how to test them, and finally how to select one.

2 Prerequisites[edit]

Obviously, it is mandatory that your STMicroelectronics board has an HDMI connector, which is the case for:

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

An HDMI cable and an HDMI monitor (or TV) are also needed.

3 Use cases[edit]

The table below shows the different use cases that involve both the DSI display and the HDMI monitor.

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


The following statements explain the use cases summarized above:

  • The U-Boot graphical console ("ST life.augmented" picture) is never displayed on the HDMI monitor. This console is displayed on the DSI display (if any on the board).
  • If the board has both a DSI display and an HDMI monitor, the Wayland background layer is only displayed on one of these displays (see the "rules" below).
  • HDMI unplugged: if no HDMI monitor is connected to the board before the board starts, and if a DSI display is connected to the board, the Wayland background layer is displayed on the DSI display.
  • HDMI cold-plug: if an HDMI monitor is connected to the board before the board starts, the Wayland background layer is displayed on this HDMI monitor.
  • HDMI hot-plug: if an HDMI monitor is connected to the board after the board starts, this plug is automatically detected by Wayland / Weston. The demo launcher window is not automatically upscaled: close and open it again to have it fullscreeen on the HDMI monitor.
  • HDMI hot-unplug: if an HDMI monitor is disconnected from the board while the Wayland background layer is displayed on the HDMI monitor, this unplug is automatically detected by Wayland / Weston. The demo launcher window is not automatically downscaled: restart Weston[2] to have it fullscreen on the DSI display.

4 Video modes[edit]

Generally, the HDMI monitor (or TV) provides several video modes (resolutions and refresh frequencies), that might not be all supported by the platform. In case of HDMI cold-plug or HDMI hot-plug, the first video mode provided by the HDMI monitor that is supported by the platform, is selected. To change this video mode selected per default, all the video modes both provided by the HDMI monitor and supported by the platform shall be retrieved, optionally tested, and finally set in the weston.ini configuration file[3].

Let us assume that the DSI display and the HDMI monitor are connected to the board, and that the Wayland background is displayed on the HDMI monitor.

  • Retrieve the video modes provided by the HDMI monitor and supported by the platform thanks to the modetest command (see below how to get all the video modes supported by the HDMI monitor, whether they are supported or not by the platform)
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
  • Analyse the output of the modetest command:
    • 10 modes (8 unique modes) of the connected HDMI monitor (HDMI-A-1 / connector 29) are supported:
      • 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 In the above example, some 1920x1080 resolutions are available but use cases may not work properly if the platform is not powerful enough for such high resolutions (DDR size and bandwidth, CPU and GPU performances...).


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
  • 1 mode of the connected DSI display (DSI-1 / connector 31) is supported
  • 480x800 resolution with a refresh frequency of 50 Hz
Connectors:
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


  • Per default, the first video mode provided by the HDMI monitor that is supported by the platform, is selected: here, it is the 1280x720 60 resolution
    • Check it with the information provided by the modetest command: make the link between the HDMI connector 29, the encoder id 28, the CRTC id 33, and finally the video mode 1280x720 60
Connectors:
id      encoder status          name            size (mm)       modes   encoders
29      28      connected       HDMI-A-1        710x400         3       27

Encoders:
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


  • Set the selected video mode in the /etc/xdg/weston/weston.ini configuration file, and restart Weston[2]

Syntax:

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

Example (720x480 resolution selected):

mode=720x480
Board $> systemctl restart weston


  • Check that the new video mode has been taken into account with the information provided by the modetest command: make the link between the HDMI connector 29, the encoder id 28, the CRTC id 33, and finally the new video mode 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

5 FAQ[edit]

5.1 How to get all the video modes supported by the HDMI monitor[edit]

This chapter gives a method to retrieve all the video modes supported by the HDMI monitor, whether they are supported or not by the platform.

  • Retrieve all the video modes supported by the HDMI monitor
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]
  • Analyse the drm logs
    • The modes of the HDMI monitor (HDMI-A-1 / connector 29) that contain one of the following keywords are not supported: CLOCK_HIGH, CLOCK_RANGE and NO_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
  • The 10 modes of the HDMI monitor (HDMI-A-1 / connector 29) that are supported (as analyzed from the modetest output), are also seen with these drm logs
[ 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
  • The only mode of the DSI display (DSI-1 / connector 31) that is supported (as analyzed from the modetest output), is also seen with these drm logs
[ 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

6 References[edit]

High-Definition Multimedia Interface (HDMI standard)

Display Serial Interface (MIPI® Alliance standard)

Display Pixel Interface (MIPI® Alliance standard)

Extended Display Identification Data (HDMI standard)

Frame Buffer (could be the Kernel framebuffer linked to the display, a GPU framebuffer, an imaging framebuffer...)

Doubledata rate (memory domain)

Central processing unit

Graphics Processing Units

Digital Visual Interface (Digital Display Working Group)

Attachments

Discussions