Debian: Difference between revisions

From cchtml.com
No edit summary
No edit summary
 
(115 intermediate revisions by 66 users not shown)
Line 1: Line 1:
== General Status ==
= Read Me First =
* Included with Distribution
* Native Installer Support contributed by Aric Cyr
* Repackaged by [http://www.stanchina.net/~flavio/debian-official/fglrx-driver.html Flavio Stanchina] (currently out of date)


== Installation ==
'''Which cards are no longer supported by ATI Catalyst?'''
* [[Debian_Installation_Guide|Installation Guide]] (recommended for x86_64 users)
The ATI Radeon 9500-9800, Xpress200-1250, 690G, 740G, X300-X2500 (including Mobility RadeonHD 2300, since it is really a DirectX 9 part).  See the complete list [http://wiki.cchtml.com/index.php/9.4 here.]
If your card is on that list, you are limited to open-source drivers on Debian Squeeze/6.0 (and later). If you really need the proprietary Catalyst/fglrx driver, you will have to use Debian Lenny/5.0.x and install Catalyst 9-3.
{| WIDTH="650" cellpadding=0 cellspacing=0 style="background-color: red; border: solid 1px #666666; color: #ffffff; text-align: center;"
| style="background-color: #666666; border: solid 1px #666666; border-bottom: 1px solid #888;" | <font size="-1">'''ATTENTION RADEON USERS'''</font>
|-
| <br />NOTE: If you enter your card information on AMD/ATI's driver page, it will offer you the Catalyst 9-3 driver to download. However, the Catalyst 9-3 driver doesn't support X servers past 1.5, and it will not work with Debian versions later than  Lenny/5.0.x! !!!SO BE CAREFUL!!! If you tried to install Catalyst on a system with one of these cards, see the 'Removing the Driver' section to restore the default/pre-installed drivers.<br /><br />
|}


Another installation Guide:
= Read Me Second :SLEEP mode  in Debian/testing kernel 3.2.0 =


* [http://m.domaindlx.com/LinuxHelp/ati/ati.htm 3D Acceleration for your ATI card] (works for SUSE, Mandriva and Debian x86. X86_64 users should not use).
amd-driver-installer-catalyst-12.10-x86.x86_64.run breaks sleeping mode(notebook hangs up after awaking and reboot without logging anything ). I suppose it is because atievetsd not working correctly. So i first install last fglrx-atieventsd packet and over it amd-driver-installer-catalyst-12.10-x86.x86_64.run. ( Or first
amd-driver-installer-catalyst-12.10-x86.x86_64.run and then manualy copy rest conf files from fglrx-atieventsd
without overwriting.) Then start atieventsd :  "service fglrx-atieventsd restart" and put this command  in
autorun files.


Next step - check /var/syslog if there would be "atieventsd[3141]: Unable to bind control socket to
/var/run/atieventsd.socket: Permission denied " - then it need be run by root.


After this sleeping mode become work correctly  but only sometimes. Research is to be continued.
Good news is that many 3d games are well playing with sound on wine-1.5.6.


*How to install AMD Catalyst package on 69xx series for x86_64 systems (Tested on Mint Debian 201012):
UPDATE:
It seems it works correctly. Clean install amd-driver-installer-catalyst-12.10-x86.x86_64.run on Debian/testing kernel 3.2.0 i386.
But after upgrading libxi6 to stable version (apt-get install -t stable libxi6).
Old version have made problems with wine games , something like "malloc() corruption memory" and segfault.
New version amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run and fglrx-driver_12-6+point-1_i386.deb i havenot test.
UPDATE new poster
13.4 is in the Debian testing repo for 5000 and above cards, 13.1 is also in the Debian repo for older cards


1.  Download latest Catalyst release (currently 10.12)
fglrx-driver_12-6+point-1_i386.deb is shipped with Debian stable/Wheezy and works perfectly.
$ cd Desktop; mkdir Catalyst; cd Catalyst/
$ wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-2-x86.x86_64.run


2Now install the x86 packages required for Catalyst:
= Installation =
 
The open-source ati/radeon driver should already be installed and used as the default.
See [[Debian Open Source|Debian Open Source Drivers]].
This guide focuses on installing the proprietary ATI driver (fglrx/Catalyst).
 
==Before Starting==
If you have previously attempted installing Catalyst, remove any leftover files by following the [[#Removing_Catalyst.2Ffglrx| Removing the Driver]] section.
 
 
== Installing from Debian Repository ==
NOTE the note is no longer valid info Wheezy is the stable Debian now.
NOTE: This no longer works on Wheezy/testing or Sid after upgrade to Xserver 1.12. Unfortunately fglrx/Catalyst trigger segfaults in Xorg newer than 1.11.x, and the driver was removed from Wheezy and Sid.
 
Fglrx is non-free software, so it is located in the non-free repository. If you do not have non-free enabled, you can do so like this: http://serverfault.com/questions/240920/how-do-i-enable-non-free-packages-on-debian
 
$ sudo apt-get remove --purge xserver-xorg-video-radeon
$ sudo apt-get install fglrx-driver fglrx-control libgl1-fglrx-glx fglrx-atieventsd fglrx-modules-dkms
 
If you are using 64-bit Debian, install the 32-bit fglrx libraries for use with 32-bit programs.
 
  $ sudo apt-get install libgl1-fglrx-glx:i386
 
The Debian community provides information on its wiki pages [http://wiki.debian.org/ATIProprietary here] and [http://wiki.debian.org/ATIStream here].
(Note: using the 32 bit library results in a wrong ELF class error with aticonfig!)
 
== Installing Manually ==
This [[can not]] work at all. please refer the Discussion for details....
 
This method uses the latest Catalyst driver downloaded from AMD/ATI's site.
 
===Prerequisite Packages===
Install the prerequisite packages (names are based on Debian sid, older Debians may be different):
$ sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 module-assistant dh-modaliases
''If you are using the x86_64 architecture (64 bit), be sure to install "ia32-libs" before proceeding!''
  $ sudo apt-get install ia32-libs
  $ sudo apt-get install ia32-libs


===Download the latest Catalyst package.===
This package contains both the 32-bit and 64-bit driver.
$ cd ~/; mkdir catalyst{{Catalystversion}}; cd catalyst{{Catalystversion}}/
$ wget --referer=<nowiki>http://www2.ati.com http://www2.ati.com/drivers/linux/amd-</nowiki>{{Catalystdashversion}}-linux-x86.x86_64.zip
$ unzip amd-{{Catalystdashversion}}-linux-x86.x86_64.zip
$ chmod +x amd-{{Catalystdashversion}}-linux-x86.x86_64.run
===Create .deb packages.===
You can run
<code>./amd-{{Catalystdashversion}}-linux-x86.x86_64.run --listpkg</code>
to get a list of all the potential packages
For Debian systems, <package> will be one of the following: 
Debian/sid  Debian/unstable Debian/etch Debian/stable Debian/lenny Debian/testing  Debian/experimental
$ fakeroot sh amd-{{Catalystdashversion}}-linux-x86.x86_64.run --buildpkg <package>
===''Install .debs.''===
$ sudo dpkg -i fglrx*.deb
== Jessie AKA STABLE ==
=== Jessie AKA STABLE Installation (November 10 2013) ===
current working driver in repo, that could change Jessie is testing jan 2014
fglrx was removed from the jessie repository due to incompatibilities with X.org 1.14.
However you can manually install the [http://support.amd.com/en-us/kb-articles/Pages/Latest-LINUX-Beta-Driver.aspx 13.11 beta 6] version.
    [Note: As of 2016-02-27, fglrx packages appear in Jessie repos.]
mkdir ati
cd ati
apt-get build-dep fglrx-driver
apt-get -b source fglrx-driver
dpkg -i *.deb
you must have the proper repo set in /etc/apt/sources
It is possible that appears dependency problems (for example, it expects to find xorg-video-abi-18 but the system only has xorg-video-abi-19). In this case you must execute:
mkdir ati
cd ati
sudo apt-get build-dep fglrx-driver
sudo apt-get source fglrx-driver
cd fglrx-driver-*
Edit file `debian/rules.defs` and adds 19 into XORG_ABI_LIST list.
sudo dpkg-buildpackage -us -uc
cd ..
dpkg -i *.deb
=== Wheezy AKA OLDSTABLE Installation (current as of May 3, 2013) ===
Why someone posted this I do not have any idea 12.6 was shipped with Wheezy from day one,there is nothing to downgrade or change if you stay on the stable repo ,it just works
DEBIAN IS NOT UBUNTU and those directions will not work on debian, they just confuse people so if you dont use DEBIAN dont post< Everything below this was way before may of 2013 when Wheezy was the testing distro and Squeeze was stable
current as of may 2013 and your first comment is about 2012 are you new to Linux that makes the info stone aged. I find it odd this all got added after Wheezy was released with 12.6,because I was here and posted the info,and this post wasnt here, Do you work for Nvidia?
Wheezy upgraded from xserver 1.11 to 1.12 on May 20, 2012.< you posted about something a year before LMAO<nvidia pay you for that>  AMD has not updated their driver to work with this version of xserver.  So, you have two options:
1) Downgrade from xserver 1.12 (Tested, and works on Debian Wheezy kernel 3.2.0-4-amd64<shipped with Wheezy from day one (05/03/13)<was testing at the time Squeeze was stable and on Debian Wheezy kernel 3.2.0-1-amd64 (6/22/12) )
Link to instructions (this should be copied over to this wiki for posterity):
  https://www.linuxquestions.org/questions/linux-hardware-18/how-do-i-get-my-fglrx-driver-back-946102/#post4684285.
Note 1:
In the linked directions they use fglrx version 12.4.  At the time of making this edit beta version 12.6 also works just fine.  If you want to run the bleeding edge, it can be found here: http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English 
With the 12.6 beta version you will get a watermark in the lower right hand corner.  After you have everything working properly run this script: http://www.areyoueye.net/scripts/watermark_nix.sh  It will get rid of that water mark.
Note 2:
fglrx version 13.4 works just fine except changing the brighntess because it stays full all the time. Installing this driver will not show up the watermark
2) Patch libpciaccess (I have no first hand knowledge of this working but others swear by it)
This will get you the latest and greatest xserver and fglrx working together.
Read this: http://ati.cchtml.com/show_bug.cgi?id=522
Apply this patch: http://pastebin.com/swpDj4FD
I find it odd this all got added after Wheezy was released with 12.6,because I was here and posted the info,and this post wasnt here, Do you work for Nvidia?
= Post Install =
==Generate a new /etc/X11/xorg.conf file==
Unfortunately, there is no sure way to generate the ATI version of the Xorg.conf file.  It is entirely dependent on your configuration.  The following subsections will attempt to address possible (and tested) variations for their respective configurations.
=== Generic Config ===
This will work for most people:
$ sudo aticonfig --initial -f
If you are using dual head, that is to say, two _different_ desktops on two monitors, do this:
$ sudo aticonfig --initial=dual-head -f
Most people with two or more monitors will want instead one large desktop; to do this you may
have to specify your monitors individually in the xorg.conf file and tell the driver to use a
larger desktop size (big enough to contain both monitors) then use xrandr to configure the
monitor arrangement.
=== Minimal Config ===
A very basic /etc/X11/xorg.conf file might be what you need if you have a new card that's not fully supported by amdconfig. Here follows the entirety of a minimal xorg.conf file for the Radeon 6870:
Section "Device"
  Identifier "ATI radeon 6870"
  Driver "fglrx"
EndSection
=== X2/Dual GPU Cards ===
If you have an X2 card (e.g. 4870X2 or 5970), use... !!Do not use for two separate cards in crossfire!!
$ sudo aticonfig --initial -f --adapter<nowiki>=</nowiki>all
=== Dual/Multi Monitors ===
A post at http://phoronix.com/forums/showthread.php?t=18553 suggested to do the following
to use a dual monitor display (also known as "Big Desktop"):
$ sudo aticonfig --initial -f
$ sudo aticonfig --set-pcs-str<nowiki>=</nowiki>"DDX,EnableRandR12,FALSE"
However the information is dated 2009 and now believed to be obsolete.
For multiple monitors, instead try specifying all monitors in your xorg.conf file.
Use the following as a starting point:
  Section "ServerLayout"
        Identifier      "amdconfig Layout"
        Screen        0  "amdconfig-Screen[0]-0" 0 0
  EndSection
 
  Section "Module"
  EndSection
 
  Section "Monitor"
        Identifier      "0-DFP6"
        Option          "DPMS"          "true"
        Option          "PreferredMode" "1920x1080"
  EndSection
 
  Section "Monitor"
        Identifier      "0-CRT1"
        Option          "DPMS"          "true"
        Option          "PreferredMode" "1280x1024"
  EndSection
 
  Section "Device"
        Identifier      "amdconfig-Device[0]-0"
        Driver          "fglrx"
        BusID            "PCI:1:0:0"
        Option          "Monitor-DFP6"  "0-DFP6"
        Option          "Monitor-CRT1"  "0-CRT1"
  EndSection
 
  Section "Screen"
        Identifier      "amdconfig-Screen[0]-0"
        Device          "amdconfig-Device[0]-0"
        Monitor          "0-DFP6"
        DefaultDepth    24
 
        SubSection "Display"
            Viewport    0 0
            Depth        24
            # Big Desktop: 1920+1280=3200, max(1080,1024)=1080
            Virtual      3200 1080
        EndSubSection
 
  EndSection
After starting X successfully, use <nowiki>xrandr</nowiki> to check the maximum screen size
is large enough for your combined desktop:
$ xrandr
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 1080
And positioning of connected monitors:
DFP1 disconnected (normal left inverted right x axis y axis)
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 disconnected (normal left inverted right x axis y axis)
DFP6 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
[modes elided]
CRT1 connected 1280x1024+1920+56 (normal left inverted right x axis y axis) 338mm x 270mm
Use xrandr (or in KDE, krandrtray) to reposition your monitors within your screen.
==Force use of the new xorg.conf (if necessary)==
Some people find that changes to xorg.conf don't get used by the driver. To force the ATI driver to adopt changes made to xorg.conf, use the following command:
$ sudo aticonfig <nowiki>--input=/etc/X11/xorg.conf --tls=1</nowiki>
==Test your installation==
NOTE: if you don't reboot first, fglrxinfo gives an error message.
Reboot the computer and type
$ fglrxinfo
into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 11-4 and a RadeonHD 4250 returns:
<pre>
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 4200 Series (This line may be different depending on what graphics card you are using.)
OpenGL version string: 3.3.10665 Compatibility Profile Context (This line may be different depending on what graphics card and
Catalyst version you are using.)
</pre>
Now, try:
$ fgl_glxgears
If you experience issues or a hang, you may need to disable fast TLS.
$ sudo aticonfig --tls=0
= Hardware Video Decode Acceleration (EXPERIMENTAL) =
This is confirmed to work for newer RadeonHD GPU's (those with UVD2). If you have a RadeonHD 4000 series or newer, you have UVD2. To see the complete list: http://en.wikipedia.org/wiki/Unified_Video_Decoder#UVD_enabled_GPUs
== Debian wheezy/7.0 and Later ==
$ sudo apt-get install xvba-va-driver
Be very carefull when doing this, I wasn't paying much attention and all of a sudden aptitude decided that this package required a bunch of packages to be uninstalled(for instance a lot of tex packages, but more inconveniently GDM3...)
=Updating Catalyst/fglrx=
DO NOT try to install a new version over an old one. Follow the [[#Removing_Catalyst.2Ffglrx| Removing the Driver]] section below to remove your existing driver.
=Removing Catalyst/fglrx=
The uninstall script in the first command will only exist if you downloaded the drivers and installed them directly (rather than building packages as this guide does). Skip the first command if it does not exist.
$ sudo sh /usr/share/ati/fglrx-uninstall.sh
$ sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* xorg-driver-fglrx
If you plan on using open-source drivers, you will need to reinstall some packages because Catalyst overwrites or diverts some key 3D libraries with proprietary versions. For more information on this issue, see [https://wiki.ubuntu.com/X/Troubleshooting/FglrxInteferesWithRadeonDriver this Ubuntu wiki page]
$ sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
$ sudo apt-get install xserver-xorg-video-ati
$ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
$ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
=Debian Squeeze x86_64 and AMD A Series=
First install Kernel 3.2 from squeeze-backports.
Add backports to your sources.list
Add this line
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
to your sources.list (or add a new file to /etc/apt/sources.list.d/)
$ sudo apt-get update
$ sudo apt-get -t squeeze-backports install linux-image-3.2.0-0.bpo.4-amd64
$ sudo reboot


3.  Before continuing you need to remove the standard Radeon drivers:
  $ sudo apt-get remove --purge xserver-xorg-video-radeon
  $ sudo apt-get remove --purge xserver-xorg-video-radeon
$ sudo apt-get -t squeeze-backports install fglrx-driver fglrx-control fglrx-glx fglrx-atieventsd fglrx-modules-dkms
If you are using 64-bit Debian, install the 32-bit fglrx libraries for use with 32-bit programs.
$ sudo apt-get -t squeeze-backports install fglrx-glx-ia32


4.  Now navigate to the Catalyst folder on your desktop.  Right click on the *.run file and click properties.  Click the permissions tab and enable 'Allow executing file as program.' and click close.  Now double click the *.run file.  Choose to install the driver and customize any optional components you wish. 
== Problems with multiple cards and multiple monitors ==


'''EDIT: STOP! I did not need to do any of the following steps below, in fact I did it once and I was unable to boot GDM3 unitl I deleted the xorg.conf file. The ATI installation will generate the correct xorg.conf for you.'''
When encountering problems under the following circumstances:


5. Now you need to find your GPU controller name which you will use to generate a basic xorg.conf file. For example, my XFX 6970 shows up as 'ATI Technologies Inc Device 6718.'
1. Multiple monitors on one card AND a monitor attached to VGA port.
$ lspci -v | grep VGA
2. More than one card.


6. Open a terminal and enter:
...you may encounter problems that the resolution of the first monitor on the first card (usually identified as "CRT-1") may (a) not be recognized by manufacturer/model and instead the "Default Monitor" setting be used, and (b) therefore the resolution be set to a different resolution (e.g. 1600x1200) no matter what the xorg.conf file says.
$ sudo gedit


7. In gedit enter (replacing the identifier shown with whatever was produced in the previous step):
If this happens, check if the log file '''/var/log/Xorg.0.log''' contains an entry like this one:
$ Section "Device"
$  Identifier "ATI Technologies Inc Device 6718"
$  Driver "fglrx"
$ EndSection


Save the file as xorg.conf to etc/X11/ and restart the system.
'''(II) fglrx(0): Cannot get EDID information for CRT1'''


...which may be followed later with:


8.  You will have an 'AMD Unsupported Hardware' watermark in the lower right hand side of your screen when using cat 10.12.  To remove this, create a text file on your desktop and enter:
'''(II) fglrx(0): Output CRT1 connected'''


$ #!/bin/sh
'''(II) fglrx(0): Using user preference for initial modes'''
$ DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so
$ for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
$  sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
$ done


Save this file as watermark.
'''(II) fglrx(0): Output CRT1 using initial mode 1600x1200'''


The reason for this behavior seems to be either a timing problem during Xorg initialization (EDID info for CRT-1 not received quickly enough) or a problem with a dcc probe itself. A possible work-around is to not use the VGA connector (CRT-1) on the first card at all and use only the DVI and HDMI port (possibly with a HDMI-to-DVI adapter cable) and the problem disappears immediately (monitor gets recognized immediately and correct resolution is being used).


9. Open a terminal and enter:
To avoid confusion with the Xorg configuration, you may want to delete '''/etc/X11/xorg.conf''' file and use the following command to have it generated (assuming 2 monitors per card):  
$ cd Desktop
$ chmod 755 watermark
$ sudo ./watermark


Log out and log back in. The watermark should be gone and you're done.
''' prompt$ aticonfig --initial --adapter=all --heads=2'''


== Tips and Tricks ==
This will create a complete and correct configuration file (you may want to change layout later) even if a VGA monitor is attached to the first card but that VGA monitor will not be recognized upon reboot.
* To build your own .deb packages you will need to install at least the following packages from the apt repositories:
** fakeroot
** debhelper
** build-essential
** make
** module-assistant
* [http://debianhelp.co.uk Debian Help]
* [http://forums.debian.net Debian Forums]


== Related Resources ==
* Debian [http://wiki.debian.org/AtiHowTo wiki] page refering ATI.


* [http://www.stanchina.net/~flavio/debian-official/fglrx-driver.html Flavio Stanchina's ATI ancient Linux driver packages for Debian]
{{VCT}}
[[Category:Distributions]]
[[Category:Distributions]]

Latest revision as of 07:40, 28 June 2016

Read Me First

Which cards are no longer supported by ATI Catalyst? The ATI Radeon 9500-9800, Xpress200-1250, 690G, 740G, X300-X2500 (including Mobility RadeonHD 2300, since it is really a DirectX 9 part). See the complete list here. If your card is on that list, you are limited to open-source drivers on Debian Squeeze/6.0 (and later). If you really need the proprietary Catalyst/fglrx driver, you will have to use Debian Lenny/5.0.x and install Catalyst 9-3.

ATTENTION RADEON USERS

NOTE: If you enter your card information on AMD/ATI's driver page, it will offer you the Catalyst 9-3 driver to download. However, the Catalyst 9-3 driver doesn't support X servers past 1.5, and it will not work with Debian versions later than Lenny/5.0.x! !!!SO BE CAREFUL!!! If you tried to install Catalyst on a system with one of these cards, see the 'Removing the Driver' section to restore the default/pre-installed drivers.

Read Me Second :SLEEP mode in Debian/testing kernel 3.2.0

amd-driver-installer-catalyst-12.10-x86.x86_64.run breaks sleeping mode(notebook hangs up after awaking and reboot without logging anything ). I suppose it is because atievetsd not working correctly. So i first install last fglrx-atieventsd packet and over it amd-driver-installer-catalyst-12.10-x86.x86_64.run. ( Or first amd-driver-installer-catalyst-12.10-x86.x86_64.run and then manualy copy rest conf files from fglrx-atieventsd without overwriting.) Then start atieventsd : "service fglrx-atieventsd restart" and put this command in autorun files.

Next step - check /var/syslog if there would be "atieventsd[3141]: Unable to bind control socket to /var/run/atieventsd.socket: Permission denied " - then it need be run by root.

After this sleeping mode become work correctly but only sometimes. Research is to be continued. Good news is that many 3d games are well playing with sound on wine-1.5.6.

UPDATE: It seems it works correctly. Clean install amd-driver-installer-catalyst-12.10-x86.x86_64.run on Debian/testing kernel 3.2.0 i386. But after upgrading libxi6 to stable version (apt-get install -t stable libxi6). Old version have made problems with wine games , something like "malloc() corruption memory" and segfault. New version amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run and fglrx-driver_12-6+point-1_i386.deb i havenot test.

UPDATE new poster

13.4 is in the Debian testing repo for 5000 and above cards, 13.1 is also in the Debian repo for older cards

fglrx-driver_12-6+point-1_i386.deb is shipped with Debian stable/Wheezy and works perfectly.

Installation

The open-source ati/radeon driver should already be installed and used as the default. See Debian Open Source Drivers. This guide focuses on installing the proprietary ATI driver (fglrx/Catalyst).

Before Starting

If you have previously attempted installing Catalyst, remove any leftover files by following the Removing the Driver section.


Installing from Debian Repository

NOTE the note is no longer valid info Wheezy is the stable Debian now. NOTE: This no longer works on Wheezy/testing or Sid after upgrade to Xserver 1.12. Unfortunately fglrx/Catalyst trigger segfaults in Xorg newer than 1.11.x, and the driver was removed from Wheezy and Sid.

Fglrx is non-free software, so it is located in the non-free repository. If you do not have non-free enabled, you can do so like this: http://serverfault.com/questions/240920/how-do-i-enable-non-free-packages-on-debian

$ sudo apt-get remove --purge xserver-xorg-video-radeon
$ sudo apt-get install fglrx-driver fglrx-control libgl1-fglrx-glx fglrx-atieventsd fglrx-modules-dkms

If you are using 64-bit Debian, install the 32-bit fglrx libraries for use with 32-bit programs.

$ sudo apt-get install libgl1-fglrx-glx:i386

The Debian community provides information on its wiki pages here and here. (Note: using the 32 bit library results in a wrong ELF class error with aticonfig!)

Installing Manually

This can not work at all. please refer the Discussion for details....

This method uses the latest Catalyst driver downloaded from AMD/ATI's site.

Prerequisite Packages

Install the prerequisite packages (names are based on Debian sid, older Debians may be different):

$ sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 module-assistant dh-modaliases

If you are using the x86_64 architecture (64 bit), be sure to install "ia32-libs" before proceeding!

$ sudo apt-get install ia32-libs

Download the latest Catalyst package.

This package contains both the 32-bit and 64-bit driver.

$ cd ~/; mkdir catalyst15.12; cd catalyst15.12/
$ wget --referer=http://www2.ati.com http://www2.ati.com/drivers/linux/amd-15-12-linux-x86.x86_64.zip
$ unzip amd-15-12-linux-x86.x86_64.zip
$ chmod +x amd-15-12-linux-x86.x86_64.run

Create .deb packages.

You can run

./amd-15-12-linux-x86.x86_64.run --listpkg

to get a list of all the potential packages

For Debian systems, <package> will be one of the following: Debian/sid Debian/unstable Debian/etch Debian/stable Debian/lenny Debian/testing Debian/experimental

$ fakeroot sh amd-15-12-linux-x86.x86_64.run --buildpkg <package>

Install .debs.

$ sudo dpkg -i fglrx*.deb

Jessie AKA STABLE

Jessie AKA STABLE Installation (November 10 2013)

current working driver in repo, that could change Jessie is testing jan 2014

fglrx was removed from the jessie repository due to incompatibilities with X.org 1.14. However you can manually install the 13.11 beta 6 version.

    [Note: As of 2016-02-27, fglrx packages appear in Jessie repos.]
mkdir ati
cd ati
apt-get build-dep fglrx-driver
apt-get -b source fglrx-driver
dpkg -i *.deb

you must have the proper repo set in /etc/apt/sources

It is possible that appears dependency problems (for example, it expects to find xorg-video-abi-18 but the system only has xorg-video-abi-19). In this case you must execute:

mkdir ati
cd ati
sudo apt-get build-dep fglrx-driver
sudo apt-get source fglrx-driver
cd fglrx-driver-*

Edit file `debian/rules.defs` and adds 19 into XORG_ABI_LIST list.

sudo dpkg-buildpackage -us -uc
cd ..
dpkg -i *.deb

Wheezy AKA OLDSTABLE Installation (current as of May 3, 2013)

Why someone posted this I do not have any idea 12.6 was shipped with Wheezy from day one,there is nothing to downgrade or change if you stay on the stable repo ,it just works DEBIAN IS NOT UBUNTU and those directions will not work on debian, they just confuse people so if you dont use DEBIAN dont post< Everything below this was way before may of 2013 when Wheezy was the testing distro and Squeeze was stable current as of may 2013 and your first comment is about 2012 are you new to Linux that makes the info stone aged. I find it odd this all got added after Wheezy was released with 12.6,because I was here and posted the info,and this post wasnt here, Do you work for Nvidia? Wheezy upgraded from xserver 1.11 to 1.12 on May 20, 2012.< you posted about something a year before LMAO<nvidia pay you for that> AMD has not updated their driver to work with this version of xserver. So, you have two options:

1) Downgrade from xserver 1.12 (Tested, and works on Debian Wheezy kernel 3.2.0-4-amd64<shipped with Wheezy from day one (05/03/13)<was testing at the time Squeeze was stable and on Debian Wheezy kernel 3.2.0-1-amd64 (6/22/12) )

Link to instructions (this should be copied over to this wiki for posterity):

 https://www.linuxquestions.org/questions/linux-hardware-18/how-do-i-get-my-fglrx-driver-back-946102/#post4684285.

Note 1: In the linked directions they use fglrx version 12.4. At the time of making this edit beta version 12.6 also works just fine. If you want to run the bleeding edge, it can be found here: http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English With the 12.6 beta version you will get a watermark in the lower right hand corner. After you have everything working properly run this script: http://www.areyoueye.net/scripts/watermark_nix.sh It will get rid of that water mark.

Note 2: fglrx version 13.4 works just fine except changing the brighntess because it stays full all the time. Installing this driver will not show up the watermark

2) Patch libpciaccess (I have no first hand knowledge of this working but others swear by it)

This will get you the latest and greatest xserver and fglrx working together.

Read this: http://ati.cchtml.com/show_bug.cgi?id=522 Apply this patch: http://pastebin.com/swpDj4FD I find it odd this all got added after Wheezy was released with 12.6,because I was here and posted the info,and this post wasnt here, Do you work for Nvidia?

Post Install

Generate a new /etc/X11/xorg.conf file

Unfortunately, there is no sure way to generate the ATI version of the Xorg.conf file. It is entirely dependent on your configuration. The following subsections will attempt to address possible (and tested) variations for their respective configurations.

Generic Config

This will work for most people:

$ sudo aticonfig --initial -f

If you are using dual head, that is to say, two _different_ desktops on two monitors, do this:

$ sudo aticonfig --initial=dual-head -f

Most people with two or more monitors will want instead one large desktop; to do this you may have to specify your monitors individually in the xorg.conf file and tell the driver to use a larger desktop size (big enough to contain both monitors) then use xrandr to configure the monitor arrangement.

Minimal Config

A very basic /etc/X11/xorg.conf file might be what you need if you have a new card that's not fully supported by amdconfig. Here follows the entirety of a minimal xorg.conf file for the Radeon 6870:

Section "Device"
 Identifier "ATI radeon 6870"
 Driver "fglrx"
EndSection

X2/Dual GPU Cards

If you have an X2 card (e.g. 4870X2 or 5970), use... !!Do not use for two separate cards in crossfire!!

$ sudo aticonfig --initial -f --adapter=all

Dual/Multi Monitors

A post at http://phoronix.com/forums/showthread.php?t=18553 suggested to do the following to use a dual monitor display (also known as "Big Desktop"):

$ sudo aticonfig --initial -f
$ sudo aticonfig --set-pcs-str="DDX,EnableRandR12,FALSE"

However the information is dated 2009 and now believed to be obsolete.

For multiple monitors, instead try specifying all monitors in your xorg.conf file. Use the following as a starting point:

 Section "ServerLayout"
       Identifier       "amdconfig Layout"
       Screen        0  "amdconfig-Screen[0]-0" 0 0
 EndSection
 
 Section "Module"
 EndSection
 
 Section "Monitor"
       Identifier       "0-DFP6"
       Option           "DPMS"          "true"
       Option           "PreferredMode" "1920x1080"
 EndSection
 
 Section "Monitor"
       Identifier       "0-CRT1"
       Option           "DPMS"          "true"
       Option           "PreferredMode" "1280x1024"
 EndSection
 
 Section "Device"
       Identifier       "amdconfig-Device[0]-0"
       Driver           "fglrx"
       BusID            "PCI:1:0:0"
       Option           "Monitor-DFP6"  "0-DFP6"
       Option           "Monitor-CRT1"  "0-CRT1"
 EndSection
 
 Section "Screen"
       Identifier       "amdconfig-Screen[0]-0"
       Device           "amdconfig-Device[0]-0"
       Monitor          "0-DFP6"
       DefaultDepth     24
 
       SubSection "Display"
           Viewport     0 0
           Depth        24
           # Big Desktop: 1920+1280=3200, max(1080,1024)=1080
           Virtual      3200 1080
       EndSubSection
 
 EndSection

After starting X successfully, use xrandr to check the maximum screen size is large enough for your combined desktop:

$ xrandr
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 1080

And positioning of connected monitors:

DFP1 disconnected (normal left inverted right x axis y axis)
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 disconnected (normal left inverted right x axis y axis)
DFP6 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
[modes elided]
CRT1 connected 1280x1024+1920+56 (normal left inverted right x axis y axis) 338mm x 270mm

Use xrandr (or in KDE, krandrtray) to reposition your monitors within your screen.

Force use of the new xorg.conf (if necessary)

Some people find that changes to xorg.conf don't get used by the driver. To force the ATI driver to adopt changes made to xorg.conf, use the following command:

$ sudo aticonfig --input=/etc/X11/xorg.conf --tls=1

Test your installation

NOTE: if you don't reboot first, fglrxinfo gives an error message. Reboot the computer and type

$ fglrxinfo

into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 11-4 and a RadeonHD 4250 returns:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 4200 Series (This line may be different depending on what graphics card you are using.)
OpenGL version string: 3.3.10665 Compatibility Profile Context (This line may be different depending on what graphics card and 
Catalyst version you are using.)

Now, try:

$ fgl_glxgears

If you experience issues or a hang, you may need to disable fast TLS.

$ sudo aticonfig --tls=0

Hardware Video Decode Acceleration (EXPERIMENTAL)

This is confirmed to work for newer RadeonHD GPU's (those with UVD2). If you have a RadeonHD 4000 series or newer, you have UVD2. To see the complete list: http://en.wikipedia.org/wiki/Unified_Video_Decoder#UVD_enabled_GPUs

Debian wheezy/7.0 and Later

$ sudo apt-get install xvba-va-driver


Be very carefull when doing this, I wasn't paying much attention and all of a sudden aptitude decided that this package required a bunch of packages to be uninstalled(for instance a lot of tex packages, but more inconveniently GDM3...)

Updating Catalyst/fglrx

DO NOT try to install a new version over an old one. Follow the Removing the Driver section below to remove your existing driver.

Removing Catalyst/fglrx

The uninstall script in the first command will only exist if you downloaded the drivers and installed them directly (rather than building packages as this guide does). Skip the first command if it does not exist.

$ sudo sh /usr/share/ati/fglrx-uninstall.sh
$ sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* xorg-driver-fglrx

If you plan on using open-source drivers, you will need to reinstall some packages because Catalyst overwrites or diverts some key 3D libraries with proprietary versions. For more information on this issue, see this Ubuntu wiki page

$ sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
$ sudo apt-get install xserver-xorg-video-ati
$ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
$ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Debian Squeeze x86_64 and AMD A Series

First install Kernel 3.2 from squeeze-backports. Add backports to your sources.list Add this line

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

to your sources.list (or add a new file to /etc/apt/sources.list.d/)

$ sudo apt-get update
$ sudo apt-get -t squeeze-backports install linux-image-3.2.0-0.bpo.4-amd64
$ sudo reboot
$ sudo apt-get remove --purge xserver-xorg-video-radeon
$ sudo apt-get -t squeeze-backports install fglrx-driver fglrx-control fglrx-glx fglrx-atieventsd fglrx-modules-dkms

If you are using 64-bit Debian, install the 32-bit fglrx libraries for use with 32-bit programs.

$ sudo apt-get -t squeeze-backports install fglrx-glx-ia32


Problems with multiple cards and multiple monitors

When encountering problems under the following circumstances:

1. Multiple monitors on one card AND a monitor attached to VGA port. 2. More than one card.

...you may encounter problems that the resolution of the first monitor on the first card (usually identified as "CRT-1") may (a) not be recognized by manufacturer/model and instead the "Default Monitor" setting be used, and (b) therefore the resolution be set to a different resolution (e.g. 1600x1200) no matter what the xorg.conf file says.

If this happens, check if the log file /var/log/Xorg.0.log contains an entry like this one:

(II) fglrx(0): Cannot get EDID information for CRT1

...which may be followed later with:

(II) fglrx(0): Output CRT1 connected

(II) fglrx(0): Using user preference for initial modes

(II) fglrx(0): Output CRT1 using initial mode 1600x1200

The reason for this behavior seems to be either a timing problem during Xorg initialization (EDID info for CRT-1 not received quickly enough) or a problem with a dcc probe itself. A possible work-around is to not use the VGA connector (CRT-1) on the first card at all and use only the DVI and HDMI port (possibly with a HDMI-to-DVI adapter cable) and the problem disappears immediately (monitor gets recognized immediately and correct resolution is being used).

To avoid confusion with the Xorg configuration, you may want to delete /etc/X11/xorg.conf file and use the following command to have it generated (assuming 2 monitors per card):

prompt$ aticonfig --initial --adapter=all --heads=2

This will create a complete and correct configuration file (you may want to change layout later) even if a VGA monitor is attached to the first card but that VGA monitor will not be recognized upon reboot.