Ubuntu Utopic Installation Guide: Difference between revisions

From cchtml.com
(added bios section where is usually located IOMMU settings)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 200: Line 200:
== How to enable CrossFire manually in terminal ==
== 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..
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 under other names(hints: Calgary,VT),but on AMD cpu motherboard that is
(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.
located under North Bridge section in Bios if you have it on your motherboard.
so i recommend to first check all pci devices with  
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
   lspci
and then try this procedure ,and after take a look on logs,and kernel messages as there is usually this message as reason and explanation for non-success:
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"
  "... [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"


or at minimum do fast check with:(mostly only valid for amd cpu motherboards)
Minimum do fast check with:(mostly only valid for amd cpu motherboards)
   lspci | grep IOMMU
   lspci | grep IOMMU
then if you do not find noting similar to:
then if you do not find noting similar to:
IOMMU: Advanced Micro Devices, Inc. [AMD/ATI] RD990 I/O Memory Management Unit (IOMMU)
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!  
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.
note:not all usb keyboard those days can work with usb to ps2 adapters,but some can,and ps2 keyboards are really cheapest ones.

Latest revision as of 02:08, 11 July 2015

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