4K resolution "hardcoded" in Android 14 images

Hello,

I am trying to get the official Android 14 images running on my Edge 2 board, but I can"t get my full HD touchscreen properly recognized. The exact same hardware setup works with the 12 and 13 images.

Looking at the DRI properties inside the /sys folder, the display mode is not properly recognized/set for Android 14:

console:/ $ uname -a
Linux localhost 6.1.57 #44 SMP PREEMPT Fri Nov  1 14:15:57 CST 2024 aarch64 Toybox
console:/ $ cat /sys/kernel/debug/dri/0/summary                                
Video Port0: ACTIVE
    Connector:HDMI-A-1  Encoder: TMDS-462
        bus_format[100a]: RGB888_1X24
        overlay_mode[0] output_mode[f] SDR[0] color-encoding[BT.709] color-range[Full]
    Display mode: 3840x2160p24
        clk[297000] real_clk[297000] type[40] flag[5]
        H: 3840 5116 5204 5500
        V: 2160 2168 2178 2250
    Cluster0-win0: ACTIVE
        win_id: 0
        format: AB24 little-endian (0x34324241)[AFBC] pixel_blend_mode[0] glb_alpha[0xff]
        color: SDR[0] color-encoding[BT.709] color-range[Full]
        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[3840 x 2160]
        buf[0]: addr: 0x00000000f2005000 pitch: 7680 offset: 0
Video Port2: DISABLED

If I revert back to one of the the official 13 images, I get this instead, which matches the display that is connected:

console:/ $ uname -a
Linux localhost 5.10.157 #3 SMP PREEMPT Thu Dec 5 18:18:47 CST 2024 aarch64 Toybox
console:/ $ 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: 1920x1200p60
        clk[193250] real_clk[193250] type[48] flag[5]
        H: 1920 2256 2456 2592
        V: 1200 1236 1242 1245
    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 1200]
        dst: pos[0, 0] rect[1920 x 1200]
        buf[0]: addr: 0x00000000ef8c1000 pitch: 7680 offset: 0
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED

The only way where I can get something on screen, is if I connect the board to a real 4K monitor (I tried this with a 4K TV).

So I suspect the display mode to be somehow hard-coded somewhere, and not dynamically set, based on monitor EDID like I would expect (Please note that the EDID of my touchscreen does not advertise 4K as a supported resolution).

Is this a known issue? Is it expected that I manually adjust the kernel and/or Android sources to match my touchscreen resolution?

Kind Regards,
Mathieu

Apply the patch below and try it out

xiong@builder:~/work/edge2-14/kernel-6.1$ git show faaec55467ec2d310962af16f8078e91ee3bc436
commit faaec55467ec2d310962af16f8078e91ee3bc436 (origin/khadas-edge2-android14, m/khadas-edge2-android14)
Author: Xiong Zhang <xiong.zhang@wesion.com>
Date:   2025-01-06 16:40:05 +0800

    Resolve the issue of incomplete display of the special HDMI resolution list
    
    Change-Id: I80eaf94a42f178f5ee7889323528f37cc9935799
    Signed-off-by: Xiong Zhang <xiong.zhang@wesion.com>

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
index e387433f788d..60a5b5f29fe2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
@@ -233,6 +233,11 @@ &hdmi0_sound {
        status = "okay";
 };
 
+&display_subsystem {
+  clocks = <&hdptxphy_hdmi0>;
+  clock-names = "hdmi0_phy_pll";
+};
+
 &hdptxphy_hdmi0 {
        status = "okay";
 };

This seems to fix the issue. Thank you very much!

However, I don"t see this commit inside the official khadas-edge2-android14 branch of the linux repository on github: The last commit inside the github repo is from Oct. 12th 2024.
When can we expect an official update there?

Yes, it hasn’t been uploaded to GitHub yet. We will upload it soon and issue a notice when it’s released. Please stay tuned. Thank you