Difference between revisions of "Package:AMD Catalyst Video Drivers"

m
m (Updated some <code> and <tt> tags to {{c}} and {{f}} templates, changed some text.)
 
(29 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|Summary=Accelerated ATI/AMD binary drivers for Radeon HD 5000 and newer chipsets.
 
|Summary=Accelerated ATI/AMD binary drivers for Radeon HD 5000 and newer chipsets.
 
|CatPkg=x11-drivers/ati-drivers
 
|CatPkg=x11-drivers/ati-drivers
|Maintainer=Daniel Robbins,
+
|Maintainer=Drobbins
 +
|Homepage=
 
|Repository=Funtoo Overlay
 
|Repository=Funtoo Overlay
 
|Overlay=Funtoo
 
|Overlay=Funtoo
 
}}
 
}}
== Introduction ==
+
{{Important|Version 14.12-r3 and above now include ATI GLESv2 and EGL libraries, which should improve stabilty with GNOME.}}
  
<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.  
+
{{f|x11-drivers/ati-drivers}}, often referred to as "{{c|fglrx}}", the name of its kernel module, is the proprietary, accelerated driver for AMD (ATI) graphics cards.
 +
 
 +
=== Preparing to Install ===
 +
==== Default Kernel ====
 +
 
 +
If you are using the default kernel -- one like debian-sources that was built automatically, then you'll want to blacklist a few modules to prevent them from loading and interfering with the AMD Catalyst module. To avoid having the open source Radeon drivers automatically load and ruin your day, create a blacklist file as follows:
 +
 
 +
{{file|name=/etc/modprobe.d/radeon.conf|desc=Prevent open source DRM and radeon drivers from loading|body=
 +
blacklist radeon
 +
blacklist drm
 +
}}
 +
 
 +
==== Custom Kernel ====
 +
 
 +
If you are building a custom kernel, rather than blacklisting modules as above, you can simply ensure that the Direct Rendering Manager and in-kernel Radeon drivers are not enabled. If you do build them as modules, you will need to blacklist them as above. Also ensure that the following kernel options are enabled.
  
== Preparing to Install ==
 
=== Configuring the kernel ===
 
 
{{kernelop|desc=
 
{{kernelop|desc=
 
[*] Enable loadable module support
 
[*] Enable loadable module support
Line 24: Line 37:
 
}}
 
}}
  
{{fancynote| If you need support for AGP cards, enable the following kernel options:}}
+
{{note|If you need support for AGP cards, enable the following kernel options:}}
 
