Difference between revisions of "Uvesafb"

From Funtoo
Jump to: navigation, search
(Undo revision 2076 by Duncan.Britton (talk))
m (Added somme <console>'s)
Line 22: Line 22:
 
=Klibc=
 
=Klibc=
  
{{root|emerge klibc}}
+
<console>
 +
##i### emerge -av klibc
 +
</console>
  
 
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.
 
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.
Line 29: Line 31:
 
<code>v86d</code> is the userspace helper that runs an x86 code in emulated environment. uvesafb will not work without v86d.
 
<code>v86d</code> is the userspace helper that runs an x86 code in emulated environment. uvesafb will not work without v86d.
  
{{root|emerge v86d}}
+
<console>
 +
##i### emerge v86d
 +
</console>
  
 
=Back to kernel configuration=
 
=Back to kernel configuration=

Revision as of 14:12, 9 January 2014

Contents

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

CONFIG_CONNECTOR=y 
CONFIG_FB_UVESA=y

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

Klibc

# emerge -av 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

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)

CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"

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

boot-update


and

reboot


and enjoy uvesafb!