DirectFB:First Step

From DirectFBWiki

This article describes first steps to get accustomed with DirectFB.

Table of contents

The ByzantineOS way (XDirectFB)

ByzantineOS uses XDirectFB. It starts from CD. I guess you have to burn the OS to a CD, boot from it and have luck.

The Debian way (DirectVNC)

If you run Debian (http://www.us.debian.org/), testing DirectVNC is easy.

Step-by-step guide

Install DirectVNC

  • Run
# apt-get install directvnc

Make sure that your kernel has Linux framebuffer support

  • Check /boot/config-* (or /proc/config.gz) stuff. If it has CONFIG_FB_*=y or such, it is Okay. The current Debian kernel uses the Linux framebuffer.

Set the framebuffer resolution

  • Hit "e" in the grub boot loader menu, to edit the boot parameters. Add "vga=791" (which will set the Framebuffer resolution to 1024x768 at 16 bits) or select the wanted resolution representation from VGA modes. Or use "vga=ask".

Check /dev/fb0

If you use udev (and current debian does), it appears automatically. If not, maybe you need to do "mknod". And, you also check /proc/fb and do # fbset .

Start DirectVNC

This is not DirectFB but VNC issue. In VNC, a port number starts from zero. In TCP, it starts 5900. In other word, VNC port num = TCP port num + 5900.

Hints

  • "fbset" is your friend.
# apt-get fbset

Trouble shooting

Can you access the VNC server from others?

  • Check firewall, IP address blocking etc.
  • telnet yourserver 5900 would help

Does the SVGA console appear?

Understand the port num issue?

  • Try both zero or 5900

Tips

  • check /proc/fb /proc/fusion /proc/mtrr /dev/fb* /dev/fusion
  • try
# fbset
  • edit /etc/directfbrc, especially FirectFB screen is 640x480. Change this to 1024x768.
  • see /etc/fb.modes (but usually you don't have to edit it).
  • Use dfb* tools, especially dfbinfo / dfbdump / dfblayer. They come from libdirectfb-bin. Try
# apt-cache search directfb
  • If you make --multi enabled and insmod fusion.ko, do
# dfbspy