Difference between pages "Creating Profiles" and "Package:AMD Catalyst Video Drivers"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
Want to create your own custom profiles? Thought up a mix-in that's not currently in the Funtoo profiles? Have an overlay with profiles and want to make it easy for people to use them? Well you've come to the right place. This article will show you how to easily add you own profiles. No more ugly hacking of parent files and other nonsense. Once you follow this guide, not only will portage easily recognize your profiles, they will also show up in eselect right along with the ones from the main tree.
{{Ebuild
|Summary=Accelerated ATI/AMD binary drivers for Radeon HD 5000 and newer chipsets.
|CatPkg=x11-drivers/ati-drivers
|Maintainer=Drobbins
|Homepage=
|Repository=Funtoo Overlay
|Overlay=Funtoo
}}
== Introduction ==


== Rules to follow ==
<tt>x11-drivers/ati-drivers</tt> (often referred to as "<tt>fglrx</tt>", the name of its kernel module) is the proprietary, accelerated driver for AMD (ATI) graphics cards.  
* What your system need:
** The version of [[Package:Eselect|eselect]] that supports Funtoo profiles (already integrated into Funtoo Linux)
* What your overlay need:
** Directory <code><overlay_name>/profiles</code>: store your profiles in it.
** File <code><overlay_name>/profiles/repo_name</code>: store the name of your overlay
** File <code><overlay_name>/profiles/profiles.eselect.desc</code>: see <code>profiles.eselect.example</code> in your Funtoo portage tree for instruction.
** If you're creating profiles of types arch, build, flavor, or mix-ins, your profile must be inside a directory with same name, such as <code><overlay_name>/profiles/<profile_name>/flavor/<flavor_name></code>, <code><overlay_name>/profiles/<profile_name>/mix-ins/<mix-ins_name></code>


{{note | Currently, <tt>NoMix</tt> (see <code>profiles.eselect.example</code> in the Funtoo portage tree) is only supported for profiles in the same tree.}}
== Preparing to Install ==


Also:
=== Mask xorg > 1.16 ===


{{note | If you are not using a standard Funtoo portage tree, you must ensure that your main portage tree has <pre> profile-formats = portage-2 </pre> set in <code>metadata/layout.conf</code> in order for portage to interpret the <code><repo_name>:<profile></code> syntax.}}
This package doesn't work with the latest unmasked version of xorg-server (1.16). However, xorg-server-1.15 works just fine, so it's easy enough to fix this. Add the following to <code>/etc/portage/package.mask</code>:


==An Example==
{{File|name=/etc/portage/package.mask|body=
* For our example, we will create a local overlay called <b>fake_overlay</b>. Then, create a profile called <b>fake_profile</b>. Finally, create a 'mix-ins' profile called <b>fake_mix-ins</b>:
>=x11-base/xorg-server-1.16
** Set the <code>dummy</code> USE flag globally for <b>fake_mix-ins</b>
}}
** Set the <code>yummy</code> USE flag on <code>sys-apps/not-exist</code> for <b>fake_mix-ins</b>
 
If X is already installed, force it to downgrade by typing:


We will then add this profile to [[Package:Eselect|eselect]] so it's visible when running:
<console>
<console>
###i## eselect profile
# ##i##emerge -auDN world
</console>
</console>


=== Creating the profile ===
A few packages will downgrade, and you'll be ready to go.
==== Step 1 ====
 
We will use <code>${FAKE_OVERLAY}</code>as the path to <b>fake_overlay</b>.These instructions assume the overlay exists.
=== Configuring the kernel ===
If you haven't set a name for your overlay, do that first:
 
Configure the kernel as follows. Note that the Direct Rendering Manager is '''not''' enabled. It's possible to have it selected as a kernel module, but should not be built-in to your kernel.
 
{{kernelop|desc=
[*] Enable loadable module support
Processor type and features --->
      [*] MTRR (Memory Type Range Register) support
Bus options (PCI etc.) --->
      [*] PCI Express Port Bus Support
      [*] Message Signaled Interrupts (MSI and MSI-X)
Device Drivers --->
      Graphics support --->
            < > Direct Rendering Manager (xFree86 4.1.0 and higher DRI support) --->
}}
 
{{note|If you need support for AGP cards, enable the following kernel options:}}
{{kernelop|desc=
Device Drivers --->
      Graphics support --->
            <*> /dev/agpgart (AGP Support) --->
                  Select an appropriate AGP driver:
                  <*> AMD Opteron/Athlon64 on-CPU GART support
}}
 
=== Editing make.conf ===
 
Add the following to your <code>/etc/make.conf</code>:
<console>
<console>
###i## echo "fake_overlay" > ${FAKE_OVERLAY}/profiles/repo_name
# ##i##nano /etc/make.conf
VIDEO_CARDS="fglrx"
</console>
</console>
=== Editing package.use ===


==== Step 2 ====
Then, add the following to <code>/etc/portage/package.use</code>:
Next lets create a directory to store our profile. Since we're creating a 'mix-ins' profile, we need to make sure our profile is inside a 'mix-ins' subdirectory. This is a requirement in order to ensure that the profile will show up in eselect. If your not planning on using [[Package:Eselect|eselect]] then there's no requirement to use 'mix-ins'
<console>
<console>
###i## install -d ${FAKE_OVERLAY}/profiles/fake_profile/mix-ins/fake_pro
###i## nano /etc/portage/package.use
x11-drivers/ati-drivers qt4
</console>
</console>
{{note|Feel free to add or remove use flags as you see fit. For example, if you do not want amdcccle support, remove the qt4 use flag.}}
== Installing ==


