Debian

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

= 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: This now works very nicely also on Wheezy/testing or Sid since with its release 11-11 fglrx/Catalyst supports Xserver 1.11.x.

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 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 fglrx-glx-ia32

The Debian community provides information on its wiki pages here and here.

Installing Manually
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 catalyst; cd catalyst/ $ wget http://www2.ati.com/drivers/linux/amd-driver-installer- -x86.x86_64.run $ chmod +x amd-driver-installer--x86.x86_64.run

Hi.I bought AgeStar NSB3AST (STR8132 chip) retcnely and decided to put Debian on it.First I tried to flash the star-20092008.bin through the web interface. This was unsuccessful because the firmware was V01R03, and I got an error message.After that I got access to box via telnet, and tried to flash the star-20092008.bin via telnet: dd if = star-20092008.bin of = /dev/mtdblock1 Thus, I make bricked my device After that I made usb-com-uart converter and connected it to my brick.By the way, here is pinout, determined experimentally:Pin 1 > TX NAS (data from NAS)Pin 2  > RX NAS (data to NAS)Pin 6  > GNDSerial settings: 38400 8n1Here is HyperTerminal output:       -U-Boot 1.1.4 (May 23 2008   15:31:39)U-Boot code: 00000000 -> 0001AF60  BSS: -> 0001FED4IRQ Stack: 00e6ff7cFIQ Stack: 00e6ef7cRAM Configuration:Bank #0: 00000000 32 MBFlash Manufacturer: STFlash:  8 MBIn:    serialOut:   serialErr:   serialPLL clock at 250MHzCPU clock at 250MHzAHB clock at 125MHzAPB clock at 62MHz## Starting application at 0 01000000  data abortpc : []    lr : []sp : 00e6db84  ip : ffffffff  fp : 01000070r10: 00e6dcee  r9 : 00e6ddee  r8 : 00e6ffdcr7 : 00e6ddee  r6 : 00000002  r5 : 00e6dca4  r4 : 01000000r3 : 78000000  r2 : 00000001  r1 : 10000031  r0 : 30000000Flags: nZCv  IRQs off  FIQs off  Mode SVC_32Resetting CPU          and so on in a circle.Then I tried to turn on the device with the reset button pressed, and tried to load  oldfirmware.bin :       U-Boot 1.1.4 (May 23 2008   15:31:39)U-Boot code: 00000000 -> 0001AF60  BSS: -> 0001FED4IRQ Stack: 00e6ff7cFIQ Stack: 00e6ef7cRAM Configuration:Bank #0: 00000000 32 MBFlash Manufacturer: STFlash:  8 MBIn:    serialOut:   serialErr:   serialPLL clock at 250MHzCPU clock at 250MHzAHB clock at 125MHzAPB clock at 62MHzStar Equuleus # tftpboot 0 1020000 oldfirmware.binCheck Link Status .UpTFTP from server 192.168.10.3; our IP address is 192.168.10.2Filename  oldfirmware.bin'.Load address: 0 1020000Loading: #################################################################          ############################doneBytes transferred = 8126464 (7c0000 hex)Star Equuleus # go 0 1020000## Starting application at 0 01020000         -Device hangs, terminal does not respond, network interface did not work.After that I spent a lot of experiments with the bin-files, trying to revive the device.What I have achieved is described below.The original firmware V01R03 from AgeStar I cut from top to 256kbytes using WinHex and tried to load instead of  oldfirmware.bin :        U-Boot 1.1.4 (May 23 2008   15:31:39)U-Boot code: 00000000 -> 0001AF60  BSS: -> 0001FED4IRQ Stack: 00e6ff7cFIQ Stack: 00e6ef7cRAM Configuration:Bank #0: 00000000 32 MBFlash Manufacturer: STFlash:  8 MBIn:    serialOut:   serialErr:   serialPLL clock at 250MHzCPU clock at 250MHzAHB clock at 125MHzAPB clock at 62MHzStar Equuleus # tftpboot 0 1020000 age1.binCheck Link Status ..UpTFTP from server 192.168.10.3; our IP address is 192.168.10.2Filename  age1.bin'.Load address: 0 1020000Loading: #################################################################          ############################doneBytes transferred = 8126464 (7c0000 hex)Star Equuleus # go 0 1020000## Starting application at 0 01020000  Uncompressing Linux. done, booting the kernel. Device hangs Some progress appeared  Linux kernel tries to boot, then hangs. Internal red LED blinks, network interface is dead, terminal does not respond.Do anyone have any ideas what to do next?

Install .debs.
$ sudo dpkg -i fglrx*.deb

= 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 amdconfig --initial -f

If you are using dual head, that is to say, two _different_ desktops on two monitors, do this: $ sudo amdconfig --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 amdconfig --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 amdconfig --initial -f $ sudo amdconfig --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 amdconfig --input=/etc/X11/xorg.conf --tls=1

There isa mistake in the INF files for all eodiitns.reporting as Cat 9.0 instead of 9.10change the following line under the correct INF for your system.[ati2mtag_SoftwareDeviceSettings]  HKR,, Catalyst_Version,, 09.10    (this is what it should be, not '9.0   etc

= 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

=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

=Catalyst 11.9 and Debian Squeeze x86_64 (October 2011)= Version 11.9 will not install on Debian Squeeze with Kernel >= 3.1. To fix and install proceed as follows. First uninstall all versions of fglrx you can find, see above. (!!)

Download the driver and extract it thusly: $ sudo ./ati-driver-installer-11-9-x86.x86_64.run --keep Enter the newly created directory (will be named fglrx-install.XXXXXX). Use a hexeditor to find bytes starting at A6B0 with the values e8 53 90 ff ff and replace them with 90 90 90 90 90. This replaces a faulty free-op with 5 no-ops and fixes the exception thrown by "setup.data/bin/x86_64/setup". Read up on this at http://disbauxes.upc.es/?p=2964.

Now the kernel-build-environment for the 3.1 kernel is currently missing in the repositories. To get around that type: $ sudo aptitude install linux-source-3.1.0-rc7 $ cd /usr/src;tar -xjf linux-source-3.1.0-rc7;ln -s linux-source-3.1.0-rc7 linux;cd linux; You may need to append an "-amd64" (or similar) to the localversion of the source to have its version-string match the one of the running kernel. To do so open .config in the current dir with an editor and search for "LOCALVERSION", set that var to "-amd64" or similar. Configure the kernel using $ sudo make oldconfig and build it using $ make-kpkg --initrd --append-to-version="-myversion" kernel_image kernel_headers modules_image You may not need to rebuild the whole kernel, installing its headers may be enough, but i wanted a fresh kernel with a few custom options. Install your kernel (or just the headers) from the .deb-files that were created by make-kpkg in the directory above.

After this return to the directory where you extracted the driver to and type: $ sudo ./amd-installer.sh 8.892 --install --force

To load the driver type: $ sudo modprobe fglrx