Uvesafb

From Funtoo
Revision as of 16:42, July 12, 2014 by Duncan.britton (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

How to : Framebuffer: Userspace VESA VGA graphics support

Uvesafb is an improved framebuffer driver for Linux systems with some enhancements compared to vesa. Uvesafb can allow you to get a full-resolution console, even if you have installed a graphics driver that does not support full-resolution consoles. Examples of drivers like these: ati-drivers and NVidia-drivers.

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
   Note
Build the kernel, do not install the kernel and modules. You can choose uvesafb as a module, unlike vesa.

Klibc

Next, we emerge No results:

root # emerge klibc

This step is necessary because klibc has to be compiled against a kernel that includes uvesafb. You need to do it only once.

v86d

No results is the userspace helper that runs x86 code in emulated environment. Uvesafb will not work without v86d. Now, we emerge v86d:

root # emerge v86d

Back to kernel configuration

Reconfigure the kernel:

General Setup->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs)    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:

root # boot-update

and then run:

root # reboot

and enjoy uvesafb!