Difference between revisions of "Uvesafb"

From Funtoo
Jump to: navigation, search
(Undo revision 2076 by Duncan.Britton (talk))
(Kernel configuration)
(13 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
=Kernel configuration=
 
=Kernel configuration=
  
<pre>Device Drivers ->
+
{{Kernelop
 +
| <br> |<pre>
 +
Device Drivers ->
 
     <*> Connector - unified userspace <-> kernelspace linker  --->
 
     <*> Connector - unified userspace <-> kernelspace linker  --->
 
     Graphics support ->
 
     Graphics support ->
Line 13: Line 15:
 
             Frame buffer hardware drivers
 
             Frame buffer hardware drivers
 
             [*] Userspace VESA VGA graphics support
 
             [*] Userspace VESA VGA graphics support
 +
</pre>}}
  
CONFIG_CONNECTOR=y
+
{{fancynote| Build the kernel, do not install the kernel and modules. You can choose uvesafb as a module, unlike vesa.}}
CONFIG_FB_UVESA=y
+
</pre>
+
  
Build the kernel, do not install the kernel and modules. Note, that you can choose uvesafb as module, unlike vesa. 
+
== Klibc ==
  
=Klibc=
+
Next, we emerge {{Package|dev-libs/klibc}}:
 +
<console>
 +
###i## emerge klibc
 +
</console>
 +
This step is necessary because klibc has to be compiled against a kernel that includes uvesafb. You need to do it only once.
  
{{root|emerge klibc}}
+
== v86d ==
 +
{{Package|sys-apps/v86d}} is the userspace helper that runs x86 code in emulated environment. Uvesafb will not work without v86d. Now, we emerge <code>v86d</code>:
 +
<console>
 +
###i## emerge v86d
 +
</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.
+
== Back to kernel configuration ==
 +
Reconfigure the kernel:
 +
{{Kernelop
 +
| <br> |<pre>
 +
General Setup->
 +
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 +
(/usr/share/v86d/initramfs)    Initramfs source file(s)
 +
</pre>}}
 +
Rebuild the kernel: make and install it, install the modules
  
=v86d=
+
== Bootloader configuration ==
<code>v86d</code> is the userspace helper that runs an x86 code in emulated environment. uvesafb will not work without v86d.
+
 
+
{{root|emerge v86d}}
+
 
+
=Back to kernel configuration=
+
Reconfigure the kernel
+
<pre>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"</pre>
+
 
+
rebuild the kernel: make and install it, install the modules
+
 
+
=Bootloader configuration=
+
 
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>
  
<pre>boot {
+
{{File
 +
|/etc/boot.conf|<pre>
 +
boot {
 
         generate grub
 
         generate grub
 
         default "Funtoo Linux uvesafb"  
 
         default "Funtoo Linux uvesafb"  
Line 53: Line 56:
 
         kernel bzImage-uvesafb[-v]
 
         kernel bzImage-uvesafb[-v]
 
         params += video=uvesafb:1440x900-32,mtrr:3,ywrap
 
         params += video=uvesafb:1440x900-32,mtrr:3,ywrap
}</pre>
+
}
 +
</pre>}}
  
Then run  
+
Then run:
{{root|boot-update}}
+
<console>
and  
+
###i## boot-update
{{root|reboot}}
+
</console>
 +
and then run:
 +
<console>
 +
###i## reboot
 +
</console>
 
and enjoy uvesafb!
 
and enjoy uvesafb!
 +
 +
 
[[Category:HOWTO]]
 
[[Category:HOWTO]]

Revision as of 14:10, 31 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


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:

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


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!