External HDMI touch screen stays black

Which system do you use? Android, Ubuntu, OOWOW or others?

Android 12 via OOWOW

Which version of system do you use? Khadas official images, self built images, or others?

Android 12 official image via OOWOW

Please describe your issue below:

I have 2 Android devices, 1 with a rockchip RK3399 Android 11 and the Khadas Edge 2 with Android 12. The display stays black when I connect with the Kadas.
How is this possible and is there a solution for this?

Post a console log of your issue below:

no console

Hello @ChrisCompo

What kind of display have you connected, could you provide more details ?

It’s a custom made display. These are the characteristics:

No. Item Specification Unit
1 Display Size 7 Inch
2 Pixel Number 1024 (H) x 3(RGB)x 600 (V) Pixels
3 Outline Dimension 192.96(W)×110.76(H)×22.5(D) mm
4 Active Area 154.21 (H) x 85.92 (V) mm
5 Pixel Pitch 0.1506(H) x 0.1432(V) mm
6 Display Colors 16.7M colors
7 Pixel Arrangement RGB vertical stripe - -
8 Display Mode Full View / Normally Black - -
9 Electrical Interface
HDMI (Compliance HDMI V1.4 and
include HDCP decryption)

10 Surface Treatment Clear - -
11 Brightness 1500 (Typ.) cd/m2
12 Contrast Ratio 600 (Typ.) –

@goenjoy @xiong.zhang

Please guide here.

1 Like

@ChrisCompo Execute the following command to see:

adb root && adb remount
adb shell "rm system/usr/share/resolution_white.xml"
adb reboot

If it still does not display, please execute the following command and post the corresponding information to me.

cat /sys/kernel/debug/dri/0/summary

@goenjoy

thank you for your help. Unfortunately it doesn’t work. In fact all displays have problems working now.
I managed to restore the device and the file.

I tried the display with an hdmi to usb-c display converter and then the display is working well.
But we rather prefer connecting with HDMI, because we need the other ports and our setup will be applied for 50 - 100 devices. If we have to buy additional converters it will cost more.

The output of dri summary :

Video Port0: DISABLED
Video Port1: DISABLED
Video Port2: ACTIVE
    Connector: DP-1
        bus_format[100a]: RGB888_1X24
        overlay_mode[0] output_mode[f] color_space[0], eotf:0
    Display mode: 1024x600p60
        clk[51200] real_clk[51200] type[48] flag[a]
        H: 1024 1192 1224 1344
        V: 600 615 621 635
    Cluster2-win0: ACTIVE
        win_id: 4
        format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 1 ymirror: 1 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 0
        src: pos[0, 0] rect[1920 x 1080]
        dst: pos[0, 12] rect[1024 x 576]
        buf[0]: addr: 0x00000000ef9af000 pitch: 7680 offset: 0
    Cluster2-win1: ACTIVE
        win_id: 5
        format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 1
        src: pos[0, 0] rect[1024 x 600]
        dst: pos[0, 0] rect[1024 x 600]
        buf[0]: addr: 0x00000000f01c7000 pitch: 4096 offset: 0
Video Port3: DISABLED

What I want is information on inserting an HDMI monitor.

I have uploaded a firmware for Android 13 separately for you. Give it a try.

Sorry, Yes my fault, it is the same screen, via DP working well. Via HDMI only black screen.
Here is the output when connected to the HDMI port.

 cat /sys/kernel/debug/dri/0/summary
Video Port0: ACTIVE
    Connector: HDMI-A-1
        bus_format[100a]: RGB888_1X24
        overlay_mode[0] output_mode[f] color_space[0], eotf:0
    Display mode: 1024x600p60
        clk[51200] real_clk[51200] type[48] flag[a]
        H: 1024 1192 1224 1344
        V: 600 615 621 635
    Cluster0-win0: ACTIVE
        win_id: 0
        format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 0
        src: pos[0, 0] rect[1920 x 1080]
        dst: pos[0, 0] rect[1024 x 600]
        buf[0]: addr: 0x00000000eeee6000 pitch: 7680 offset: 0
    Cluster0-win1: ACTIVE
        win_id: 1
        format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 1
        src: pos[0, 0] rect[1920 x 1080]
        dst: pos[0, 0] rect[1024 x 600]
        buf[0]: addr: 0x00000000f175e000 pitch: 7680 offset: 0
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED

