Difference between pages "Uvesafb" and "Package:Eix"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
m (Changed the wording of a few sections of the page.)
 
m (Removed unnecessary space from the top of the page.)
 
Line 1: Line 1:
== ''How to'' : Framebuffer: Userspace VESA VGA graphics support ==
{{Ebuild
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, such as [[Package:AMD_Catalyst_Video_Drivers| ati-drivers]] or NVidia-drivers.
|Summary=A command to search and query ebuilds, portage including local settings, overlays, version changes, and more.
 
|CatPkg=app-portage/eix
== Kernel configuration ==
|Maintainer=
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
}}
}}
 
== Install ==
{{Note|Build the kernel {{c|make}} from the kernel sources directory ({{c|/usr/src/linux}}, but do not install the kernel and modules ({{c|make install modules_install}}). You can choose uvesafb as a module, unlike vesa.}}
To install eix, emerge it:
== 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|body=
{{console|body=
###i## emerge klibc
###i## emerge eix
}}
}}
After {{c|klibc}} has been installed, the userspace helper, {{Package|sys-apps/v86d}}, can be installed. Uvesafb will not work without {{c|v86d}}:
=== Update ===
To include your layman repositories for synchronization:
{{console|body=###i## echo "*" >> /etc/eix-sync.conf }}
Update eix by running:
{{console|body=###i## eix-update}}
== Use ==
The basic usage of eix is simply using its name as a prefix to the package you are looking for:
{{console|body=###i## eix foo}}
This will give you a fairly verbose list of packages containing the term 'foo' in their name. It gives you information about which versions are available, whether they are stable, current or live, a description of the package and a list of the USE flags '''for all the packages combined''' - sometimes different versions of packages have different USE flags so you may need to check which a specific package contains with equery.
=== More detailed example ===
Suppose that you are interested in learning about the various available kernels in Portage. Eix can help with that. By running the following command, you will find the answer that you are looking for:
{{console|body=
{{console|body=
###i## emerge v86d
###i## eix -# sys-kernel/
}}
}}
== Back to kernel configuration ==
To receive more information in the output, add the {{c|-c}} argument when you run eix:
Reconfigure the kernel to include {{c|/usr/share/v86d/initramfs}} as an initramfs source file:
{{console|body=
{{Kernelop|title=|desc=
###i## eix -c sys-kernel/
General Setup--->
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
    (/usr/share/v86d/initramfs)    Initramfs source file(s)
}}
}}
After building in {{c|/usr/share/v86d/initramfs}} as an initramfs file in the kernel, rebuild your kernel sources ({{c|make}}) and install the newly compiled kernel and its modules ({{c|make install modules_install}}).
=== Showing what you have installed ===
== Bootloader configuration ==
 
If you compiled uvesafb into the kernel (not as a module), you can configure its behavior by editing the {{c|params +=}} line in {{c|/etc/boot.conf}}. Below, some of the more common arguments used with uvesafb are explained:
A handy feature of eix is the ability to quickly show you which packages you have installed on your system.  
* <code>video=uvesafb:<screen y-res>x<screen x-res>-<color depth></code>: 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 screen resolution, and color depth. Set the first part to the size of your screen (in pixels) and the second part to the color depth of your screen (most monitors now have a depth of 32). For example, if I had a 1920x1080 screen and a color depth of 32, I would add the following: <code>video=uvesafb:1920x1080-32</code>
<console>###i## eix-installed all </console>
This will output all the packages you have explicitly installed along with the version number. There are other options to get more specific information with this command so check the man page for details.  


* {{c|mtrr:x}}: 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. {{c|mtrr:3}} is recommended.
This can be handy for when you do backups of your system, the list could be sent to a file before you run rsync:  
<console>###i## eix-installed all > ~/installed_list.txt </console>


* {{c|ywrap}}: Add support for display panning. Recommended.
=== Searching other overlays ===


{{Tip|For more information regarding these arguments, check out http://www.mjmwired.net/kernel/Documentation/fb/uvesafb.txt}}
It is possible search in more than just the main portage tree and your local overlay. By using the <b><code>eix-remote</code></b> command you can configure eix to load, update and search multiple external overlays.  


Now that you have a basic understanding of a few of the different arguments, you can configure your {{c|/etc/boot.conf}} to allow booting with the uvesafb framebuffer:
To add the list of external overlays to eix:  
<console>###i## eix-remote update
###i## eix-sync </console>


{{file|name=/etc/boot.conf|desc= |body=
Now you are ready to search for packages inside the main funtoo portage tree and in all the third party overlays by using the <b><code>-R</code></b> option:  
boot {
<console>###i## eix -R foo  </console>
        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 {{c|/etc/boot.conf}}, run the following:
This is will give you a list of all the packages and versions, as well as telling you which overlay they belong to. Once you have found something you want to emerge you can add the overlay, with either <console>###i## layman -a [overlay_name] </console> or by using  <b><code>eix-layman</code></b>, and then just emerge the package in the normal way.
{{console|body=
{{PageNeedsUpdates}}
###i## boot-update
}}
Finally, reboot your computer so that you can test out uvesafb:
{{console|body=
###i## reboot
}}


[[Category:HOWTO]]
{{EbuildFooter}}

Revision as of 16:23, June 30, 2015

Eix

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Install

To install eix, emerge it:

root # emerge eix

Update

To include your layman repositories for synchronization:

root # echo "*" >> /etc/eix-sync.conf

Update eix by running:

root # eix-update

Use

The basic usage of eix is simply using its name as a prefix to the package you are looking for:

root # eix foo

This will give you a fairly verbose list of packages containing the term 'foo' in their name. It gives you information about which versions are available, whether they are stable, current or live, a description of the package and a list of the USE flags for all the packages combined - sometimes different versions of packages have different USE flags so you may need to check which a specific package contains with equery.

More detailed example

Suppose that you are interested in learning about the various available kernels in Portage. Eix can help with that. By running the following command, you will find the answer that you are looking for:

root # eix -# sys-kernel/

To receive more information in the output, add the -c argument when you run eix:

root # eix -c sys-kernel/

Showing what you have installed

A handy feature of eix is the ability to quickly show you which packages you have installed on your system.

root # eix-installed all 

This will output all the packages you have explicitly installed along with the version number. There are other options to get more specific information with this command so check the man page for details.

This can be handy for when you do backups of your system, the list could be sent to a file before you run rsync:

root # eix-installed all > ~/installed_list.txt 

Searching other overlays

It is possible search in more than just the main portage tree and your local overlay. By using the eix-remote command you can configure eix to load, update and search multiple external overlays.

To add the list of external overlays to eix:

root # eix-remote update 
root # eix-sync 

Now you are ready to search for packages inside the main funtoo portage tree and in all the third party overlays by using the -R option:

root # eix -R foo  
This is will give you a list of all the packages and versions, as well as telling you which overlay they belong to. Once you have found something you want to emerge you can add the overlay, with either
root # layman -a [overlay_name] 
or by using eix-layman, and then just emerge the package in the normal way.