|
|
Line 1: |
Line 1: |
| == ''How to'' : Framebuffer: Userspace VESA VGA graphics support ==
| | On my AMD Jaguar build server, on Feb 20, 2015, this lists all the builds that {{c|buildrepo}} has been configured to manage. The first number on each line is a '''failcount''', which is the number of consecutive times that the build has failed. A zero value indicates that everything's okay. The failcount is an important feature of the advanced repository management features. Here are a number of behaviors that are implemented based on failcount: |
| 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: [[Package:AMD_Catalyst_Video_Drivers| ati-drivers]] and NVidia-drivers.
| |
| | |
| == Kernel configuration ==
| |
| Before we emerge the required packages for uvesafb functionality, we have to configure the kernel properly.
| |
| {{Kernelop|title= |desc=
| |
| 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
| |
| }}
| |
| | |
| {{Note|Build the kernel (<tt>make</tt>), do not install the kernel and modules (<tt> make install modules_install</tt>). You can choose uvesafb as a module, unlike vesa.}}
| |
| | |
| == Install required packages ==
| |
| | |
| Emerge {{Package|dev-libs/klibc}}. Klibc has to be compiled against a kernel that includes uvesafb support. This only has to be done once:
| |
| <console>
| |
| ###i## emerge klibc
| |
| </console>
| |
| {{Package|sys-apps/v86d}} is the userspace helper that runs x86 code in emulated environment. Uvesafb will not work without v86d. Emerge <code>v86d</code>:
| |
| <console>
| |
| ###i## emerge v86d
| |
| </console>
| |
| | |
| == Back to kernel configuration ==
| |
| Reconfigure the kernel to include <tt>/usr/share/v86d/initramfs</tt> as an initramfs source file:
| |
| {{Kernelop
| |
| |title=
| |
| |desc=
| |
| 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 ==
| |
| If you compiled uvesafb into the kernel (not as a module), you can configure its behavior by editing the '<tt>params += </tt>' line in <tt>/etc/boot.conf</tt>. Below, some of the more common switches used with uvesafb are explained.
| |
| * <tt>video=uvesafb:<screen y-res>x<screen x-res>-<color depth></tt>: Tells the kernel that you want to use the uvesafb driver for console output. Also specifies that you will be using uvesafb at a set x-screen resolution, y screen-resolution, and color depth. Set the first part to the size of your screen (in pixels). For example, if I had a 1920x1080 screen and wanted a color depth of 32, I would add the following: <tt>video=uvesafb:1920x1080-32</tt>
| |
| | |
| * <tt>mtrr:x</tt>: X represents the number 0 or 3. This option allows you to set up the memory type range registers for uvesafb. Setting x=0 disables mtrr and setting x=3 enables mtrr. x=3 is the default setting for this switch. mtrr:3 is recommended.
| |
| | |
| * <tt>ywrap</tt>: Add support for display panning. Recommended.
| |
| | |
| {{Tip|For more information regarding these switches, check out http://www.mjmwired.net/kernel/Documentation/fb/uvesafb.txt}}
| |
| | |
| Now that you have a basic understanding of a few of the different switches, configure your <tt>/etc/boot.conf</tt>:
| |
| | |
| {{file|name=/etc/boot.conf|desc= |body=
| |
| boot {
| |
| generate grub
| |
| default "Funtoo Linux: uvesafb"
| |
| timeout 3
| |
| }
| |
| "Funtoo Linux: uvesafb" {
| |
| kernel bzImage[-v]
| |
| params += video=uvesafb:1920x1080-32,mtrr:3,ywrap
| |
| }
| |
| }}
| |
| {{Note|Realize that the configuration in the above file will not work on every computer. You must change the resolution (and possibly other switches) to best suite your needs.}}
| |
| | |
| After you have finished editing your <tt>/etc/boot.conf</tt>, run the following:
| |
| <console>
| |
| ###i## boot-update
| |
| </console>
| |
| finally, reboot your computer so that you can test out uvesafb:
| |
| <console>
| |
| ###i## reboot
| |
| </console>
| |
| | |
| [[Category:HOWTO]]
| |