@goenjoy
the problem on Android 13 still persists. The screen remains black.

@goenjoy @xiong.zhang any updates?

We want to order 48 x edge2 but we want to know for sure HDMI is working with our touchscreen

@ChrisCompo @gloaguen Insert HDMI and execute cat /d/clk/clk_summary to take a look. Thanks!

@gloaguen @ChrisCompo And please execute the following command and send me the generated file.

cat sys/devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/edid > /data/edid.bin
                                enable  prepare  protect                                duty
   clock                          count    count    count        rate   accuracy phase  cycle
---------------------------------------------------------------------------------------------
dclk0                                0        0        0    51200000          0     0  50000
    dsc_4k_txp_clk_src                0        0        0    51200000          0     0  50000
       dsc_4k_cds_clk                 0        0        0    51200000          0     0  50000
       dsc_4k_pxl_clk                 0        0        0    51200000          0     0  50000
       dsc_4k_txp_clk                 0        0        0    51200000          0     0  50000
    dsc_8k_txp_clk_src                0        0        0    51200000          0     0  50000
       dsc_8k_cds_clk                 0        0        0    51200000          0     0  50000
       dsc_8k_pxl_clk                 0        0        0    51200000          0     0  50000
       dsc_8k_txp_clk                 0        0        0    51200000          0     0  50000
    hdmi_edp1_clk_src                 0        0        0    51200000          0     0  50000
       hdmi_edp1_pixclk               0        0        0    51200000          0     0  50000
       hdmi_edp1_dclk                 0        0        0    51200000          0     0  50000
    hdmi_edp0_clk_src                 0        0        0    51200000          0     0  50000
       hdmi_edp0_pixclk               0        0        0    25600000          0     0  50000
       hdmi_edp0_dclk                 0        0        0    12800000          0     0  50000
    port0_dclk_src                    0        0        0    51200000          0     0  50000
       dclk_out0                      0        0        0    51200000          0     0  50000
          dp1_pixclk                  0        0        0    51200000          0     0  50000
          dp0_pixclk                  0        0        0    51200000          0     0  50000
       dclk_core0                     0        0        0    12800000          0     0  50000

xin24m                              26       29        0    24000000          0     0  50000
    clk_usbdpphy_mipidcpphy_ref       2        2        0    24000000          0     0  50000
    clk_usb2phy_hdptxrxphy_ref        9        9        0    24000000          0     0  50000
       clk_hdmiphy_pixel0             2        3        0    51200000          0     0  50000
          dclk_vop0                   2        4        0    51200000          0     0  50000
       usb480m_phy3                   3        5        0   480000000          0     0  50000
       usb480m_phy2                   3        5        0   480000000          0     0  50000
       usb480m_phy0                   2        2        0   480000000          0     0  50000

       clk_hdmihdp1                      0        0        0    24000000          0     0  50000
       clk_hdmihdp0                      1        2        0    24000000          0     0  50000

pll_cpll                          1        1        0  1500000000          0     0  50000
       cpll                          19       30        0  1500000000          0     0  50000
          clk_hdmitx1_earc            0        0        0   100000000          0     0  50000
          clk_hdmitx0_earc            1        2        0   100000000          0     0  50000

aclk_hdmirx_root            0        1        0   500000000          0     0  50000
             aclk_hdmirx              0        0        0   500000000          0     0  50000
             clk_hdmitrx_refsrc          1        1        0   428571429          0     0  50000
             aclk_hdcp1_root          1        2        0   428571429          0     0  50000
                aclk_hdcp1_pre        0        1        0   428571429          0     0  50000
                   aclk_hdcp1         0        1        0   428571429          0     0  50000
                aclk_trng1            0        0        0   428571429          0     0  50000
                clk_hdmitx1_ref       0        0        0   428571429          0     0  50000
                clk_hdmitx0_ref       1        2        0   428571429          0     0  50000
                clk_hdmirx_ref        0        0        0   428571429          0     0  50000

