Difference between revisions of "Uvesafb"

(Kernel configuration)
Line 4: Line 4:
  
 
{{Kernelop
 
{{Kernelop
| <br> |<pre>
+
|title=
 +
|desc=
 
Device Drivers ->
 
Device Drivers ->
 
     <*> Connector - unified userspace <-> kernelspace linker  --->
 
     <*> Connector - unified userspace <-> kernelspace linker  --->
Line 15: Line 16:
 
             Frame buffer hardware drivers
 
             Frame buffer hardware drivers
 
             [*] Userspace VESA VGA graphics support
 
             [*] Userspace VESA VGA graphics support
</pre>}}
+
}}
  
 
{{fancynote| Build the kernel, do not install the kernel and modules. You can choose uvesafb as a module, unlike vesa.}}  
 
{{fancynote| Build the kernel, do not install the kernel and modules. You can choose uvesafb as a module, unlike vesa.}}  
Line 36: Line 37:
 
Reconfigure the kernel:
 
Reconfigure the kernel:
 
{{Kernelop
 
{{Kernelop
| <br> |<pre>
+
|title=
 +
|desc=
 
General Setup->
 
General Setup->
 
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 
(/usr/share/v86d/initramfs)    Initramfs source file(s)
 
(/usr/share/v86d/initramfs)    Initramfs source file(s)
</pre>}}
+
}}
 
Rebuild the kernel: make and install it, install the modules
 
Rebuild the kernel: make and install it, install the modules
  
Line 46: Line 48:
 
add <code>video=uvesafb:1440x900-32,mtrr:3,ywrap</code> (or similar) to your kernel command line, like in example <code>boot.conf</code>
 
add <code>video=uvesafb:1440x900-32,mtrr:3,ywrap</code> (or similar) to your kernel command line, like in example <code>boot.conf</code>
  
{{File
+
<pre>
|/etc/boot.conf|<pre>
+
 
boot {
 
boot {
 
         generate grub
 
         generate grub
Line 57: Line 58:
 
         params += video=uvesafb:1440x900-32,mtrr:3,ywrap
 
         params += video=uvesafb:1440x900-32,mtrr:3,ywrap
 
}
 
}
</pre>}}
+
</pre>
  
 
Then run:
 
Then run:

Revision as of 00:26, February 19, 2014

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

Note

Build the kernel, do not install the kernel and modules. You can choose uvesafb as a module, unlike vesa.

Klibc

Next, we emerge dev-libs/klibc (package not on wiki - please add):

# 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

sys-apps/v86d (package not on wiki - please add) is the userspace helper that runs x86 code in emulated environment. Uvesafb will not work without v86d. Now, we emerge v86d:

# 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:

# boot-update

and then run:

# reboot

and enjoy uvesafb!