Package:Radeon Video Drivers

From Funtoo
Revision as of 18:22, January 27, 2017 by Oleg (talk | contribs)
Jump to navigation Jump to search

Radeon 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.

If you have become frustrated by the somewhat poorly maintained ati-drivers (the closed source video drivers for AMD cards) or if you would rather use open source video drivers, this is the package for you. This page outlines how to install and configure the open source xf86-video-ati drivers.

Preparation

Check to see if your card is an AMD card

If you do not know if you have an AMD graphics card or not, you can run the following command:

root # lspci | grep VGA

If the output produces information that contains something like "01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn PRO [Radeon HD 7850]," then you have an AMD graphics card and continue to the next step in the install process. If lspci does not provide you with something like this, and instead contains Intel or NVIDIA, consult the main Video page for information.

Preparing the kernel

Now that you know you have an AMD graphics card, you can prepare the kernel for xf86-video-ati. Begin by ensuring that MTRR is enabled, then enable support for AGP graphics cards (only necessary if your card sits in an AGP slot -- not a PCIe one). After enabling AGP (if you needed it), you should enable support for the DRM and modesetting on radeon.:

Processor type and features --->
    [*] MTRR (Memory Type Range Register) support

Device Drivers --->
    Graphics support --->
        (If you have an AGP-based graphics card, enable these options)
        <*> /dev/agpgart (AGP Support) --->
            <*> AMD Opteron/Athlon64 on-CPU GART support
        Direct Rendering Manager --->
            <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ----
            <*> ATI Radeon
        Frame buffer Devices --->
            < > ATI Radon display support

If you have a graphics cards with HDMI ports that you wish to use for audio, some additional configuration of the kernel is required:

Device Drivers --->
    <*> Sound card support --->
        <*> Advanced Linux Sound Architecture --->
            HD Audio --->
                <*>HD Audio PCI
                    (64) Pre-allocated buffer size for HD-audio drivers
                    <*> Build HDMI/DisplayPort HD-audio codec support
        [*] Dynamic device file minor numbers
        (32) Max number of sound cards

Getting the required firmware

Many newer AMD GPU's require that you install firmware for them to function. Install the package radeon-ucode (Radeon microcode) for this function:

root # emerge radeon-ucode

It is also possible to install Radeon microcode via the linux-firmware package, which contains the Radeon microcode plus a much larger selection of firmware for other types of devices:

root # emerge linux-firmware

Notice, that you need to choose either firmware package.

Installing the firmware into the kernel

Normally, when radeon compiled as module, during boot kernel will automatically load required firmware by using built-in firmware-loader. In specific case, when radeon drivers are compiled into kernel rather than a module, it make sense to compile firmware into kernel as well. To perform this steps, make sure that sys-linux/linux-firmware is emerged as shown above. Then, use following kernel configuration for including firmware blobs:

Device Drivers --->
  <*>  Generic Driver Options--->
        -*- Userspace firmware loading support --->
            [*] Include in-kernel firmware blobs in kernel binary
                (radeon/<YOUR-MODEL-NAME>.bin)
                (/lib/firmware) Firmware blobs root directory

Where, YOUR-MODEL-NAME>.bin is exact name of your video card's firmware blob name, such as TURKS_me.bin.

Eliminating screen tearing

With a compositor

Some machines will suffer from screen tearing with the open source xf86-video-ati driver. It is possible to solve this by running a compositor. Many desktop environments provide their own compositor but if you still have tearing or don't use a desktop environment then screen tearing can be solved by running Compton with an option such as --opengl.

In order to have this started automatically every time you log in you can append the following:

   ~/.xinitrc
compton --opengl &

Without a compositor

Screen tearing can be eliminated natively without the need to a compositor but currently this can only be achieved with the git version of xf86-video-ati. There was recently was a commit which, when the appropriate option has been enabled in your xorg configuration, enables tear free video playback natively.

You need to install x11-drivers/xf86-video-ati-9999 which can be obtained from the x11 overlay.

Then add the tearfree option to the xorg conf file:

   /etc/X11/xorg.conf.d/radeon.conf - An example conf file for the radeon driver
Section "Device"
   Identifier  "radeon"
   Driver      "radeon"
   Option      "TearFree" "true"
EndSection