Activando Framebuffer en Linux
Nota: de nuevo un tutorial raro, que tal vez a pocos le importa. Lo siento.
Esta receta la aprendí configurando mi Gentoo pero bien podría aplicarse a cualquier otra distribución. La idea es activar el soporte para Framebuffer, el cual permite al kernel mostrar gráficos en consolas de texto. Además sirve para otras cosas, como ejecutar servidores X sin aceleración o reproducir videos en la consola (en ASCII, por supuesto).
El tutorial tiene además un valor didáctico que me gusta, ya que vamos a tocar cosas en el Kernel, algo bastante interesante.
Ventajas
Las ventajas de hacer esto, y por lo que yo lo hice, son:
- Te proporciona una muy bonita consola (de hasta 128 colores + más de 48 líneas con 1280×800, al menos en mi laptop) cuando estás trabajando sobre las TTY (sin entornos gráficos).
- Te pone el logo de Linux mientras carga el sistema, una maravilla. Los que usen usplash se reirán de mi, pero bueno, prefiero el pingüino y saber que está pasando cuando mi sistema inicia.
Compilando el kernel con las opciones adecuadas
emerge gentoo-sources; en otras distros, descargar las fuentes directamente de la página oficial, copiar y descomprimir el archivo en la carpeta /usr/src.En este punto, he de suponer que tienes algo de experiencia con el kernel. Sino, estás de suerte porque me gusta explicar todo muy bien. Lo primero es abrir una consola y situarnos en el directorio donde tengamos las fuentes de Linux, y posteriormente ejecutamos la herramienta de configuración del Kernel:
# make menuconfig
Una vez hecho esto, debemos activar algunas opciones (dentro de Device Drivers):
(*) Graphics Support
(*) Enable firmware EDID
(*) Support for Frame buffer devices
(*) VESA VGA graphics support
(*) Console display support
(*) Video mode selection support
(*) Frame buffer console support
(*) Logo Configuration
(*) Bootup logo
Ten en cuenta que deben estar compilados dentro del kernel (*) y no como módulos (M). Una vez que hayamos configurado correctamente nuestro kernel, lo compilamos y copiamos al directorio /boot, por ejemplo:
# cp arch/x86/boot/bzImage /boor/el-nombre-de-tu-kernel <- copiamos la imagen del kernel al sector del boot
Identificar qué resoluciones podemos usar con Framebuffer
Para identificar qué resolución es la más adecuada para nuestro equipo, lo más sencillo es instalar la herramienta hwinfo (si no la tienes ya instalada):
En Gentoo:
En Arch:
En Fedora:
Una vez instalado, ejecutas el comando:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.447]
Unique ID: rdCR.BCD4SQrtey2
Hardware Class: framebuffer
Model: “NVIDIA G86 Board – e416h01c”
Vendor: “NVIDIA Corporation”
Device: “G86 Board – e416h01c”
SubVendor: “NVIDIA”
SubDevice:
Revision: “Chip Rev”
Memory Size: 14 MB
Memory Range: 0xcd000000-0xcddfffff (rw)
Mode 0×0300: 640×400 (+640), 8 bits
Mode 0×0361: 1280×800 (+5120), 24 bits [YO SELECCIONÉ ESTE]
Mode 0×037d: 1920×1200 (+7680), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
Lo que tienes que hacer es identificar el valor del Mode; en mi caso es 0×0361…
Configurando el GRUB
Una vez identificado el valor del Mode, no queda más que pasarle a nuestro kernel las opciones adecuadas. Abrimos con nuestro editor de texto favorito el archivo /boot/grub/menu.lst, y añadimos el parámetro vga=modo al final de la línea del kernel. Por ejemplo, en mi caso luce así:
title Gentoo root (hd0,9) kernel /boot/kernel root=/dev/sda10 vga=0x0361
¡Reiniciamos, y listo!
7 Comentarios | deja el tuyo



Tambien puedes ver videos usando mplayer con el framebuffer
.
Saludos.
PD: Sorry por no acentuar, no puedo.
Ummm, todo un honor que comentes aquí. Recuerdo que eras uno de mis ídolos (no exagero) cuando comencé a interesarme por Linux; tiempos aquellos en los foros de elhacker.net.
Un saludo!
Lo bueno que era, ahora seguramente, te ríes de mi
. Me paso seguido por tu blog, aunque no comento (muy bueno, por cierto)..
Yo tengo Fedora y el paquete hwinfo no se encuentra en los repositorios. Supongo que habrá alguno equivalente…
Hola Pau, existe un tarball que puedes usar:
http://aur.archlinux.org/packages/hwinfo/hwinfo/
@soullost, no creo, esas cosas no se olvidan.
Un saludo.
Buenas amigo, consegui tu pagina por casualidad y veo que usas mucho el gentoo, yo he usado Fedora 7 y Ubuntu la ultima, pero me gustaria probar esa distro, podrias recomendarme alguna pagina para iniciarme en esa distro?, osea instalación, diferencia con otras distro, repositorios, etc, etc.
Gracias y sigue asi muy interesantes tus post…
Hola Juan,
Qué bueno que estés interesado en extender tus conocimientos, Gentoo es una distro maravillosa y aprenderás bastante. En cuanto a documentación, no existe sitio más completo que la propia página de Gentoo (www.gentoo.org). Allí encontrarás toda clase de información, incluyendo por supuesto los pasos para la instalación (en español).
Un saludo y mucha suerte.