{{kernelop|desc=
 
{{kernelop|desc=
 
Device Drivers --->
 
Device Drivers --->
Line 35: Line 48:
 
=== Editing make.conf ===
 
=== Editing make.conf ===
  
Add the following to your <code>/etc/make.conf</code>:
+
Add the following to your {{f|/etc/make.conf}}. For more information on the meaning of the {{c|VIDEO_CARDS}} variable, see [[Video]]:
 
<console>
 
<console>
# ##i##nano /etc/make.conf
+
###i## nano /etc/make.conf
 +
...
 
VIDEO_CARDS="fglrx"
 
VIDEO_CARDS="fglrx"
 
</console>
 
</console>
  
=== Editing package.use ===
+
=== Enabling AMD Catalyst Control Center ===
  
Then, add the following to <code>/etc/portage/package.use</code>:
+
If you would like to built the {{c|amdcccle}} (Advanced Micro Devices Catalyst Control Center: Linux Edition), a GUI to configure the drivers, add the following to {{f|/etc/portage/package.use/ati-drivers}}:
 
<console>
 
<console>
###i## nano /etc/portage/package.use
+
###i## nano /etc/portage/package.use/ati-drivers
 +
...
 
x11-drivers/ati-drivers qt4
 
x11-drivers/ati-drivers qt4
 
</console>
 
</console>
Adding the <code>qt4</code> USE flag enables support for building of <tt>amdcccle</tt> (AMD Catalyst Control Center: Linux Edition).
 
  
== Installing ==
+
{{Note|If you are using a desktop or workstation profile, this USE flag may be enabled by default. Even if it is, adding it will not hurt anything.}}
  
 
=== Emerging the package ===
 
=== Emerging the package ===
To emerge the drivers, run the following command:
+
 
 +
If you allready have emerged xorg-server, all you need to install the drivers is running the following command:
 
<console>
 
<console>
 
###i## emerge -av --changed-use --deep @world
 
###i## emerge -av --changed-use --deep @world
 
</console>
 
</console>
  
== Configuring ==
+
Otherwise, you may install the drivers with:
 +
<console>
 +
###i## emerge -av x11-drivers/ati-drivers
 +
</console>
 +
 
 +
Before using the driver, ensure that the "fglrx" module has been loaded -- run {{c|modprobe fglrx}} as root  -- it should return with no error. If the module can't be found, run {{c|depmod -a}} as root -- then the modprobe command should work. If you are switching from the open source Radeon driver, then shutting down your desktop and rebooting your system (be sure to disable xdm) may be required to get the new "fglrx" module to load cleanly.
 +
 
 +
=== Configuring ===
 +
 
 +
Next, set ati-drivers to manage the system's OpenGL and OpenCL implementations.
 +
Doing this is particulary important for desktop environments like GNOME, which use hardware acceleration by default. Not doing this will result in the GNOME display manager not being able to start!
  
Next, set ati-drivers to manage the system's OpenGL implementation:
 
 
<console>
 
<console>
 
###i## eselect opengl set ati
 
###i## eselect opengl set ati
 +
###i## eselect opencl set amd
 
</console>
 
</console>
  
Afterwards, run <tt>aticonfig</tt> to modify the X-server configuration file to work with the ati-drivers:  
+
Afterwards, run <code>aticonfig</code> to modify the X-server configuration file to work with the ati-drivers:  
 
<console>
 
<console>
 
###i## aticonfig --initial
 
###i## aticonfig --initial
 
</console>
 
</console>
  
== Troubleshooting ==
+
{{tip|If you would like to have a full-resolution framebuffer with ati-drivers, check out [[uvesafb| uvesafb]]}}
  
=== I am using a HDMI connection, and my monitor's display has a black border around it. ===
+
=== Multi-Head Display ===
  
Disable overscan using the following command, as root:
+
There are a couple of options for setting up a multi-head display. For some systems, all you need to do is plug in your additional monitor, and it will be detected by your desktop environment, and will work.
 +
 
 +
If your second monitor does not display anything at all, then play around with your X configuration. Try using the following command to generate a new X config:
 +
 
 +
{{console|body=
 +
# ##i##aticonfig --initial=dual-head
 +
}}
 +
 
 +
You can use the {{c|--screen-layout={left|right|above|below}}} option to specify the relationship of the second screen to the first.
 +
 
 +
For more than two heads, or multiple cards, you can use the following approach to generate an appropriate X config. First, list adapters to see what adapters are available:
 +
 
 +
{{console|body=
 +
# ##i##aticonfig --list-adapters
 +
}}
 +
 
 +
Now, a variant of one of the following commands to generate an X configuration for your needs:
 +
 
 +
{{console|body=
 +
# ##i##aticonfig --initial --heads=4 --adapter=1
 +
# ##i##aticonfig --adapter=0,2 --initial
 +
# ##i##aticonfig --adapter=all --initial
 +
# ##i##aticonfig --xinerama=on
 +
}}
 +
 
 +
One you have your displays enabled so that your mouse pointer can move to all displays, you still may not be able to drag windows to certain monitors. In this situation, each monitor is probably configured as a separate X screen, and you'll need to use the Catalyst Control Center {{c|amdcccle}} GUI configuration tool to tie them together. The Catalyst Control Center is installed when the {{c|qt4}} USE variable is enabled.
 +
 
 +
Open up a graphical terminal, and become root by typing {{c|su -}} -- your user will need to be in the {{c|wheel}} group to do this:
 +
 
 +
{{console|body=
 +
$ ##i##su -
 +
Password: ##i##*******
 +
# source /etc/profile
 +
# amdcccle
 +
}}
 +
 
 +
[[File:amdcccle.png|class=img-responsive|center]]
 +
Navigate to Display Manager, and choose the option {{c|Multi-display desktop with display(s) X}} for each display. Then, drag and drop the blue displays to arrange them to match how they are arranged in front of you. Click {{c|OK}}. The Catalyst Control Center will tell you that you will need to restart your system for the changes to take effect. Simply log out if you are running {{c|xdm}}, or end your X session, and start it up again. You should now have a fully-functioning multi-head display.
 +
 
 +
=== Troubleshooting ===
 +
==== I am using a HDMI connection, and my monitor's display has a black border around it. ====
 +
Disable overscan as follows:
  
 
<console>
 
<console>
 +
$ ##i##su -
 +
Password: ##i##*********
 
# ##i##aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
 
# ##i##aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
 
</console>
 
</console>
  
You may need to restart your X session.
+
You will need to restart your X session for the changes to take effect. If you are using a display manager, logging out and back in again should cause the new settings to be visible.
  
=== GNOME 3 windows only refresh when I drag them. ===
+
==== The tabs in Google Chrome are becoming garbled/corrupted ====
  
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.
+
New versions of Google Chrome use hardware acceleration by default which appears to have rendering issues with AMD's drivers. To work around this, disable hardware acceleration in Google Chrome by going to {{c|Settings}}, {{c|Show advanced settings...}} and then uncheck the {{c|Use hardware acceleration when available (requires Chrome restart)}}. Once Chrome is restarted, the rendering problem should be resolved.
 +
 
 +
==== Compton with backend glx does not work well with ati-drivers ====
 +
Try running compton with the following switches:
 +
<console>
 +
###i## compton --backend glx --vsync none --paint-on-overlay
 +
</console>
  
 
[[Category:Video Cards]]
 
[[Category:Video Cards]]
 
[[Category:First Steps]]
 
[[Category:First Steps]]
 
{{EbuildFooter}}
 
{{EbuildFooter}}

Latest revision as of 18:42, February 24, 2015

x11-drivers/ati-drivers


Current Maintainer(s):Daniel Robbins
Source Repository:Funtoo Overlay

Summary: Accelerated ATI/AMD binary drivers for Radeon HD 5000 and newer chipsets.

Use Flags

qt4
Install qt4 dependent optional tools (e.g Catalyst Control Panel)
modules
Build the kernel modules
disable-watermark
Do a potentially dangerous binary search and replace to disable watermark
pax_kernel
Enable pax kernel specific patches
vaapi
Enabled Video Acceleration API

News

Drobbins

RSS/Atom Support

You can now follow this news feed at http://www.funtoo.org/news/atom.xml .
10 February 2015 by Drobbins
Drobbins

Creating a Friendly Funtoo Culture

This news item details some recent steps that have been taken to help ensure that Funtoo is a friendly and welcoming place for our users.
2 February 2015 by Drobbins
Mgorny

CPU FLAGS X86

CPU_FLAGS_X86 are being introduced to group together USE flags managing CPU instruction sets.
31 January 2015 by Mgorny
View More News...

AMD Catalyst Video Drivers

Tip

This is a wiki page. To edit it, 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.

Important

Version 14.12-r3 and above now include ATI GLESv2 and EGL libraries, which should improve stabilty with GNOME.

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

Default Kernel

If you are using the default kernel -- one like debian-sources that was built automatically, then you'll want to blacklist a few modules to prevent them from loading and interfering with the AMD Catalyst module. To avoid having the open source Radeon drivers automatically load and ruin your day, create a blacklist file as follows:

/etc/modprobe.d/radeon.conf - Prevent open source DRM and radeon drivers from loading
blacklist radeon
blacklist drm

Custom Kernel

If you are building a custom kernel, rather than blacklisting modules as above, you can simply ensure that the Direct Rendering Manager and in-kernel Radeon drivers are not enabled. If you do build them as modules, you will need to blacklist them as above. Also ensure that the following kernel options are enabled.


[*] 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. For more information on the meaning of the VIDEO_CARDS variable, see Video:

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

Enabling AMD Catalyst Control Center

If you would like to built the amdcccle (Advanced Micro Devices Catalyst Control Center: Linux Edition), a GUI to configure the drivers, add the following to /etc/portage/package.use/ati-drivers:

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

If you are using a desktop or workstation profile, this USE flag may be enabled by default. Even if it is, adding it will not hurt anything.

Emerging the package

If you allready have emerged xorg-server, all you need to install the drivers is running the following command:

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

Otherwise, you may install the drivers with:

# emerge -av x11-drivers/ati-drivers

Before using the driver, ensure that the "fglrx" module has been loaded -- run modprobe fglrx as root -- it should return with no error. If the module can't be found, run depmod -a as root -- then the modprobe command should work. If you are switching from the open source Radeon driver, then shutting down your desktop and rebooting your system (be sure to disable xdm) may be required to get the new "fglrx" module to load cleanly.

Configuring

Next, set ati-drivers to manage the system's OpenGL and OpenCL implementations. Doing this is particulary important for desktop environments like GNOME, which use hardware acceleration by default. Not doing this will result in the GNOME display manager not being able to start!

# eselect opengl set ati
# eselect opencl set amd

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

# aticonfig --initial
Tip

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

Multi-Head Display

There are a couple of options for setting up a multi-head display. For some systems, all you need to do is plug in your additional monitor, and it will be detected by your desktop environment, and will work.

If your second monitor does not display anything at all, then play around with your X configuration. Try using the following command to generate a new X config:

# aticonfig --initial=dual-head


You can use the right} option to specify the relationship of the second screen to the first.

For more than two heads, or multiple cards, you can use the following approach to generate an appropriate X config. First, list adapters to see what adapters are available:

# aticonfig --list-adapters


Now, a variant of one of the following commands to generate an X configuration for your needs:

# aticonfig --initial --heads=4 --adapter=1 
# aticonfig --adapter=0,2 --initial
# aticonfig --adapter=all --initial
# aticonfig --xinerama=on


One you have your displays enabled so that your mouse pointer can move to all displays, you still may not be able to drag windows to certain monitors. In this situation, each monitor is probably configured as a separate X screen, and you'll need to use the Catalyst Control Center amdcccle GUI configuration tool to tie them together. The Catalyst Control Center is installed when the qt4 USE variable is enabled.

Open up a graphical terminal, and become root by typing su - -- your user will need to be in the wheel group to do this:

$ su -
Password: *******
# source /etc/profile
# amdcccle


Amdcccle.png

Navigate to Display Manager, and choose the option Multi-display desktop with display(s) X for each display. Then, drag and drop the blue displays to arrange them to match how they are arranged in front of you. Click OK. The Catalyst Control Center will tell you that you will need to restart your system for the changes to take effect. Simply log out if you are running xdm, or end your X session, and start it up again. You should now have a fully-functioning multi-head display.

Troubleshooting

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

Disable overscan as follows:

$ su -
Password: *********
# aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

You will need to restart your X session for the changes to take effect. If you are using a display manager, logging out and back in again should cause the new settings to be visible.

The tabs in Google Chrome are becoming garbled/corrupted

New versions of Google Chrome use hardware acceleration by default which appears to have rendering issues with AMD's drivers. To work around this, disable hardware acceleration in Google Chrome by going to Settings, Show advanced settings... and then uncheck the Use hardware acceleration when available (requires Chrome restart). Once Chrome is restarted, the rendering problem should be resolved.

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

Try running compton with the following switches:

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