Example mode from xrandr --verbose:
1920x1080 (0x24) 173.000MHz -HSync +VSync *current +preferred
h: width 1920 start 2048 end 2248 total 2576 skew 0 clock 67.16KHz
v: height 1080 start 1083 end 1088 total 1120 clock 59.96Hz
Now you have to look at the resolution whitelist, example entry;
<resolution> <!-- 3840x2160P24 -->
<clock>297000</clock>
<hdisplay>3840</hdisplay>
<hsync_start>5116</hsync_start>
<hsync_end>5204</hsync_end>
<htotal>5500</htotal>
<hskew>0</hskew>
<vdisplay>2160</vdisplay>
<vsync_start>2168</vsync_start>
<vsync_end>2178</vsync_end>
<vtotal>2250</vtotal>
<vscan>0</vscan>
<vrefresh>24</vrefresh>
<flags>5</flags>
<vic>93</vic>
</resolution>
To map the xrandr mode to the entry look at it like this;
1920x1080 (0x24) <clock> <flags>
h: width <hdisplay> start <hsync_start> end <hsync_end> total <htotal> skew <hskew> clock 67.16KHz
v: height <vdisplay> start <vsync_start> end <vsync_end> total <vtotal> clock 59.96Hz
Do you have any modes that ACTUALLY MATCH? You can’t just have SOME fields that match – they ALL have to match.
If there is no matching mode in the whitelist, then you need to add your mode to the whitelist and cross your fingers that it works because there is NO GUARANTEE.
You should be able to edit/replace the whitelist on device (i.e., without rebuilding android). The file is copied to /system/usr/share/resolution_white.xml