clk_150m_src                5        5        0   150000000          0     0  50000
             pclk_vo1_root            1        3        0   150000000          0     0  50000
                pclk_vo1_grf          0        1        0   150000000          0     0  50000
                pclk_vo1grf           0        0        0   150000000          0     0  50000
                pclk_trng1            0        0        0   150000000          0     0  50000
                pclk_hdmitx1          0        0        0   150000000          0     0  50000
                pclk_hdmitx0          1        2        0   150000000          0     0  50000
                pclk_hdmirx           0        0        0   150000000          0     0  50000
                pclk_hdcp1            0        0        0   150000000          0     0  50000
                pclk_edp1             0        0        0   150000000          0     0  50000
                pclk_edp0             0        0        0   150000000          0     0  50000

@ChrisCompo 1024x600 is a special resolution. This special resolution needs to be added. Need to obtain the specific timing of 1024x600 parsed by the edid. please execute the following command and send me the generated file.

cat sys/devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/edid > /data/edid.bin

Alternatively, I can fill in a specific time sequence and give it a try. But it is best to obtain timing based on your HDMI.

kernel-5.10$ git diff drivers/gpu/drm/drm_edid.c
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 4a57b25..60f87e6 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -575,6 +575,10 @@ static const struct drm_display_mode drm_dmt_modes[] = {
        { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 556188, 4096, 4104,
                   4136, 4176, 0, 2160, 2208, 2216, 2222, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },
+       /* 0x59 - 1024x600@60Hz */
+       { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 44580, 1024, 1064,
+                  1112, 1152, 0, 600, 613, 632, 645, 0,
+                  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) },
 };
rm device/khadas/rk3588/kedge2/resolution_white.xml device/khadas/common/resolution_white.xml

@goenjoy I send the bin file in a zip file in a private message, yesterday. There is a link in it to download the zip file.

@goenjoy it’s clear what you want to do. But how I can apply this to my Android installation. Or do I have to edit this in the Android image file?
Please can you guide me a bit in the right direction?

@ChrisCompo Need to download code, modify code, compile firmware, and upgrade firmware.
I have specially modified and uploaded the firmware for you to test and verify.

--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -575,6 +575,10 @@ static const struct drm_display_mode drm_dmt_modes[] = {
        { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 556188, 4096, 4104,
                   4136, 4176, 0, 2160, 2208, 2216, 2222, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },
+       /* 0x59 - 1024x600@60Hz */
+       { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 51200, 1024, 1192,
+                  1224, 1344, 0, 600, 615, 621, 635, 0,
+                  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) },
 };

@goenjoy Onfortunately it doesn’t work. The build number in Android info is:
v20231108. Hence, the update did work. Display remains black. It would be great to solve this issue for us, because we want to integrate your hardware in a kiosk, with this display.

Output now:

Video Port0: ACTIVE
    Connector: HDMI-A-1
        bus_format[100a]: RGB888_1X24
        overlay_mode[0] output_mode[f] color_space[0], eotf:0
    Display mode: 1024x600p60
        clk[51200] real_clk[51200] type[48] flag[a]
        H: 1024 1192 1224 1344
        V: 600 615 621 635
    Esmart0-win0: ACTIVE
        win_id: 8
        format: AB24 little-endian (0x34324241) SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 2
        src: pos[0, 0] rect[1920 x 36]
        dst: pos[0, 0] rect[1024 x 20]
        buf[0]: addr: 0x00000000ee855000 pitch: 7680 offset: 0
    Cluster0-win0: ACTIVE
        win_id: 0
    Esmart0-win1: ACTIVE
        win_id: 8
        format: AB24 little-endian (0x34324241) SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 2
        src: pos[0, 0] rect[1920 x 72]
        dst: pos[0, 560] rect[1024 x 40]
        buf[0]: addr: 0x00000000f0652000 pitch: 7680 offset: 0
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED

@ChrisCompo Please execute the following command and send me the generated file.

adb shell dmesg > dmesg.log