Eu posso resolver sua questão, tendo trabalhado anteriormente com o FB do Linux.
Como o Linux faz o seu FB.
-
Primeiro você precisa ter suporte ao FrameBuffer em seu kernel, correspondente ao seu hardware. A maioria das distribuições modernas tem suporte via módulos do kernel. Não importa se sua distro vem pré-configurada com um logotipo de inicialização, não uso um e tenho suporte a FB.
-
Não importa se você tem uma placa gráfica dedicada, integrada funcionará, desde que o Hardware Framebuffer seja suportado.
-
Você não precisa do X, que é o aspecto mais atraente de ter o FrameBuffer. Algumas pessoas não sabem melhor, então eles defenderam alguma forma de X para solucionar seus mal-entendidos.
-
Você não precisa trabalhar diretamente com o FB, o que muitas pessoas assumem incorretamente. Uma biblioteca muito impressionante para desenvolvimento com o FrameBuffer é
DirectFB
e ainda tem algum suporte básico de aceleração. Eu sempre sugiro pelo menos que você verifique se você está iniciando um projeto baseado em FB com recursos completos (Navegador da Web, Jogo, GUI ...)
Específico para o seu hardware
-
Use o FrameBuffer genérico da Vesa, seus módulos são chamados de
vesafb
. Você pode carregá-lo, se você o tiver disponível, com os comandosmodprobe vesafb
. muitas distribuições pré-configuradas, você pode fazer check-in em/etc/modprobe.d/
.blacklist vesafb
talvez precise ser comentado com um#
, em umblacklist-framebuffer.conf
ou outro arquivo de lista negra. -
A melhor opção é um driver KMS específico para hardware. A principal delas para a Intel é a Intel GMA, não tendo certeza do nome de seus módulos. Você precisará ler sobre isso a partir dos documentos da sua distribuição. Esta é a opção FB com melhor desempenho. Eu pessoalmente sempre coloco o KMS em primeiro lugar, se possível.
-
Use os drivers FB específicos do hardware herdado, não recomendado, pois às vezes são problemáticos. Eu evitaria essa opção, a menos que o último recurso fosse necessário.
Acredito que isso abrange todas as suas dúvidas e forneça as informações para que o dispositivo /dev/fb0
esteja disponível. Qualquer coisa mais específica precisaria de detalhes de distribuição, e se você é um pouco experiente, o RTFM deve ser tudo o que você precisa. (depois de ler isto).
Espero ter ajudado, Sua sorte sua perguntando sobre um dos meus tópicos! Este é um assunto negligenciado no UNIX-SE, pois nem todos (sabidamente) usam o FrameBuffer do Linux.
NOTA: UvesaFB ou VesaFB?
Você pode ter lido que as pessoas usam uvesafb
over vesafb
, pois tiveram um desempenho melhor. Isso geralmente era verdade, mas não em uma distro moderna com hardware moderno. Se o seu hardware gráfico suporta o modo protegido VESA (VESA > = 2.0), e você tem um kernel recente, o vesafb
é agora uma escolha melhor.