Revision as of 14:09, January 9, 2014 by Duncan.Britton (Talk) (Undo revision 2076 by Duncan.Britton (talk))

How to : Framebuffer: Userspace VESA VGA graphics support

Uvesafb is an improved framebuffer driver for Linux systems with some enhancements compared to vesa.

Kernel configuration

Device Drivers ->
    <*> Connector - unified userspace <-> kernelspace linker  --->
    Graphics support ->
        [*] Support for frame buffer devices  --->
            [*] Enable firmware EDID
            Console display driver support ->
                [*] Video mode selection support
                [*] Video mode handling helpers
            Frame buffer hardware drivers
            [*] Userspace VESA VGA graphics support


Build the kernel, do not install the kernel and modules. Note, that you can choose uvesafb as module, unlike vesa.


emerge klibc

This step is necessary because klibc has to be compiled against a kernel that includes uvesafb, you need to do it once, if you planning to update the kernel anytime.


v86d is the userspace helper that runs an x86 code in emulated environment. uvesafb will not work without v86d.

emerge v86d

Back to kernel configuration

Reconfigure the kernel

General Setup->
(*)Initial RAM filesystem and RAM disk (initramfs/initrd) support

and use /usr/share/v86d/initramfs in Initramfs source file(s)


rebuild the kernel: make and install it, install the modules

Bootloader configuration

add video=uvesafb:1440x900-32,mtrr:3,ywrap (or similar) to your kernel command line, like in example boot.conf

boot {
        generate grub
        default "Funtoo Linux uvesafb" 
        timeout 3 
  "Funtoo Linux uvesafb" { 
        kernel bzImage-uvesafb[-v]
        params += video=uvesafb:1440x900-32,mtrr:3,ywrap

Then run


and enjoy uvesafb!