Now that we have a directory for our profile, lets go ahead and add our settings. Global USE settings go in <code>make.defaults</code>, package specific USE settings go in <code>package.use</code>:
=== Emerging the package ===
To emerge the drivers, run the following command:
<console>
###i## emerge -av --changed-use --deep @world
</console>
 
== Configuring ==


Next, set ati-drivers to manage the system's OpenGL and OpenCL implementations:
<console>
<console>
###i## cd ${FAKE_OVERLAY}/profiles/fake_profile/mix-ins/fake_pro
###i## eselect opengl set ati
###i## echo 'USE="$USE dummy"' >> make.defaults
###i## eselect opencl set amd
###i## echo 'sys-apps/not-exist yummy' >> package.use
</console>
</console>


{{note | No matter if your using funtoo or gentoo, profile settings all work the same. For more information please check the portage man page.}}
Afterwards, run <code>aticonfig</code> to modify the X-server configuration file to work with the ati-drivers:
<console>
###i## aticonfig --initial
</console>


=== Adding to eselect ===
{{tip|If you would like to have a full-resolution framebuffer with ati-drivers, check out [[uvesafb| uvesafb]]}}
[[Package:Eselect|eselect]] reads from the file <code>profiles.eselect.desc</code> in your profiles directory.


Format is:
== Troubleshooting ==
<pre>
=== I am using a HDMI connection, and my monitor's display has a black border around it. ===
Type Name Status NoMix
Disable overscan using the following command, as root:
</pre>
 
{{note | For more information about this Format, Please look in <code>/usr/portage/profiles/profiles.eselect.example</code>}}


<console>
<console>
###i## echo 'mix-ins fake_profile/mix-ins/fake_pro testing' >> ${FAKE_OVERLAY}/profiles/profiles.eselect.desc
# ##i##aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
</console>
</console>


Watch the result:
You may need to restart your X session.
 
=== GNOME 3 windows only refresh when I drag them. ===
This is a known issue, reported in [http://bugs.funtoo.org/browse/FL-1130 Funtoo Bug 1130]. This issue has been fixed by addressing a bug in cogl -- upgrade to cogl-1.12.2-r2 to fix it.
 
=== Compton with backend glx does not work well with ati-drivers ===
Try running compton with the following switches:
<console>
<console>
###i## eselect profile list
###i## compton --backend glx --vsync none --paint-on-overlay
</console>
</console>


[[Category:Portage]]
[[Category:Video Cards]]
[[Category:Labs]]
[[Category:First Steps]]
[[Category:HOWTO]]
{{EbuildFooter}}
[[Category:Featured]]

Revision as of 23:26, October 31, 2014

AMD Catalyst Video Drivers

   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.

Introduction

x11-drivers/ati-drivers (often referred to as "fglrx", the name of its kernel module) is the proprietary, accelerated driver for AMD (ATI) graphics cards.

Preparing to Install

Mask xorg > 1.16

This package doesn't work with the latest unmasked version of xorg-server (1.16). However, xorg-server-1.15 works just fine, so it's easy enough to fix this. Add the following to /etc/portage/package.mask:

   /etc/portage/package.mask
>=x11-base/xorg-server-1.16

If X is already installed, force it to downgrade by typing:

root # emerge -auDN world

A few packages will downgrade, and you'll be ready to go.

Configuring the kernel

Configure the kernel as follows. Note that the Direct Rendering Manager is not enabled. It's possible to have it selected as a kernel module, but should not be built-in to your kernel.


[*] Enable loadable module support
Processor type and features --->
      [*] MTRR (Memory Type Range Register) support
Bus options (PCI etc.) --->
      [*] PCI Express Port Bus Support
      [*] Message Signaled Interrupts (MSI and MSI-X)
Device Drivers --->
      Graphics support --->
            < > Direct Rendering Manager (xFree86 4.1.0 and higher DRI support) --->
   Note

If you need support for AGP cards, enable the following kernel options:

Device Drivers --->
      Graphics support --->
            <*> /dev/agpgart (AGP Support) --->
                  Select an appropriate AGP driver:
                  <*> AMD Opteron/Athlon64 on-CPU GART support

Editing make.conf

Add the following to your /etc/make.conf:

root # nano /etc/make.conf
VIDEO_CARDS="fglrx"

Editing package.use

Then, add the following to /etc/portage/package.use:

root # nano /etc/portage/package.use
x11-drivers/ati-drivers qt4
   Note

Feel free to add or remove use flags as you see fit. For example, if you do not want amdcccle support, remove the qt4 use flag.

Installing

Emerging the package

To emerge the drivers, run the following command:

root # emerge -av --changed-use --deep @world

Configuring

Next, set ati-drivers to manage the system's OpenGL and OpenCL implementations:

root # eselect opengl set ati
root # eselect opencl set amd

Afterwards, run aticonfig to modify the X-server configuration file to work with the ati-drivers:

root # aticonfig --initial
   Tip

If you would like to have a full-resolution framebuffer with ati-drivers, check out uvesafb

Troubleshooting

I am using a HDMI connection, and my monitor's display has a black border around it.

Disable overscan using the following command, as root:

root # aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

You may need to restart your X session.

GNOME 3 windows only refresh when I drag them.

This is a known issue, reported in Funtoo Bug 1130. This issue has been fixed by addressing a bug in cogl -- upgrade to cogl-1.12.2-r2 to fix it.

Compton with backend glx does not work well with ati-drivers

Try running compton with the following switches:

root # compton --backend glx --vsync none --paint-on-overlay