Check Linux Framebuffer Resolution
There is some sysfs interface exported to control the display related stuff. The following should work on both Android and Linux.
Contents |
set display scale
root@marsboard-picuntu:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale xscale=95 yscale=95 root@marsboard-picuntu:# echo xscale=100 > /sys/devices/platform/rk-fb/graphics/fb0/scale root@marsboard-picuntu:# echo yscale=100 > /sys/devices/platform/rk-fb/graphics/fb0/scale root@marsboard-picuntu:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale xscale=100 yscale=100
set HDMI output mode
you can see supported output modes by the following commands:
root@marsboard-picuntu:# cat /sys/class/display/HDMI/modes 1920x1080p-60 1920x1080p-50 1280x720p-60 1280x720p-50 720x576p-50 720x480p-60
check out the current display mode
root@marsboard-picuntu:# cat /sys/class/display/display0.HDMI/mode 1280x720p-60
It's 720p@60hz
change the mode to 1080p@60hz
root@marsboard-picuntu:# echo 1920x1080p-60 > /sys/class/display/display0.HDMI/mode
Checking the actual resolution
On a console type:
cat /sys/devices/platform/rk-fb/graphics/fb0/disp_info
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.