Framebuffer

From ArmadeusWiki
Revision as of 11:26, 12 January 2009 by JulienB (Talk | contribs) (add ESC seq)

Jump to: navigation, search

On this page you will find usefull informations to have a working Linux Framebuffer on your board.

Kernel configuration

Framebuffer is already configured (for Sharp LQ043 LCD) in standard/default Armadeus kernel image.
Following instructions are only given as references or if you want to change the default LCD:

  • launch Linux kernel configuration:
 [armadeus]$ make linux26-menuconfig
  • activates:
Device Drivers  ---> Character devices  ---> [*] Virtual terminal
Device Drivers  ---> Character devices  ---> [*]   Support for console on virtual terminal
  • activates:
Device Drivers  ---> Graphics support  ---> <*> Support for frame buffer devices  ---> <*>   Motorola i.MX LCD support
  • and choose your LCD in:
LCD Panel (xxxx)  --->
  • activates:
Device Drivers  ---> Graphics support  ---> Console display driver support  ---> <*> Framebuffer Console support
  • deactivates VGA stuff & add some fonts, then choose Armadeus boot logo
Device Drivers  ---> Graphics support  ---> [*] Bootup logo  ---> [*]   224-color Armadeus Linux logo
  • recompiles the kernel:
[armadeus]$ make linux26
  • now to have console on serial port, you will have to add "console=ttySMX0,115200n8" to your boot parameters
  • reflash kernel image on your board and enjoy ! (you should see Linux logo on screen at startup)

Userland

If you have devfs activated, framebuffer device can be accessed with /dev/fb/0. Otherwise, you will need to create the device node with

 # mknod c 29 0

You can activate some test tools from the armadeus build process:

 $ make menuconfig -> packages -> fbset

You have several test tools on yahoo groups to play a little with the framebuffer.

Tips

  • To stop blinking cursor:
# echo 0 > /sys/class/graphics/fbcon/cursor_blink
  • To make it blinking again:
# echo 1 > /sys/class/graphics/fbcon/cursor_blink
  • To grab a screenshot of a running Framebuffer application, use FBGrab
  • To enter in Framebuffer low power mode:
# echo 1 > /sys/class/graphics/fb0/blank
  • To leave Framebuffer low power mode:
# echo 0 > /sys/class/graphics/fb0/blank
  • To set low power mode entering time (where X is a time in minute; 0 = never):
# echo -e '\033[9;X]' > /dev/tty1    (from serial console)

or

# echo -e '\033[9;X]'    (from framebuffer console)

or to set it at each boot, use /etc/inittab:

tty1::sysinit:echo -e '\033[9;X]'

Other usefull ESC sequences

  • To (definitly) hide cursor:
# echo -e '\033[?17;0;0c' > /dev/tty1    (from serial console)

or

# echo -e '\033[?17;0;0c'    (from framebuffer console)
  • inverse screen on:
# echo -e '\033[?5h' > /dev/tty1
  • inverse screen off:
# echo -e '\033[?5l' > /dev/tty1

Links