uvesafb

From Gentoo Wiki
Jump to: navigation, search

Resources

uvesafb is a framebuffer driver to use the VESA BIOS Extensions for changing display modes or display graphics on the console.

Installation

The uvesafb relies on kernel modules and the daemon sys-apps/v86d to change the resolutions and display. Prepare the system for the daemon by including kernel support.

Kernel

Activate the following kernel options:

KERNEL
Device Drivers  --->
   <*> Connector - unified userspace <-> kernelspace linker  --->
   Graphics support  --->
      Frame buffer Devices  --->
         [*] Support for frame buffer devices --->
            [*] Enable firmware EDID
            <*> Userspace VESA VGA graphics support

Emerge

Important
Before this step, the kernel needs to be built and the link in /usr/src/linux updated to point to the compiled kernel sources with uvesafb enabled.

Rebuild dev-libs/klibc and install sys-apps/v86d:

root #emerge --ask --oneshot --changed-use dev-libs/klibc
root #emerge --ask sys-apps/v86d

Initramfs inclusion

Once the installation is finished, you need to activate the following kernel options and then rebuild the initramfs:

KERNEL
General setup  --->
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
    (/usr/share/v86d/initramfs) Initramfs source file(s)

Use dracut, genkernel, or another initramfs generator of choice to rebuild the initramfs.

Configuration

Bootloader

Be sure the kernel command-line parameters are fixed in whatever bootloader loads the kernel.

GRUB2

For GRUB2 support:

In GRUB2 the parameters can be added to the variable GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.

CODE Kernel command-line
linux video=uvesafb:1024x768-32,mtrr:3,ywrap

Then run:

root #grub2-mkconfig -o /boot/grub2/grub.cfg

Usage

The resolution and behavior of uvesafb is set during boot, a full list of kernel parameters can be found online or in the local kernel documentation via /usr/src/linux/Documentation/fb/uvesafb.txt.

External resources