Uvesafb un driver para framebuffer en ArchLinux

Por leprosys en 3/17/2009 ,
uvesafb es un driver genérico para framebuffer en sistemas Linux y el sucesor directo de vesafb-tng. Estas son las características principales:
  • Trabaja en sistemas no-x86
  • El código de vídeo de la BIOS corre en el espacio de usuario para ayudar a las aplicaciones
  • Puede compilarse como un modulo
  • Ajustar la tabla de refresco con tarjetas gráficas VBE 3.0-compliant

Sitio oficial: Dev Gentoo

Instalando Uvesafb en ArchLinux:

1. Quitar cualquier parámetro añadido al menú del grub.
El parámetro vga= fuerza a que cargue la vieja vesafb, el parámetro video= no se usa porque uvesafb es compilada y añadido como un modulo (como en el kernel de reserva de Archlinux).

2. Instalar v86d
El paquete se encuentra en los repositorios de extra, por lo que pueden instalarlo con pacman:
pacman -S v86d


3. Las opciones para Uvesafb
Para modificar las opciones y poner la resolución que queremos como la tasa de refresco hay que modificar el archivo: /etc/modprobe.d/uvesafb verán comentadas las opciones que podemos ocupar.

#
# This file sets the parameters for uvesafb module.
# The following format should be used:
# options uvesafb mode=<xres>x<yres>[-<bpp>][@<refresh>] scroll=<ywrap|ypan|redraw> ...
#
# For more details see:
# http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/fb/uvesafb.txt
#

options uvesafb mode_option=1280x800-32 scroll=ywrap


Nota: Si funcionada bien hasta acá, no deben continuar con los siguiente pasos.

4. Uvesafb y 915resolution.
Para los que tenemos laptops con un chipset intel de vídeo con widescreen son entendido ya lo que representa tener una buggish BIOS, las cuales no soportan las resoluciones nativas de widescreen, por esta razón 915resolution fue creado. Lo interesante es que se puede combinar uvesafb con 915resolution para tener un framebuffer con la resolución que deseemos y widescreen y poder disfrutar de los beneficios que significa trabajar des de una tty.

5. Instalar 915resolution-static
El paquete necesitamos instalarlo y lo podemos encontrar en AUR e instalarlo con es habitual con un makepkg y pacman. 915resolution-static

6. La resolución
Necesitamos editar el hook de 915resolution en orden para definir los modos en la BIOS y reemplazar con la resolución que queremos.

Pueden tener más información con:
915resolution -h


Entonce editamos /lib/initcpio/hooks/915resolution y modificamos las opciones para 915resolution

run_hook ()
{
msg -n ":: Patching the VBIOS..."
/usr/sbin/915resolution 5c 1280 800
msg "done."
}


5c es el código de los modos de la BIOS, así que hay que reemplazarlo con el que tenemos, para eso ocupamos el comando "915resolution -l"

7. Lista de Hooks.
Agregamos los hooks de 915resolution y v86d en la sección HOOKS de mkinitcpio.conf

HOOKS="base udev 915resolution v86d ..."


8. Finalizando.
Regeneramos el initcpio (por ejemplo mkinitcpio -p kernel26), reiniciamos y disfrutamos de nuestro framebuffer widescreen.


Vía | ArchLinux Wiki

Back Top