Ubuntu Utopic Installation Guide
Installing Proprietary Drivers a.k.a. Catalyst/fglrx
ATTENTION RADEON USERS |
*PLEASE READ FIRST! Which Radeon cards are no longer supported by ATI's Catalyst?
|
ATI Radeon 9500-9800, Xpress200-1250, 690G, 740G, X300-X2500, Mobility RadeonHD 2300 If your card is on that list, you are limited to open-source drivers on Ubuntu Lucid/10.04 (and later). 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 any modern/supported version of Ubuntu! !!!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.
ATI RadeonHD 2x00 - 4xx0 cards If you have one of these cards, you have the option of using the Catalyst Legacy driver, but you will need to install/use Ubuntu 12.04.1
I recommend copying and pasting the commands to ensure there are no typing mistakes and speed up the install process. Remember to use Ctrl + Shift + V or Shift + Insert to paste into the terminal (or go to the terminals menu, select edit and click paste).
Before you start
If you have previously attempted installing Catalyst, remove any leftover files by following the Removing the Driver section. Make sure universe and multiverse are enabled in your repository sources (System -> Administration -> Software Sources). or Applications->Ubuntu Software Center->Edit->Software sources->Other software: check canonical partners.
Install the prerequisite packages:
sudo apt-get install cdbs dh-make dkms execstack dh-modaliases linux-headers-generic libqtgui4 xserver-xorg-dev
If you are using the x86_64 architecture (64 bit):
sudo apt-get install lib32gcc1
Installing Catalyst Manually (from AMD/ATI's site) STABLE
Download the latest Catalyst package
This package contains both the 32-bit and 64-bit driver.
mkdir catalyst15.12 && cd catalyst15.12 wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86' http://www2.ati.com/drivers/linux/radeon-crimson-15.12-15.302-151217a-297685e.zip unzip radeon-crimson-15.12-15.302-151217a-297685e.zip
Create and install .deb packages
If you have Wine installed, the driver installation may fail due to a conflict with a library included with Wine. In this case you'll need to modify the fglrx-core package before executing the second command below.
chmod a+x amd-driver-installer-15.302-x86.x86_64.run sudo ./amd-driver-installer-15.302-x86.x86_64.run --buildpkg Ubuntu/utopic sudo dpkg -i fglrx*.deb
If building .deb packages fails you can try an Alternative Manual Installation which does NOT create deb packages and might cause some trouble when trying to uninstall.
Installing Catalyst Manually (from AMD/ATI's site) BETA/EXPERIMENTAL
Note that the beta drivers aren't neccassarily newer than the stable drivers.
Download the latest Catalyst package
This package contains both the 32-bit and 64-bit driver.
mkdir catalyst-14.6beta1.0jul11 && cd catalyst-14.6beta1.0jul11 wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86' http://www2.ati.com/drivers/beta/linux-amd-catalyst-14.6-beta-v1.0-jul11.zip unzip linux-amd-catalyst-14.6-beta-v1.0-jul11.zip cd fglrx-14.20
Create and install .deb packages
sudo ./amd-driver-installer-14.20-x86.x86_64.run --buildpkg Ubuntu/utopic sudo dpkg -i fglrx*.deb
If building .deb packages fails, there is also an Alternative Manual Installation
In case of failure
Remember these steps before you reboot your computer.
If the X server fails to start, switch to a new TTY using ctrl+alt+F2. Log in, and attempt to start the X server.
sudo startx
If it fails to start, you will likely see a stacktrace, and immediately above it will be something along the lines of "Could not stat /usr/lib64/fglrx/switchlibGL" which means that you failed to copy the executables properly. Ctrl+c, and immediately copy the switchlibGL and switchlibglx executables to the fglrx folder in /usr/lib64/ or /usr/lib32/.
If all else fails, revert your xorg.conf and reboot.
sudo cp /etc/X11/xorg.conf.orig /etc/X11/xorg.conf
This should return your original display.
Generate a new /etc/X11/xorg.conf file (DO IT AFTER INSTALLATION OF .DEB Packages)
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
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 HD 6870:
Section "Device" Identifier "ATI radeon 6870" Driver "fglrx" EndSection
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
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 AMD, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 12-3 and a RadeonHD 4550 returns:
display: :0.0 screen: 0 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: AMD Radeon HD 6670 -- (This line may be different depending on what graphics card you are using!) OpenGL version string: 4.3.12798 Compatibility Profile Context 13.35.1005 -- (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 amdconfig --tls=0
Just in case
Write down or remember this series of Alt+PrntScr key combinations, just in case your screen should go black and Ctrl+Alt+F1 and Ctrl+Alt+Backspace doesn't work.
Alt+PrntScr+r, Alt+PrntScr+s, Alt+PrntScr+e, Alt+PrntScr+i, Alt+PrntScr+n, Alt+PrntScr+u, Alt+PrntScr+b
These key-presses will reboot the system safely. To remember the key-presses, remember this nonsensical phrase: "Raising Skinny Elephants Is Never Utterly Boring".
An alternative would be to hold down Ctrl+Alt+SysRq (SysRq is usually the same key as PrintScreen) and type very slowly R E I S U B. A way to remember this is by inverting the word: "BUSIER" or remembering a phrase: "Restart Even If System Utterly Broken". This would also safely shutdown the system.
Unity Desktop Freeze Problem
If your desktop environment randomly freezes, install a new one without compiz e.g. ubuntu-gnome-desktop
How to install Playonlinux/Wine without removig fglrx drivers
Edit this file: /var/lib/dpkg/status
search this block:
Package: fglrx-core Status: install ok installed Priority: extra Section: restricted/misc Installed-Size: 184704 Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: amd64 Source: fglrx-installer Version: 2:14.501-0ubuntu1 Replaces: fglrx-driver-core, libopencl1 Provides: fglrx-driver-core, libopencl1 Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1), lib32gcc1, libc6-i386, dkms, make, linux-libc-dev Conflicts: fglrx-driver-core, libopencl1 Conffiles: /etc/acpi/events/fglrx-ac-aticonfig 9b0805ac975ff3da6b76886a89dcc110 /etc/acpi/events/fglrx-lid-aticonfig 63c597f0f7f6ac88887adc0c0ae00da9 /etc/acpi/fglrx-powermode.sh c217d4dd7b677d7cf1fbf565f197b721 /etc/OpenCL/vendors/amdocl64.icd 45a4b6c5182d693554c287765b369dfe Description: Minimal video driver for the AMD graphics accelerators Minimal video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides 2D display drivers. Homepage: http://support.amd.com
and remove from provides and conflicts section libopencl1
result:
Package: fglrx-core Status: install ok installed Priority: extra Section: restricted/misc Installed-Size: 184704 Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: amd64 Source: fglrx-installer Version: 2:14.501-0ubuntu1 Replaces: fglrx-driver-core, libopencl1 Provides: fglrx-driver-core Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1), lib32gcc1, libc6-i386, dkms, make, linux-libc-dev Conflicts: fglrx-driver-core Conffiles: /etc/acpi/events/fglrx-ac-aticonfig 9b0805ac975ff3da6b76886a89dcc110 /etc/acpi/events/fglrx-lid-aticonfig 63c597f0f7f6ac88887adc0c0ae00da9 /etc/acpi/fglrx-powermode.sh c217d4dd7b677d7cf1fbf565f197b721 /etc/OpenCL/vendors/amdocl64.icd 45a4b6c5182d693554c287765b369dfe Description: Minimal video driver for the AMD graphics accelerators Minimal video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides 2D display drivers. Homepage: http://support.amd.com
after that install playonlinux
Get more fps in games
Change your cpu profile to performance:
cpufreq-set -g performance
This change is not permanent, to make it permanent write this line to /etc/rc.local before "exit 0" . If needet install the cpufreq package first.
How to enable CrossFire manually in terminal
note : up to now ,as i know IOMMU need to be switched off ,best if IOMMU was "off"in bios when you was doing last installation of Ubuntu.. (some motherboards have that device,most older do not have it) so check your case with "lspci" and take a look in your Bios.. (non amd cpu motherboard can have it under other names(hints: Calgary,VT),but on AMD CPU Motherboards setting of that hardware device is located under North Bridge section in Bios if you have it on your motherboard. So i recommend to first check all pci devices with,spec. if you are unfamiliar with Bios or simply don't want to open it, if is not necessary ...
lspci
and then try this procedure ,and after take a look on kernel messages as there is usually this message as reason and explanation for non-success:
"... [fglrx] IOMMU is enabled, CrossFire are not supported on this platform"
(what means when IOMMU gonna be disabled Crossfire will be supported on this platform) or you can find this kernel message,too:
"... [fglrx] Disable IOMMU in BIOS options or kernel boot parameters to support CF"
Minimum do fast check with:(mostly only valid for amd cpu motherboards)
lspci | grep IOMMU
then if you do not find noting similar to: IOMMU: (one of examples :"Advanced Micro Devices, Inc. [AMD/ATI] RD990 I/O Memory Management Unit (IOMMU)") as if you find it,you will need to disable it,in Bios..and that is usually not enough in some cases,and can lead to need to recompile your kernel ,as with simple disabling you can lost support to usb mouse and usb keyboard(easy simple "dirty" workaround is to use ps2 keyboard,and if your motherboard have two ps2 ports ,you can use ps2 connection to usb keyboard and ps2 connection to usb mouse,otherwise, you was warned in advance! note:not all usb keyboard those days can work with usb to ps2 adapters,but some can,and ps2 keyboards are really cheapest ones.
so now, after you know AMD proven facts which can prevent CrossFire to be Enabled,and you are sure that you don't have IOMMU as hardware device ,or is already disabled,you are safe to proceed further:
Check if both cards system see,
amdconfig --lsa
if that is adapter 0 and 1 then ,just proceed,to add crossfire chain,this way
sudo amdconfig --cfa --adapter=0,1
(i read that some people reported that they need to reboot now,after this step to get success) then activate crossfire
sudo amdconfig --cf on --adapter=0,1
reboot,
sudo reboot
check increased performance in some benchmark (hint:basic version of popular windows benchmark for games --> Unigine Heaven is free for Ubuntu ) and enjoy comparing and improving performance..
this is valid for two separated single gpu card,but is similar on two gpu on one card,where crossfire is automatically enabled..and in similar way you can add third card to chain..or CrossFire two dual gpu cards, what is called quad CrossFire...
this is valid ,when you install driver for just one adapter,same like in manual above
just to be sure ,you can anytime check crossfire status with:
CrossFire Diagnostics:
amdconfig --lscs
note message if crossfire is enabled or disabled on current device!
note mesage about how CrossFire can work on your particular system, most will get just: CrossFire can work with P2P mapping through GART but two gpu on one card user, like in case of 6990 will be see mentioned side port connection..
and what you can officially pair with,you will see with:
amdconfig --lscc
note : that performance of same CrossFired cards, vary, and is not same if running on x16/x16 both,so called real one CrossFire motherboards(one of famous is Sabertooth ,and above) ,or on x16/x8 or on cheap CrossFire motherboards with x16/x4 lanes.. pciex2.0 or pciex3.0 still not make significant difference,or in most cases diff.at all..and almost is not really important like this mentioned above about lanes,and most motherboards have dedicated pciex number to install second and even third card to work as intended,so please check your motherboard manual about that.. Some cards really scale 99-100% and have double performance,but most are more close or more far away from that..so bench it! hint:Usually some in mid range,in every generation, are best in scaling..up to 100% note: two cards with diff gpu clock will work together on clock of less clocked card.. so workaround about that is obvious for those who wants even more perfomance..