How to use fglrx proprietary driver for dual ATI Radeon HD 5670 CrossfireX in Ubuntu 14.04?

I have tried to use fglrx proprietary driver for ATI Radeon HD 5670 in Ubuntu 14.04 but when I install it (using either apt-get or the "Additional Drivers" tab in "Software & Updates" application) I get a blank screen in the next reboot instead of the login screen.

I have 2 GPUs working in "dual" mode (Crossfire).

I have tried both fglrx and fglrx-updates with the same result for both.

I followed all the steps in the Help Wiki but same problem persists.

Output of grep "] (EE)" /var/log/Xorg.0.log:

[    10.550] (EE) open /dev/dri/card0: No such file or directory
[    10.769] (EE) AIGLX error: failed to open /usr/X11R6/lib64/modules/dri/fglrx_dri.so, error[/usr/X11R6/lib64/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]
[    10.769] (EE) AIGLX error: failed to open /usr/lib64/dri/fglrx_dri.so, error[/usr/lib64/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]
[    10.769] (EE) AIGLX error: failed to open /usr/X11R6/lib/modules/dri/fglrx_dri.so, error[/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory]

I also tried:

  • setting nomodeset parameter at boot

  • ln -s /usr/lib /usr/lib64

but problem persists.


Solution 1:

(start rant) I post my solution here if someone stumbles on the same quite annoying issue. This bug has many implications for the efficient running of your Trusty Tahr desktop. If you work at Ubuntu, I am very perplexed as to why your team won't solve this. Many people have this issue, and your LTS, an otherwise fine release, is atrociously slow, unstable and buggy for this issue. (end rant)

This fix for me, it meant better --- no, strike that--- usable --- running of the browsers we all commonly use--firefox and/or chrome.

Follow instructions in this page and install the linux-headers-generic and fglrx-updates and fglrx-amdcccle-updates. Then, you run in to the errors stated in this original question. At this point, you are ready for the simple fix (notwithstanding the fact that it took a week for me to get here-obviously, the fix is obvious once it is stated simply):

sudo ln -s /usr/lib /usr/lib64
sudo mkdir -p /usr/X11R6/lib64/modules/dri/
sudo ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib64/modules/dri/fglrx_dri.so 

When you are done, you should be able to check the following:

root@mysillymachine:/usr/X11R6/lib64/modules/dri# ls -liat
total 8
4198453 drwxr-xr-x 2 root root 4096 Aug 27 10:19 .
4198454 lrwxrwxrwx 1 root root   25 Aug 27 10:19 fglrx_dri.so ->  /usr/lib/dri/fglrx_dri.so
4198452 drwxr-xr-x 3 root root 4096 Aug 27 10:19 ..

Solution 2:

(EE) open /dev/dri/card0: No such file or directory indicates that the kernel module for the card isn't loaded. The possible scenarios I see are that either your card isn't supported anymore (in which case the opensource driver is a good alternative with very good performance) or that the driver couldn't be built correctly on installation.

Make sure your have the package linux-headers-generic installed and reinstall your drivers.

After installing the drivers through the Additional Drivers tab, run sudo aticonfig --initial -f in a terminal and reboot your machine.

Solution 3:

sudo ln -s /usr/lib /usr/lib64
sudo mkdir -p /usr/X11R6/lib64/modules/dri/
sudo ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib64/modules/dri/fglrx_dri.so 
cd /usr/X11R6/lib64/modules/dri/

myuser@ubuntu:/usr/X11R6/lib64/modules/dri$ ls -ltr
total 0
lrwxrwxrwx 1 root root 25 Abr  4 12:37 fglrx_dri.so -> /usr/lib/dri/fglrx_dri.so
myuser@ubuntu:/usr/X11R6/lib64/modules/dri$