DirectFB

DirectFB

Direct Frame Buffer, é uma biblioteca de abstração que provê aceleração gráfica, originalmente criada para sistemas embarcados, mas que pode ser usado em outras situações.

Como funciona?

Basicamente funciona da seguinte forma:

O linux em sí, foi projetado pensando em funcionar em redes e servidores. Com isso, muitos recursos e escolhas foram tomadas visando esse objetivo, em seu desenvolvimento. Mas alguns recursos, não tem a menor utilidade para usuários comuns (Desktop), e portanto podem ser eliminados visando melhor performance.

É exatamente isso que o DirectFB faz, como foi projetado para sistemas embarcados (pense por exemplo, em um celular rodando linux), a coisa mais importante nesse caso, seria performance. Essa biblioteca substitui a funcionalidade de servidor do xserver-xorg, (ou do servidor gráfico que estiver utilizando) e no lugar, da acesso direto ao hardware de vídeo (GPU).

Fazendo isso, é possível eliminar a pequena latência que existe no processo, obtendo uma resposta mais rápida do gráfico.

Pra quem funciona?

O DirectFB ainda é algo meio experimental, portanto se você se preocupa 100% com estabilidade ou tem aplicações críticas funcionando, definitivamente não é pra você.

Caso você faça uso de algum recurso avançado dos servidores gráficos (por exemplo tenha uma estação com servidore finos, ou faça uso de algum aplicativo estilo VNC que utilize o próprio servidor gráfico para realizar a conexão, então continue do jeito que está).

Você quer desenvolver uma aplicação pra sistemas embarcados? Seja bem vindo. Sugiro olhar o site do desenvolvedor para maiores informações.

Se você já utiliza o Xgl ou AIXgl, provavelmente não terá aumento de performance, pois estes já proporcionam aceleração gráfica.

Para os demais que utilizam uma placa de vídeo com xserver-xorg e não fazem uso de recursos avançados do servidor gráfico e desejam apenas uisar o computador para trabalho e jogos (Desktop), então poderá utilizar o DirectFB para ganhar mais alguns FPS (Frames Por Segundo) nos games e uma resposta mais rápida da interface gráfica a sua escolha.

Instalação e Configuração

Para poder usar o DirectFB, basta seguir alguns pequenos passos de instação e configuração:

Instale os seguintes pacotes:

  • libdirectfb-0.9-22

  • libdirectfb-bin

  • libdirectfb-dev

  • libdirectfb-extra

  • libgtk+2.0-directfb0

  • libgtk+2.0-directfb-dev

(Digite no terminal):

sudo apt-get install libdirectfb-0.9-22 libdirectfb-bin libdirectfb-dev libdirectfb-extra libgtk+2.0-directfb0 libgtk+2.0-directfb-dev

Feito isso, vamos criar uma entrada de inicialização para testar, aonde carregaremos o sistema usando DirectFB:

Abra a lista de inicialização do grub como root

sudo gedit /boot/grub/menu.lst

Procure pela entrada principal relativa a imagem do kernel que você utiliza (mais ou menos parecido com o exemplo a baixo - note que no meu caso, eu utilizo uma versão para K7 pois é o processador que tenho)

title        Debian GNU/Linux, kernel 2.6.15-26-k7
root        (hd2,0)
kernel        /boot/vmlinuz-2.6.15-26-k7 root=/dev/sda1 ro quiet splash
initrd        /boot/initrd.img-2.6.15-26-k7
boot

Duplique (copie e cole logo à baixo) o texto, modifique o título (para você saber que essa inicialização usa DirectFB) e acrescente video=vesa:ywrap,mtrr vga=788 ao final da linha do kernel (deverá ficar mais ou menos assim):

title        Debian GNU/Linux, kernel 2.6.15-26-k7 (DFB)
root        (hd2,0)
kernel        /boot/vmlinuz-2.6.15-26-k7 root=/dev/sda1 ro quiet splash video=vesa:ywrap,mtrr vga=788 
initrd        /boot/initrd.img-2.6.15-26-k7
boot

Salve o arquivo e reinicie o computador. (inicialize pela nova entrada e veja se tudo deu certo, se não funcionar basta utilizar a opção sem DirectFB e desfazer as alterações).

Créditos

Autor: BrodocK

Data: 19/09/2006

Fonte: Ubuntu-ES | DirectFB.Org

DirectFB (last edited 2011-09-19 23:20:42 by localhost)