Check Linux Framebuffer Resolution

From wiki
Revision as of 06:45, 13 March 2014 by AVRman (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.


blog comments powered by Disqus

Personal tools