Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Rock/display"

(display: Set full color depth)
m (Set display scale)
Line 12: Line 12:
 
     root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
 
     root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
 
     xscale=95 yscale=95
 
     xscale=95 yscale=95
     root@radxa:# echo xscale=100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
+
     root@radxa:# echo 100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
    root@radxa:# echo yscale=100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale   
+
 
     root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
 
     root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
 
     xscale=100 yscale=100
 
     xscale=100 yscale=100
 +
 +
You can also set different scales for X and Y:
 +
 +
    root@radxa:# echo xscale=80 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
 +
    root@radxa:# echo yscale=100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
 +
    root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
 +
    xscale=80 yscale=100
  
 
=== Set HDMI output mode ===
 
=== Set HDMI output mode ===

Revision as of 15:16, 26 July 2014

The cpu of Radxa Rock - RK3188 has two LCD controllers, LCD0 and LCD1. On RR, LCD1 is connected to HDMI and LCD0 is connect to AV out and the LCD0 signal are also exported on the extension header.

There is some sysfs interface exported to control the display related stuff. The following should work on both Android and Linux.


Set display scale

   root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
   xscale=95 yscale=95
   root@radxa:# echo 100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
   root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
   xscale=100 yscale=100

You can also set different scales for X and Y:

   root@radxa:# echo xscale=80 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
   root@radxa:# echo yscale=100 >  /sys/devices/platform/rk-fb/graphics/fb0/scale
   root@radxa:# cat /sys/devices/platform/rk-fb/graphics/fb0/scale
   xscale=80 yscale=100

Set HDMI output mode

you can see supported output modes by the following commands:

   root@radxa:# cat /sys/class/display/display0.HDMI/modes 
   1920x1080p-60
   1920x1080p-50
   1280x720p-60
   1280x720p-50
   720x576p-50
   720x480p-60

check out the current display mode

   root@radxa:# cat /sys/class/display/display0.HDMI/mode
   1280x720p-60

It's 720p@60hz

change the mode to 1080p@60hz

   root@radxa:# echo 1920x1080p-60 > /sys/class/display/display0.HDMI/mode

Set font size of X and console

Change DPI to increase the font size in X

rock@radxa:~$ sudo nano ~/.Xresources

add the following lines:

! Xft settings 
Xft.dpi: 120
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight

Change the console settings:

rock@radxa:~$ sudo dpkg-reconfigure console-setup

Go through the setup: hit enter, hit enter, choose the font and hit enter, hit enter, choose size and hit enter

Switch to console via ctrl+alt+f1 and verify your settings:

root@radxa:~# setupcon

Find the best solution by repeating the console-setup...

Set full color depth

To use full 24/32 bits color depth on the radxa rock linux image:

apt-get install fbset
cat <<eof>> /etc/init/fbset.conf
# fbset - run fbset to set truecolor fbmode
description "run fbset ASAP"
start on startup and started udev or starting lightdm
task
script
    [ -x /bin/fbset ] && /bin/fbset -a -nonstd 1 -depth 32 -rgba "8/0,8/8,8/16,8/24"
end script
eof
cat <<eof>> /etc/X11/xorg.conf
Section "Screen"
    Identifier "Default Screen"
    DefaultDepth 24
EndSection
eof

After rebooting you should not see green/purple screen. If you do, something went wrong. You can then use serial console or SSH from another machine and manually submit these commands:

service lightdm stop
fbset -a -nonstd 1 -depth 32 -rgba 8/0,8/8,8/16,8/24
service lightdm start

To make this change permanent, timing is critical during bootup. fbset will need to be called before X / lightdm starts. In Linaro/Ubuntu an upstart script is needed - fbset.conf - see above. The condition "startup and started udev" will try to run fbset as early as possible. On my rk3188 this works reliably, but if you have issues, your best bet is to tinker with these "start on" conditions. Do not use /etc/rc.local for this - this script is run long after lightdm has been started by upstart.