Android 14 Display distortion

I have just finised upgrading my custom rom from 13 to 14, went mostly smooth apart from some strange problems with display size/shape, i have a 10inch touch screen 2560x1600 and it was working perfect on android 13 but on 14 the system doesnt pick up the native display res, it thinks its 2560x1080, this also leads to some distortion, where all the icons are too tall(should be sqaure but are now rectangle), if i try to set the display size with adb i end up having to do somign like adb shell wm size 7000x1600 to get the image to take up the whoel screen

I saw another post about the white list file so ill try that now, i was seeing if chat could help and its ides was to add this to the dtsi file the display is using, im not sure this is correct but lookign at the logs the system complains about not having 198000000 defined.

Im not sure if any of thsi will help, im about to test it but wanted to post here incase i cant fix this my self.

dtsi

hdmi@fde80000 {
    ...
    display-timings {
        native-mode = <&timing0>;
        
        timing0: timing0 {
            clock-frequency = <198000000>;  // TMDS clock rate of 198 MHz
            hactive = <2560>;
            vactive = <1600>;
            hsync-len = <44>;
            vsync-len = <5>;
            hfront-porch = <148>;
            hback-porch = <88>;
            vfront-porch = <36>;
            vback-porch = <4>;
            hsync-active = <1>;
            vsync-active = <1>;
            de-active = <1>;
            pixelclk-active = <1>;
        };

        timing1: timing1 {
            clock-frequency = <241500000>;  // TMDS clock rate of 241.5 MHz for higher stability
            hactive = <2560>;
            vactive = <1600>;
            hsync-len = <44>;
            vsync-len = <5>;
            hfront-porch = <148>;
            hback-porch = <88>;
            vfront-porch = <36>;
            vback-porch = <4>;
            hsync-active = <1>;
            vsync-active = <1>;
            de-active = <1>;
            pixelclk-active = <1>;
        };
    };
};

White list:

<resolution> <!-- 2560x1600P60 at 198 MHz -->
    <clock>198000</clock>
    <hdisplay>2560</hdisplay>
    <hsync_start>2750</hsync_start> <!-- Adjust these based on timing requirements -->
    <hsync_end>2790</hsync_end>
    <htotal>3000</htotal>
    <hskew>0</hskew>
    <vdisplay>1600</vdisplay>
    <vsync_start>1610</vsync_start>
    <vsync_end>1620</vsync_end>
    <vtotal>1650</vtotal>
    <vscan>0</vscan>
    <vrefresh>60</vrefresh>
    <flags>5</flags>
    <vic>15</vic> <!-- Unique identifier for this mode -->
</resolution>

<resolution> <!-- 2560x1600P60 at 241.5 MHz -->
    <clock>241500</clock>
    <hdisplay>2560</hdisplay>
    <hsync_start>2750</hsync_start> <!-- Adjust these based on timing requirements -->
    <hsync_end>2790</hsync_end>
    <htotal>3000</htotal>
    <hskew>0</hskew>
    <vdisplay>1600</vdisplay>
    <vsync_start>1610</vsync_start>
    <vsync_end>1620</vsync_end>
    <vtotal>1650</vtotal>
    <vscan>0</vscan>
    <vrefresh>60</vrefresh>
    <flags>5</flags>
    <vic>16</vic> <!-- Unique identifier for this mode -->
</resolution>

Just a quick update, addign the white list file fixes the distortion and its fine after a few reboots but now in the res list i only see 1920x1080 or 1280x720.

I can continue on with my work now but would liek to fix this problem so i can run the deisplay at full res.

Well, the last 14 beta limited my monitor to 1080p60. Now with the stable builds I can get 1080p120 although my monitor is 2k180Hz and I don’t see 2K in the list. It’s the Xiaomi G27QI.

Hello, we will review this issue

1 Like

This has been a problem with the 6.1 kernel on Linux distros as well.