Check Linux Framebuffer Resolution
Changing HDMI resolution
The kernel supports fixed list of resolutions
800x480p-60 1280x720p-60 1920x1080p-60
probably interlaced and/or 50Hz modes are also supported like
To change the mode use something like
echo "1280x720p-60" > /sys/devices/virtual/display/display0.HDMI/mode
To check scale value
To change to no overscan
echo 100 > /sys/devices/platform/rk-fb/graphics/fb0/scale
On some kernels changing the mode as above is needed for scale value to apply.
The scale value may be ignored by some kernels.
On some kernels the scale file was at /sys/devices/virtual/display/display0.HDMI/scale
Checking the actual resolution
On a console type:
for a working 1080p setup, the result should be something like:
win0:enabled xvir:960 xact:1920 yact:1080 xdsp:1920 ydsp:1080 x_st:192 y_st:41 x_scale:1.0 y_scale:1.0 format:RGB565 win1:disabled xvir:0 xdsp:320 ydsp:240 x_st:10 y_st:10 format:ARGB888
That is xact and yact (the virtual resolution seen by Linux) must be the same as xdsp and ydsp (the real resolution been sent to the screen), or else you have a scaled output (x_scale and y_scale not 1.0).
Fix (1) for an not working resolution
If this is the case and you find that xdsp=1280 and ydsp=720, whereas you expected a 1080p display, the solution is in this commit: https://github.com/Galland/3188-SRC-AP6210/commit/130c1ad6bb47f3b2401b6156f205dcb5882255c7
(BTW, notice the 16 bits color: RGB565)
Fix (2) in case solution (1) don't working
With some monitors the EDID information is a little bit different and can cause problems to get the right resolution although the solution (1) is already applied.
F.e. this is the case for the monitor "acer P225HQL".
One solution could be found at miniand forum.