Installing Ubuntu’s fglrx proprietary catalyst drivers

The preferred way is to install them from the Software Center:

fglrx-amdccce-updates
fglrx-updates
fglrx-updates-dev

If you don’t want to/can’t go (because you have existing ones or because you want the latest ones) with the “official” packages, it’s a little trickier, and you may break your distribution and have a really hard time bringing graphics back. But anyway, here it goes.

Found some information mainly from the following pages and others (too many to list):

If  you want to uninstall existing fglrx drivers:

apt-get purge “fglrx*”

Download and unzip the latest drivers from the AMD website (currently http://support.amd.com/en-us/kb-articles/Pages/latest-linux-beta-driver.aspx).

As root (this is for Ubuntu 12.04):

./amd-driver-*.run –buildpkg Ubuntu/precise

It may complain here that some packages are required. Install them using apt-get install …

The latest version also shows a text-based interface, it then generates 3 .deb packages that now need to be installed as root:

dpkg -i *.deb

Now generate the config file for X:

aticonfig –initial

With the proprietary drivers, the kernel doesn’t work with mode. In /etc/default/grub, check the line:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

Replace it with:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nomodeset”

Run the following for grub to regenerate its config file:

update-grub
// found this too if booting with EFI: grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg

Now reboot.

After the reboot, check the drivers:

fglrxinfo

If you have trouble with your new version, you can also check others that may still be available on your system:

apt-cache showpkg fglrx
apt-cache policy fglrx

You will get the different versions that can be installed, such as:

Provides:
2:13.101-0ubuntu0.0.1 – xorg-driver-video xorg-driver-binary fglrx-driver
2:8.960-0ubuntu1 – fglrx-driver

Reverting to version 2.8:

apt-get install fglrx=2:8.960-0ubuntu1 -V

I had some trouble getting the cards to be recognized by OpenCL, even though they were recognized correctly by ADL. Tried several version of ADL and fglrx without success, applied several fixes gathered here and there on the internet. Amdcccle also didn’t save its configuration correctly. I was getting the error:

“ADL found less devices than OpenCL!
There is possibly more than one display attached to a GPU
Use the GPU map feature reliably map Opencl to ADL
WARNING The number of Opencl and ADL devices did not match!
Hardware monitoring may not match up with devices!”

I couldn’t solve this until I did 3 things (not exactly sure which one is the culprit – maybe they were all needed):

-I discovered that gpumanager, one app installed in LUbuntu, is actually trashing your work away… this f**** (fellow) is wiping out your /etc/X11/xorg.conf file at every reboot! So I disabled it by commenting out these lines in /etc/init/gpu-manager.conf:

#start on (starting lightdm
# or starting kdm
# or starting xdm
# or starting lxdm)

-I installed boinc manager for amd, this probably helps opencl,

-make sure that the OpenCL that is actually used is from fglrx, to do this, type:

ldd /usr/bin/clinfo

If the result contains AMD_APP instead of fglrx, then you have the wrong version. To fix this, you have to comment the line where it is added in /etc/profile. In addition, the installer places two files in your /etc/ld.so.conf.d directory: amdapp_x86.conf and amdapp_x86_64.conf. You need to delete both files. Then finish it off with ldconfig.

Finally, run aticonfig –initial -f –adapter=all again to regenerate a correct xorg.conf. If necesary, have a look at the file, and make sure you have 2 (or more depending on the number of core GPUs you have) cards enabled.

With all those fixes in place, you should be good to go and reboot!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s