Ubuntu Oneiric Installation Guide: Difference between revisions

From cchtml.com
 
(92 intermediate revisions by 54 users not shown)
Line 1: Line 1:
__TOC__
__TOC__
'''''[http://januvialawyers.tumblr.com/ Januvia Lawyers News Update]'''''


= The Options =
= The Options =
Line 28: Line 30:
This may not give you the latest drivers, but should be safest. On Ubuntu Oneiric, this will install Catalyst 8.881, which is roughly equivalent to Catalyst 11-8. NOTE: You must have the restricted repository enabled in Applications -> Ubuntu Software Center -> Edit -> Software Sources... for this to work. After you complete the install, skip to [[Ubuntu_Oneiric_Installation_Guide#Generate_a_new_.2Fetc.2FX11.2Fxorg.conf_file|Generate a new /etc/X11/xorg.conf file]].
This may not give you the latest drivers, but should be safest. On Ubuntu Oneiric, this will install Catalyst 8.881, which is roughly equivalent to Catalyst 11-8. NOTE: You must have the restricted repository enabled in Applications -> Ubuntu Software Center -> Edit -> Software Sources... for this to work. After you complete the install, skip to [[Ubuntu_Oneiric_Installation_Guide#Generate_a_new_.2Fetc.2FX11.2Fxorg.conf_file|Generate a new /etc/X11/xorg.conf file]].


=== Command line ===
sudo sh /usr/share/ati/fglrx-uninstall.sh
 
      sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
$ sudo apt-get install fglrx fglrx-amdcccle


=== GUI ===
=== GUI ===


You must have jockey-common and jockey-gtk (or jockey-kde for Kubuntu) packages installed. Go to the Additional Drivers Manager (System -> Administration -> Additional Drivers) and activate the "ATI/AMD proprietary FGLRX graphics driver" (or double-click the "available driver" notification icon). Ubuntu will then install and configure the driver for you.
You must have jockey-common and jockey-gtk (or jockey-kde for Kubuntu) packages installed. Go to the Additional Drivers Manager (System -> Administration -> Additional Drivers) and activate the "ATI/AMD proprietary FGLRX graphics driver" (or double-click the "available driver" notification icon). Ubuntu will then install and configure the driver for you.  For ocelot, go to the dashboard home and search for "Additional Drivers" in the applications search field.


== Installing Catalyst Manually (from AMD/ATI's site) ==
== Installing Catalyst Manually (from AMD/ATI's site) ==
I recommend copying and pasting the commands (do not include the leading '$') 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).
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''===
===''Before you start''===
Line 44: Line 45:


Install the prerequisite packages:
Install the prerequisite packages:
  $ sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases
  sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases linux-headers-generic
''If you are using the x86_64 architecture (64 bit), be sure to install "ia32-libs" before proceeding!''
 
  $ sudo apt-get install ia32-libs
''If you are using the x86_64 architecture (64 bit)'':
1. Install "ia32-libs" before proceeding!''
  sudo apt-get install ia32-libs
2. Create a symlink from /usr/lib64 to /usr/lib<ref>[http://ubuntucomputing.blogspot.com/2012/01/amd-catalyst-121-driver-on-hp-pavilion.html AMD Catalyst 12.1 Driver on HP Pavilion dv6t Quad Hybrid Radeon with Linux Mint 12 / Ubuntu 11.10 Oneiric - Ubuntu Computing]</ref> :
cd /usr ; sudo ln -svT lib /usr/lib64


You also need dkms:
sudo sh /usr/share/ati/fglrx-uninstall.sh
  $ sudo apt-get install dkms
  sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*


===''Download the latest Catalyst package.''===
===''Download the latest Catalyst package.''===
This package contains both the 32-bit and 64-bit driver.
This package contains both the 32-bit and 64-bit driver.
  $ cd ~/; mkdir catalyst{{Catalystversion}}; cd catalyst{{Catalystversion}}/
  cd ~/
  $ wget <nowiki>http://www2.ati.com/drivers/linux/ati-driver-installer-</nowiki>{{Catalystdashversion}}-x86.x86_64.run
mkdir catalyst{{15.12}}
cd catalyst{{15.12}}/
  wget <nowiki>http://www2.ati.com/drivers/linux/amd-</nowiki>{{Catalystdashversion}}-linux-x86.x86_64.zip
unzip amd-{{15.12}}-linux-x86.x86_64.zip
chmod +x amd-}15.12-linux-x86.x86_64.run


===''Create .deb packages.''===
===''Create .deb packages.''===
  $ sudo sh ./ati-driver-installer-{{Catalystdashversion}}-x86.x86_64.run --buildpkg Ubuntu/oneiric
  sudo sh ./amd-{{Catalystdashversion}}-linux-x86.x86_64.run --buildpkg Ubuntu/oneiric
It may take a while...


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


==''Generate a new /etc/X11/xorg.conf file''==
==''Generate a new /etc/X11/xorg.conf file''==
Line 68: Line 78:
=== Generic Config ===
=== Generic Config ===
This will work for most people:
This will work for most people:
  $ sudo aticonfig --initial -f
  sudo aticonfig --initial -f


=== Minimal Config ===
=== 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 aticonfig. Here follows the entirety of a minimal xorg.conf file for the Radeon 6870:
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 aticonfig. Here follows the entirety of a minimal xorg.conf file for the Radeon HD 6870:


  Section "Device"
  Section "Device"
Line 80: Line 90:
=== X2/Dual GPU Cards ===
=== 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!!'''
If you have an X2 card (e.g. 4870X2 or 5970), use... '''!!Do not use for two separate cards in crossfire!!'''
  $ sudo aticonfig --initial -f --adapter<nowiki>=</nowiki>all
  sudo aticonfig --initial -f --adapter<nowiki>=</nowiki>all


=== Dual/Multi Monitors ===
=== Dual/Multi Monitors ===
If you have a dual monitor display (also known as "Big Desktop"), use:
If you have a dual monitor display (also known as "Big Desktop"), use:
  $ sudo aticonfig --initial -f
  sudo aticonfig --initial -f
  $ sudo aticonfig --set-pcs-str<nowiki>=</nowiki>"DDX,EnableRandR12,FALSE"
  sudo aticonfig --set-pcs-str<nowiki>=</nowiki>"DDX,EnableRandR12,FALSE"
This was confirmed in http://phoronix.com/forums/showthread.php?t=18553.
This was confirmed in http://phoronix.com/forums/showthread.php?t=18553. Be advised that you may need to manually set the correct refresh rate for your second monitor through catalyst.


==''Force use of the new xorg.conf (if necessary)''==
==''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:
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 aticonfig <nowiki>--input=/etc/X11/xorg.conf --tls=1</nowiki>
  sudo aticonfig <nowiki>--input=/etc/X11/xorg.conf --tls=1</nowiki>


==''Test your installation''==
==''Test your installation''==
NOTE: if you don't reboot first, fglrxinfo gives an error message.
NOTE: if you don't reboot first, fglrxinfo gives an error message.
Reboot the computer and type
Reboot the computer and type
  $ fglrxinfo
  fglrxinfo
into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 11-8 and a RadeonHD 4550 returns:
into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 11-8 and a RadeonHD 4550 returns:
<pre>
<pre>
Line 106: Line 116:
</pre>
</pre>
Now, try:
Now, try:
  $ fgl_glxgears
  fgl_glxgears
If you experience issues or a hang, you may need to disable fast TLS.
If you experience issues or a hang, you may need to disable fast TLS.
  $ sudo aticonfig --tls=0
  sudo aticonfig --tls=0


===''Just in case''===
===''Just in case''===
Line 122: Line 132:
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
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


  $ sudo apt-get install xvba-va-driver libva-glx1 vainfo
  sudo apt-get install xvba-va-driver libva-glx1 vainfo
  $ vainfo
  vainfo


vainfo should return something like the following (and no errors):
vainfo should return something like the following (and no errors):
Line 138: Line 148:


Once you've confirmed that vainfo is correct, you can test video playback. A good test player for xvba is VLC. You can enable xvba in Tools -> Preferences -> Input and Codecs. Check the box named "Use GPU acceleration (experimental)" and then restart VLC.
Once you've confirmed that vainfo is correct, you can test video playback. A good test player for xvba is VLC. You can enable xvba in Tools -> Preferences -> Input and Codecs. Check the box named "Use GPU acceleration (experimental)" and then restart VLC.


=Updating Catalyst/fglrx=
=Updating Catalyst/fglrx=
Line 145: Line 154:


=Removing Catalyst/fglrx=
=Removing Catalyst/fglrx=
The uninstall script in the first command will only exist if you downloaded the drivers and installed the directly (rather than building packages as this guide does). Skip the first command if it does not exist.
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 sh /usr/share/ati/fglrx-uninstall.sh
  $ sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* xorg-driver-fglrx
  sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*


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 [https://wiki.ubuntu.com/X/Troubleshooting/FglrxInteferesWithRadeonDriver this Ubuntu wiki page]
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 [https://wiki.ubuntu.com/X/Troubleshooting/FglrxInteferesWithRadeonDriver this Ubuntu wiki page]
  $ sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
  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 xserver-xorg-video-ati
  $ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
  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
  sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
  $ sudo rm -rf /etc/ati
  sudo rm -rf /etc/ati
 
If you receive
 
$ E: Internal Error, No file name for libgl1-mesa-dri
 
Change the third command above to:
 
sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-glx:amd64 libgl1-mesa-dri:i386 libgl1-mesa-dri:amd64 xserver-xorg-core


= Issues =
= Issues =
== XvBA Video Acceleration ==
If vainfo returns an error, you may need to create a symlink:
sudo ln -s /usr/lib/va/drivers/fglrx_drv_video.so /usr/lib/dri/fglrx_drv_video.so
https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/821691


== Video Tearing ==
== Video Tearing ==
Line 162: Line 187:
AMD/ATI claims that the "Tear Free Video" option is enabled by default, but that wasn't the case on the default Oneiric version of Catalyst (maybe Ubuntu disables it by default?).
AMD/ATI claims that the "Tear Free Video" option is enabled by default, but that wasn't the case on the default Oneiric version of Catalyst (maybe Ubuntu disables it by default?).
If you're having issues with tearing, make sure that "Tear Free Video" is on. You can find this option in the Catalyst Control Center under 'Display Options' or you can use the following command:
If you're having issues with tearing, make sure that "Tear Free Video" is on. You can find this option in the Catalyst Control Center under 'Display Options' or you can use the following command:
  $ sudo aticonfig --sync-video=on
  sudo aticonfig --sync-video=on
The option will not take effect until you restart X.
The option will not take effect until you restart X.


Line 171: Line 196:


=== Compiz (Unity/GNOME-Shell) ===
=== Compiz (Unity/GNOME-Shell) ===
TODO
TODO: See if there's a friendlier way to make sure vsync is enabled without installing ccsm.
 


==== Install the compiz settings manager:  
Install the compiz settings manager:  
  $ sudo apt-get install compizconfig-settings-manager
  sudo apt-get install compizconfig-settings-manager
  $ ccsm
  ccsm


The 'Sync to Vblank' is found in the 'OpenGL' subsection of the 'General' group
The 'Sync to Vblank' is found in the 'OpenGL' subsection of the 'General' group
Line 183: Line 207:


There are two basic types of hybrid designs. Older hybrid systems use a multiplexor (mux) to switch between GPU's. Newer systems (those with PowerXpress >= 4.0) are muxless. As far as I can tell, PowerXpress 4.0 started with RadeonHD 6000-series GPU's, and systems with older ATI GPU's have a mux, but don't quote that.
There are two basic types of hybrid designs. Older hybrid systems use a multiplexor (mux) to switch between GPU's. Newer systems (those with PowerXpress >= 4.0) are muxless. As far as I can tell, PowerXpress 4.0 started with RadeonHD 6000-series GPU's, and systems with older ATI GPU's have a mux, but don't quote that.
=== ATI/ATI Hybrids ===
As of Catalyst 11-8, switching between two ATI cards (and maybe Intel/ATI muxless too?) is supposed to be doable, though I don't know if that applies to all ATI/ATI hybrids or only the muxless ones. One would use aticonfig's PowerXpress options to switch back and forth between the integrated and discrete cards, like so:
$ aticonfig --pxl            # List current activated GPU
$ sudo aticonfig --px-dgpu  # Activate discrete GPU (High-Performance mode), must re-start X to take effect
$ sudo aticonfig --px-igpu  # Activate integrated GPU (Power-Saving mode), must re-start X to take effect
After switching, one would log out and back in to restart X.


=== Intel/ATI Hybrids ===
=== Intel/ATI Hybrids ===
Line 200: Line 215:


Using open-source drivers and the vgaswitcheroo script may work better in this case.
Using open-source drivers and the vgaswitcheroo script may work better in this case.
== Catalyst 11-9 and KDE4 ==
Some KDE4 users are complaining of X crashes/segfaults when using Catalyst 11-9 with KDE4 (especially when starting/stopping kwin). This does not seem to be limited to Debian/Ubuntu, so it is probably a regression in Catalyst. The suggested workaround is to revert to an older Catalyst, either using the fglrx provided by Ubuntu or downloading Catalyst 11-8 from ATI's site. (Linky: http://www2.ati.com/drivers/linux/ati-driver-installer-11-8-x86.x86_64.run )


== Build Fails and Log Shows "mixed implicit and normal rules.  Stop." ==
== Build Fails and Log Shows "mixed implicit and normal rules.  Stop." ==


If the installation fails and you find the above message in /var/lib/dkms/fglrx/8.841/build/make.log, it may be because you're using a pentium-build wrapper around gcc. See what the following ls command returns:
If the installation fails and you find the above message in /var/lib/dkms/fglrx/8.841/build/make.log, it may be because you're using a pentium-build wrapper around gcc. See what the following ls command returns:
  $ ls -la /usr/bin/gcc
  ls -la /usr/bin/gcc
If it shows that gcc is a link to builder-cc, temporarily redirect the link to point to the real gcc (gcc-4.5 in Ubuntu Natty). This should allow you to install fglrx:
If it shows that gcc is a link to builder-cc, temporarily redirect the link to point to the real gcc (gcc-4.5 in Ubuntu Natty). This should allow you to install fglrx:
  $ sudo ln -sf /usr/bin/gcc-4.5 /usr/bin/gcc
  sudo ln -sf /usr/bin/gcc-4.5 /usr/bin/gcc
When you're finished installing the driver, return the gcc link to its original value:
When you're finished installing the driver, return the gcc link to its original value:
  $ sudo ln -sf /usr/bin/builder-cc /usr/bin/gcc
  sudo ln -sf /usr/bin/builder-cc /usr/bin/gcc
Launchpad link for this bug: https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/555957
Launchpad link for this bug: https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/555957


Line 218: Line 229:
Most likely, you probably did not have the "ia32-libs" package installed beforehand. If you have a 64 bit install, the above dpkg command may complain that "Errors were encountered while processing: fglrx-amdcccle".  This is because of a dependency of the amdccle package on 32 bit libraries.  If you receive this error, use the following command, which will force the installation of all of the 32 bit dependencies, and then the amdcccle package:
Most likely, you probably did not have the "ia32-libs" package installed beforehand. If you have a 64 bit install, the above dpkg command may complain that "Errors were encountered while processing: fglrx-amdcccle".  This is because of a dependency of the amdccle package on 32 bit libraries.  If you receive this error, use the following command, which will force the installation of all of the 32 bit dependencies, and then the amdcccle package:


  $ sudo apt-get -f install
  sudo apt-get -f install


Catalyst {{Template:Catalystversion}} on 64-bit systems may require the ''--force-overwrite'' command in the above ''dpkg'' command:
Catalyst {{Template:Catalystversion}} on 64-bit systems may require the ''--force-overwrite'' command in the above ''dpkg'' command:
  $ sudo dpkg -i --force-overwrite fglrx*.deb
  sudo dpkg -i --force-overwrite fglrx*.deb


== Problems Starting Xserver ==
== Problems Starting Xserver ==
Line 228: Line 239:


You can disable the xorg.conf with:
You can disable the xorg.conf with:
  $ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.disabled
  sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.disabled


Reboot and check to see if things work now.
Reboot and check to see if things work now.


You can reinstate the file with:
You can reinstate the file with:
  $ sudo mv /etc/X11/xorg.conf.disabled /etc/X11/xorg.conf
  sudo mv /etc/X11/xorg.conf.disabled /etc/X11/xorg.conf


Before tweaking ACPI settings, try ensuring /dev/null is chmodded to 0666. This intermittently changes when using the nano (and possibly other) editors with sudo and the group/world permissions are unset. This leads to the ATI drivers hanging on boot or otherwise. A quick and dirty init script saved as /etc/init/chmodnull does the trick for me -
Before tweaking ACPI settings, try ensuring /dev/null is chmodded to 0666. This intermittently changes when using the nano (and possibly other) editors with sudo and the group/world permissions are unset. This leads to the ATI drivers hanging on boot or otherwise. A quick and dirty init script saved as /etc/init/chmodnull does the trick for me -


  $ start on filesystem
  start on filesystem
$
 
  $ script
  script
$ chmod 0666 /dev/null
chmod 0666 /dev/null
$ chmod 0666 /lib/udev/devices/null
chmod 0666 /lib/udev/devices/null
  $ end script
  end script


This has been tested using Ubuntu 10.04 64-bit on a ATI Radeon HD 4830 (HP Envy 15-1060ea). It's worth noting that I had to disable TLS  (aticonfig --tls=0) to get things to stay stable!
This has been tested using Ubuntu 10.04 64-bit on a ATI Radeon HD 4830 (HP Envy 15-1060ea). It's worth noting that I had to disable TLS  (aticonfig --tls=0) to get things to stay stable!


If you've properly installed the driver, but experience problems when starting the X server, such as hanging, black/white/gray screen, distortion, etc., your system BIOS may have a buggy ACPI implementation. To work around, press Ctrl+Alt+F1 to get to a terminal (or failing that, boot to recovery mode) and run:
If you've properly installed the driver, but experience problems when starting the X server, such as hanging, black/white/gray screen, distortion, etc., your system BIOS may have a buggy ACPI implementation. To work around, press Ctrl+Alt+F1 to get to a terminal (or failing that, boot to recovery mode) and run:
  $ sudo aticonfig --acpi-services=off
  sudo aticonfig --acpi-services=off
If this method works, you should consider checking your system vendor's BIOS changelogs for relevant ACPI fixes, updating your BIOS, and reenabling the driver's ACPI services.
If this method works, you should consider checking your system vendor's BIOS changelogs for relevant ACPI fixes, updating your BIOS, and reenabling the driver's ACPI services.
== Slow Maximizing Windows/General 2D Slowness ==
As of Catalyst 10-6, a new, faster 2D acceleration method is used as the default, replacing the old XAA method. If you're not running compositing/desktop effects, and are having problems with 2D operations, you may want to fall back to the old XAA. This command will do that:
$ sudo aticonfig --set-pcs-str=DDX,ForceXAA,TRUE
In the last case (at least) it is essential to run it without the Xorg server working. To do so, press CTRL+ALT+F1, log in and type the following (this will close all your programs so save your work before):
$ sudo service gdm stop
$ sudo aticonfig --set-pcs-str=DDX,ForceXAA,TRUE
$ sudo service gdm start


== Unsupported Hardware Watermark ==
== Unsupported Hardware Watermark ==
Line 263: Line 265:


If you installed the proprietary driver included with Ubuntu or you do not want to upgrade to a newer version, it may be possible to work around the issue by using a control file from a newer version of Catalyst than the one you're running.
If you installed the proprietary driver included with Ubuntu or you do not want to upgrade to a newer version, it may be possible to work around the issue by using a control file from a newer version of Catalyst than the one you're running.
  $ cd ~/; mkdir catalyst{{Catalystversion}}; cd catalyst{{Catalystversion}}/
  cd ~/; mkdir catalyst{{Catalystversion}}; cd catalyst{{Catalystversion}}/
  $ wget <nowiki>http://www2.ati.com/drivers/linux/ati-driver-installer-</nowiki>{{Catalystdashversion}}-x86.x86_64.run
  wget <nowiki>http://www2.ati.com/drivers/linux/amd-driver-installer-</nowiki>{{Catalystdashversion}}-x86.x86_64.run
  $ chmod +x ati-driver-installer-{{Catalystdashversion}}-x86.x86_64.run
  chmod +x amd-driver-installer-{{Catalystdashversion}}-x86.x86_64.run
  $ sh ati-driver-installer-{{Catalystdashversion}}-x86.x86_64.run --extract driver
  sh amd-driver-installer-{{Catalystdashversion}}-x86.x86_64.run --extract driver
  $ sudo mv /etc/ati/control ~/control.bak
  sudo mv /etc/ati/control ~/control.bak
  $ sudo cp driver/common/etc/ati/control /etc/ati
  sudo cp driver/common/etc/ati/control /etc/ati


== Hang at logout ==
== Hang at logout ==
Line 277: Line 279:
(assuming that the installer is in the directory we used to install)
(assuming that the installer is in the directory we used to install)


  $ cd ~/catalyst{{Catalystversion}}
  cd ~/catalyst{{Catalystversion}}
  $ sh ati-driver-installer-{{Catalystversion}}-x86.x86_64.run --extract driver
  sh amd-driver-installer-{{Catalystversion}}-x86.x86_64.run --extract driver
  $ sudo cp driver/packages/Ubuntu/dists/lucid/replacements/authatieventsd.sh /etc/ati/authatieventsd.sh
  sudo cp driver/packages/Ubuntu/dists/lucid/replacements/authatieventsd.sh /etc/ati/authatieventsd.sh
  $ sudo chmod +x /etc/ati/authatieventsd.sh
  sudo chmod +x /etc/ati/authatieventsd.sh


This problem can be fixed permanently with:
This problem can be fixed permanently with:


  $ sudo mkdir -p /var/lib/xdm/authdir
  sudo mkdir -p /var/lib/xdm/authdir
  $ sudo ln -s /var/run/xauth /var/lib/xdm/authdir/authfiles
  sudo ln -s /var/run/xauth /var/lib/xdm/authdir/authfiles


If that doesn't work then you can disable atieventsd with this command:
If that doesn't work then you can disable atieventsd with this command:


  $ sudo /usr/sbin/update-rc.d -f atieventsd remove
  sudo /usr/sbin/update-rc.d -f atieventsd remove


You'll have to restart for this to take effect.
You'll have to restart for this to take effect.
Line 312: Line 314:
Another way to get it working is to do enable Composite, but when you want to suspend simply disable Compiz Fusion. How would you do that? Easy! Install the fusion-icon package (in repos by default):
Another way to get it working is to do enable Composite, but when you want to suspend simply disable Compiz Fusion. How would you do that? Easy! Install the fusion-icon package (in repos by default):


  $ sudo apt-get install fusion-icon
  sudo apt-get install fusion-icon


After you have done that, launch it (Applications > System > Compiz Fusion Icon) and it appears in your notification area. To switch, simply right-mouse click on the icon and select Metacity. Your desktop will flicker and windows will dissapear, but after a while they appear again. Now try to suspend.
After you have done that, launch it (Applications > System > Compiz Fusion Icon) and it appears in your notification area. To switch, simply right-mouse click on the icon and select Metacity. Your desktop will flicker and windows will dissapear, but after a while they appear again. Now try to suspend.
Line 330: Line 332:
   found `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/libGL.so.1.2.xlibmesa by xorg-driver-fglrx'</pre>
   found `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/libGL.so.1.2.xlibmesa by xorg-driver-fglrx'</pre>
then:
then:
  $ sudo dpkg-divert --remove /usr/lib/libGL.so.1.2
  sudo dpkg-divert --remove /usr/lib/libGL.so.1.2


== This module/version combo is already installed ==
== This module/version combo is already installed ==


If you get this error-message, simply uninstall the previous version before installing the new one with:
If you get this error-message, simply uninstall the previous version before installing the new one with:
  $ sudo dkms remove -m fglrx --all
  sudo dkms remove -m fglrx --all


== New kernel installed? ==
== New kernel installed? ==
In theory, DKMS should automatically install the fglrx kernel module for your new kernel the first time you boot it. Should you need to manually install it:
In theory, DKMS should automatically install the fglrx kernel module for your new kernel the first time you boot it. Should you need to manually install it:
  $ sudo dkms build -m fglrx -k `uname -r`
  sudo dkms build -m fglrx -k `uname -r`
  $ sudo dkms install -m fglrx -k `uname -r`
  sudo dkms install -m fglrx -k `uname -r`


if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf
if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf
[[Category:Installation Documentation]]
[[Category:Installation Documentation]]


== Aticonfig not found after installation & "module does not exist" after boot ==
Oliver, let me be a bit more specific then. AMD dveleopers have stated that they treat xorg.conf as  the configuration of the X server and /etc/ati/ as the configuration for their driver. All of xorg.conf gets treated as a  hint . While it appears that aticonf creates an xorg.conf file, in fact what it creates is a virtual xorg.conf file, but the real, effective configuration is in /etc/ati and that is the configuration that matters.As for documentation: compare the output of  aticonfig  help  to  , especially section 3 and appendixes from D onwards. As an example: it is possible to set a default overscan value with aticonfing. Can you find that in aticonfig  help ? No, because you need to use the   set-pcs-str  option with the correct (undocumented) parameters to do that, oh and you can not find them in that file too, because it does not appear in the file before it is set. Also, apparently you can set display size with aticonfig, but not refresh rate. Sure, you can set it with xrandr, but then it is not saved in /etc/ati/ and thus switches back when you restart X. Oh and don't try doing any changes to /etc/ati while the X server is running  fglrx will happily overwrite any of your changes on exit.It is madness!Oh and I was trying to get fglrx to work, because I bought a $200 video card with the explicit purpose of playing some semi-modern video games. The free driver is fantastic in 2D and in running Unity, but for real games, it is, unfortunately, way too slow and lacks most OpenGL features.
This scenario is possible when the driver installation has seemingly succeeded and is possibly related to previous fglrx installs, including those through Jockey (i.e. you first used drivers provided by Ubuntu but then upgraded to ones available from AMD's website). When doing aticonfig --initial after driver installation, you might end up not having the aticonfig available at all:
<pre>aticonfig: command not found</pre>
After booting you might receive X error '(EE) Failed to load module "fglrx" (module does not exist, 0)'. These do not necessarily indicate that the installation has failed completely. On command line, do
  $ ls /usr/lib/fglrx/bin
and see if the command lists some Ati related programs. If they are listed but not found from /usr/bin, it is possible that the "update-alternatives" fglrx .deb installation does has been ignored. See man update-alternatives for more information about the concept and workings of alternatives. In practice, update-alternatives is supposed to create several symbolic links to the files in the fglrx directory, but it will be ignored if the alternatives for the very related gl_conf entry has been set to manual. Do
$ update-alternatives --get-selections | grep gl_conf
and see if the mode is manual instead of auto and if mesa is mentioned instead of fglrx in the path that is printed. In this case you need to
$ sudo update-alternatives --set gl_conf /usr/lib/fglrx/ld.so.conf
to set fglrx as the active alternative. You can alternatively (no pun intended) and additionally change the gl_conf into automatic mode before the installation this way:
$ sudo update-alternatives --auto gl_conf
After that, the alternatives should automatically be configured correctly when the graphics driver .debs are installed.


== "update-alternatives: error" during install ==
== "update-alternatives: error" during install ==
Line 362: Line 353:
<pre>update-alternatives: error: unable to make /usr/lib/xorg/modules/drivers/fglrx_drv.so.dpkg-tmp a symlink to /etc/alternatives/fglrx_drv: No such file or directory</pre>
<pre>update-alternatives: error: unable to make /usr/lib/xorg/modules/drivers/fglrx_drv.so.dpkg-tmp a symlink to /etc/alternatives/fglrx_drv: No such file or directory</pre>
This can be easily solved by creating directory "drivers" under /usr/lib/xorg/modules/
This can be easily solved by creating directory "drivers" under /usr/lib/xorg/modules/
  $ sudo mkdir /usr/lib/xorg/modules/drivers
  sudo mkdir /usr/lib/xorg/modules/drivers


== 'Can't exec "debian/rules": Permission denied at /usr/bin/dpkg-buildpackage line 507.' during deb generation ==
== 'Can't exec "debian/rules": Permission denied at /usr/bin/dpkg-buildpackage line 507.' during deb generation ==
Line 369: Line 360:
This can happen when your /tmp folder is mounted with the option "noexec". The noexec is suggested by many howtos regarding Ubuntu on SSD, when placing the /tmp in memory.
This can happen when your /tmp folder is mounted with the option "noexec". The noexec is suggested by many howtos regarding Ubuntu on SSD, when placing the /tmp in memory.
A workaround can be found here: [http://serialized.net/2010/03/getting-around-tmpfs-noexec-problems/]
A workaround can be found here: [http://serialized.net/2010/03/getting-around-tmpfs-noexec-problems/]
== Black screen after uninstalling old amd drivers ==
Start you computer in recovery mode and exit to root shell.
Remount your partitions in rw mode:
mount -rw -o remount /
...
Go to your download directory and proceed with building and installing the drivers in recovery mode.
All should be fine after a reboot.
== References ==
<references/>

Latest revision as of 05:50, 12 September 2018

Januvia Lawyers News Update

The Options

Users with ATI cards have the following driver options:

  • vesa - very basic, lacks 2D/3D acceleration, and focuses on compatibility with all VESA-compliant graphics cards. It is good for starting the GUI environment when no accelerated driver is available/working, and little else.
  • ati - actually a thin wrapper that will invoke the radeon driver (or another ati open-source driver for pre-Radeon cards).
  • radeon - open source driver supporting all Radeon cards. This driver has excellent 2D acceleration and compatibility with the Linux graphics stack. 3D acceleration is sufficient for desktop effects and a nice set of native Linux games. Power management is now comparable to the Catalyst driver.
  • radeonhd - an alternate driver supporting R520-R7x0 hardware. This driver is now officially deprecated in favor of radeon. If you still want to try it, see: https://help.ubuntu.com/community/RadeonHD
  • Catalyst (a.k.a fglrx) a proprietary "blob" (closed source binary) driver designed by ATI, with 3D code based off of their Windows driver. Only RadeonHD chips are supported on recent Linux distros.

Updated Open Source Driver PPA's

Installing Proprietary Drivers a.k.a. Catalyst/fglrx

  • PLEASE READ FIRST!

Which cards are no longer supported by ATI? 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 Ubuntu Lucid/10.04 (and later). If you really need the proprietary Catalyst/fglrx driver, you will have to use an older Linux distribution, such as Debian Lenny/5.0.x or Ubuntu Hardy/8.04.x.

ATTENTION RADEON USERS

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 Oneiric (or anything later than Lucid/10,04)! !!!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.

Using Ubuntu-supplied fglrx/Catalyst

This may not give you the latest drivers, but should be safest. On Ubuntu Oneiric, this will install Catalyst 8.881, which is roughly equivalent to Catalyst 11-8. NOTE: You must have the restricted repository enabled in Applications -> Ubuntu Software Center -> Edit -> Software Sources... for this to work. After you complete the install, skip to Generate a new /etc/X11/xorg.conf file.

sudo sh /usr/share/ati/fglrx-uninstall.sh

      sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*

GUI

You must have jockey-common and jockey-gtk (or jockey-kde for Kubuntu) packages installed. Go to the Additional Drivers Manager (System -> Administration -> Additional Drivers) and activate the "ATI/AMD proprietary FGLRX graphics driver" (or double-click the "available driver" notification icon). Ubuntu will then install and configure the driver for you. For ocelot, go to the dashboard home and search for "Additional Drivers" in the applications search field.

Installing Catalyst Manually (from AMD/ATI's site)

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 build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases linux-headers-generic

If you are using the x86_64 architecture (64 bit): 1. Install "ia32-libs" before proceeding!

sudo apt-get install ia32-libs

2. Create a symlink from /usr/lib64 to /usr/lib[1] :

cd /usr ; sudo ln -svT lib /usr/lib64
sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*

Download the latest Catalyst package.

This package contains both the 32-bit and 64-bit driver.

cd ~/
mkdir catalystTemplate:15.12
cd catalystTemplate:15.12/
wget http://www2.ati.com/drivers/linux/amd-15-12-linux-x86.x86_64.zip
unzip amd-Template:15.12-linux-x86.x86_64.zip
chmod +x amd-}15.12-linux-x86.x86_64.run

Create .deb packages.

sudo sh ./amd-15-12-linux-x86.x86_64.run --buildpkg Ubuntu/oneiric

It may take a while...

Install .debs.

sudo dpkg -i fglrx*.deb

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 aticonfig --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 aticonfig. Here follows the entirety of a minimal xorg.conf file for the Radeon HD 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 aticonfig --initial -f --adapter=all

Dual/Multi Monitors

If you have a dual monitor display (also known as "Big Desktop"), use:

sudo aticonfig --initial -f
sudo aticonfig --set-pcs-str="DDX,EnableRandR12,FALSE"

This was confirmed in http://phoronix.com/forums/showthread.php?t=18553. Be advised that you may need to manually set the correct refresh rate for your second monitor through catalyst.

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 aticonfig --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 ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 11-8 and a RadeonHD 4550 returns:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 4550 (This line may be different depending on what graphics card you are using.)
OpenGL version string: 3.3.11005 Compatibility Profile Context (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 aticonfig --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.

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

sudo apt-get install xvba-va-driver libva-glx1 vainfo
vainfo

vainfo should return something like the following (and no errors):

     libva: libva version 0.32.0
     Xlib:  extension "XFree86-DRI" missing on display ":0.0".
     libva: va_getDriverName() returns 0
     libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
     libva: va_openDriver() returns 0
     vainfo: VA API version: 0.32
     vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
     vainfo: Supported profile and entrypoints
     VAProfileH264High               :	VAEntrypointVLD
     VAProfileVC1Advanced            :	VAEntrypointVLD

Once you've confirmed that vainfo is correct, you can test video playback. A good test player for xvba is VLC. You can enable xvba in Tools -> Preferences -> Input and Codecs. Check the box named "Use GPU acceleration (experimental)" and then restart VLC.

Updating Catalyst/fglrx

DO NOT try to install a new version over an old one. Follow the 'Removing Catalyst/fglrx' section below to remove your existing driver, and then you can start at 'Downloading the latest Catalyst' to install the new one.

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*

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
sudo rm -rf /etc/ati

If you receive

$ E: Internal Error, No file name for libgl1-mesa-dri

Change the third command above to:

sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-glx:amd64 libgl1-mesa-dri:i386 libgl1-mesa-dri:amd64 xserver-xorg-core

Issues

XvBA Video Acceleration

If vainfo returns an error, you may need to create a symlink:

sudo ln -s /usr/lib/va/drivers/fglrx_drv_video.so /usr/lib/dri/fglrx_drv_video.so

https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/821691

Video Tearing

AMD/ATI claims that the "Tear Free Video" option is enabled by default, but that wasn't the case on the default Oneiric version of Catalyst (maybe Ubuntu disables it by default?). If you're having issues with tearing, make sure that "Tear Free Video" is on. You can find this option in the Catalyst Control Center under 'Display Options' or you can use the following command:

sudo aticonfig --sync-video=on

The option will not take effect until you restart X.

If you're using compositing, you should also make sure that vsync is enabled in the compositor's settings. I found that vsync was enabled by default, but here are the appropriate settings should you want to experiment.

kwin

You can enable vsync for kwin in System Settings -> Desktop Effects -> Advanced tab

Compiz (Unity/GNOME-Shell)

TODO: See if there's a friendlier way to make sure vsync is enabled without installing ccsm.

Install the compiz settings manager:

sudo apt-get install compizconfig-settings-manager
ccsm

The 'Sync to Vblank' is found in the 'OpenGL' subsection of the 'General' group

Hybrid Graphics and Catalyst

There are two basic types of hybrid designs. Older hybrid systems use a multiplexor (mux) to switch between GPU's. Newer systems (those with PowerXpress >= 4.0) are muxless. As far as I can tell, PowerXpress 4.0 started with RadeonHD 6000-series GPU's, and systems with older ATI GPU's have a mux, but don't quote that.

Intel/ATI Hybrids

Use of Catalyst on older systems (those with a mux) is no longer supported. I have one report of switching success with Catalyst 11-6, but ATI has now disabled switching in Catalyst, even if it worked fine with older Catalyst versions. X will refuse to start and you will find this message in your Xorg log:

 (WW) PowerXpress feature is not supported on A+I Mux platform. Please uninstall fglrx driver.
 (EE) No devices detected.

Using open-source drivers and the vgaswitcheroo script may work better in this case.

Build Fails and Log Shows "mixed implicit and normal rules. Stop."

If the installation fails and you find the above message in /var/lib/dkms/fglrx/8.841/build/make.log, it may be because you're using a pentium-build wrapper around gcc. See what the following ls command returns:

ls -la /usr/bin/gcc

If it shows that gcc is a link to builder-cc, temporarily redirect the link to point to the real gcc (gcc-4.5 in Ubuntu Natty). This should allow you to install fglrx:

sudo ln -sf /usr/bin/gcc-4.5 /usr/bin/gcc

When you're finished installing the driver, return the gcc link to its original value:

sudo ln -sf /usr/bin/builder-cc /usr/bin/gcc

Launchpad link for this bug: https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/555957

"Errors were encountered while processing: fglrx-amdcccle" (on 64-bit systems)

Most likely, you probably did not have the "ia32-libs" package installed beforehand. If you have a 64 bit install, the above dpkg command may complain that "Errors were encountered while processing: fglrx-amdcccle". This is because of a dependency of the amdccle package on 32 bit libraries. If you receive this error, use the following command, which will force the installation of all of the 32 bit dependencies, and then the amdcccle package:

sudo apt-get -f install

Catalyst 15.12 on 64-bit systems may require the --force-overwrite command in the above dpkg command:

sudo dpkg -i --force-overwrite fglrx*.deb

Problems Starting Xserver

If you get a black screen hang, the first thing to check is if xorg.conf is the problem.

You can disable the xorg.conf with:

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.disabled

Reboot and check to see if things work now.

You can reinstate the file with:

sudo mv /etc/X11/xorg.conf.disabled /etc/X11/xorg.conf

Before tweaking ACPI settings, try ensuring /dev/null is chmodded to 0666. This intermittently changes when using the nano (and possibly other) editors with sudo and the group/world permissions are unset. This leads to the ATI drivers hanging on boot or otherwise. A quick and dirty init script saved as /etc/init/chmodnull does the trick for me -

start on filesystem
script

chmod 0666 /dev/null chmod 0666 /lib/udev/devices/null

end script

This has been tested using Ubuntu 10.04 64-bit on a ATI Radeon HD 4830 (HP Envy 15-1060ea). It's worth noting that I had to disable TLS (aticonfig --tls=0) to get things to stay stable!

If you've properly installed the driver, but experience problems when starting the X server, such as hanging, black/white/gray screen, distortion, etc., your system BIOS may have a buggy ACPI implementation. To work around, press Ctrl+Alt+F1 to get to a terminal (or failing that, boot to recovery mode) and run:

sudo aticonfig --acpi-services=off

If this method works, you should consider checking your system vendor's BIOS changelogs for relevant ACPI fixes, updating your BIOS, and reenabling the driver's ACPI services.

Unsupported Hardware Watermark

This can happen if your card's PCI ID wasn't officially certified to work with a particular version of Catalyst. It does not necessarily mean that your card is unsupported, but it does mean that you shouldn't file bugs with that particular card/driver combination. If you installed the driver by downloading it from AMD/ATI, installing a newer version of Catalyst will probably help.

If you installed the proprietary driver included with Ubuntu or you do not want to upgrade to a newer version, it may be possible to work around the issue by using a control file from a newer version of Catalyst than the one you're running.

cd ~/; mkdir catalyst15.12; cd catalyst15.12/
wget http://www2.ati.com/drivers/linux/amd-driver-installer-15-12-x86.x86_64.run
chmod +x amd-driver-installer-15-12-x86.x86_64.run
sh amd-driver-installer-15-12-x86.x86_64.run --extract driver
sudo mv /etc/ati/control ~/control.bak
sudo cp driver/common/etc/ati/control /etc/ati

Hang at logout

If you experience hangs when logging out (of X) it is probably due to the /etc/ati/authatieventsd.sh script looking for X authorization files in the wrong place when it starts up. You can kill the hanging authatieventsd.sh processes from a console tty to allow the shutdown of the X server.

Before the following commands verify that /etc/ati/authatieventsd.sh exists after build and install, if not just do: (assuming that the installer is in the directory we used to install)

cd ~/catalyst15.12
sh amd-driver-installer-15.12-x86.x86_64.run --extract driver
sudo cp driver/packages/Ubuntu/dists/lucid/replacements/authatieventsd.sh /etc/ati/authatieventsd.sh
sudo chmod +x /etc/ati/authatieventsd.sh

This problem can be fixed permanently with:

sudo mkdir -p /var/lib/xdm/authdir
sudo ln -s /var/run/xauth /var/lib/xdm/authdir/authfiles

If that doesn't work then you can disable atieventsd with this command:

sudo /usr/sbin/update-rc.d -f atieventsd remove

You'll have to restart for this to take effect.

Suspend/Hibernation

Suspend hibernation works with the latest driver.

For Radeon 3200, to wake up from suspend, I had to add the following lines to /etc/X11/xorg.conf: (This settings is not good option, if you are using compiz-fusion or any other transparency-based thingie. Not working for HD 3850)

Section "Extensions"
        Option        "Composite"        "Disable"
EndSection

Section "ServerFlags"
       Option  "AIGLX" "off" 
EndSection

Another way to get it working is to do enable Composite, but when you want to suspend simply disable Compiz Fusion. How would you do that? Easy! Install the fusion-icon package (in repos by default):

sudo apt-get install fusion-icon

After you have done that, launch it (Applications > System > Compiz Fusion Icon) and it appears in your notification area. To switch, simply right-mouse click on the icon and select Metacity. Your desktop will flicker and windows will dissapear, but after a while they appear again. Now try to suspend.

When you wake up again, you can (hopefully) unlock your screen and there you go! Now you want Compiz back again, so right-mouse-click on the Compiz Fusion Icon and select Compiz again. Desktop flickering again, but then voila! Your Compiz Fusion Desktop is back again! (At least, that is how it is supposed to work)

KNOWN PROBLEM: When you switch back, all your windows are on the same desktop. This happens because you switched to metacity.

Hopefully this helped some people, as it did for me! Solution posted by zwyber@gmail.com

Can't remove fglrx with dpkg (diversion issue)

If dpkg refuses to remove an fglrx package and complains about a diversion of a file, you might need to manually remove it. For example, if dpkg complains:

dpkg-divert: mismatch on divert-to
  when removing `diversion of /usr/lib/libGL.so.1.2 to /usr/share/fglrx/diversions/libGL.so.1.2 by xorg-driver-fglrx'
  found `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/libGL.so.1.2.xlibmesa by xorg-driver-fglrx'

then:

sudo dpkg-divert --remove /usr/lib/libGL.so.1.2

This module/version combo is already installed

If you get this error-message, simply uninstall the previous version before installing the new one with:

sudo dkms remove -m fglrx --all

New kernel installed?

In theory, DKMS should automatically install the fglrx kernel module for your new kernel the first time you boot it. Should you need to manually install it:

sudo dkms build -m fglrx -k `uname -r`
sudo dkms install -m fglrx -k `uname -r`

if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf

Oliver, let me be a bit more specific then. AMD dveleopers have stated that they treat xorg.conf as the configuration of the X server and /etc/ati/ as the configuration for their driver. All of xorg.conf gets treated as a hint . While it appears that aticonf creates an xorg.conf file, in fact what it creates is a virtual xorg.conf file, but the real, effective configuration is in /etc/ati and that is the configuration that matters.As for documentation: compare the output of aticonfig help to , especially section 3 and appendixes from D onwards. As an example: it is possible to set a default overscan value with aticonfing. Can you find that in aticonfig help ? No, because you need to use the set-pcs-str option with the correct (undocumented) parameters to do that, oh and you can not find them in that file too, because it does not appear in the file before it is set. Also, apparently you can set display size with aticonfig, but not refresh rate. Sure, you can set it with xrandr, but then it is not saved in /etc/ati/ and thus switches back when you restart X. Oh and don't try doing any changes to /etc/ati while the X server is running fglrx will happily overwrite any of your changes on exit.It is madness!Oh and I was trying to get fglrx to work, because I bought a $200 video card with the explicit purpose of playing some semi-modern video games. The free driver is fantastic in 2D and in running Unity, but for real games, it is, unfortunately, way too slow and lacks most OpenGL features.

"update-alternatives: error" during install

During installation you may receive the following message:

update-alternatives: error: unable to make /usr/lib/xorg/modules/drivers/fglrx_drv.so.dpkg-tmp a symlink to /etc/alternatives/fglrx_drv: No such file or directory

This can be easily solved by creating directory "drivers" under /usr/lib/xorg/modules/

sudo mkdir /usr/lib/xorg/modules/drivers

'Can't exec "debian/rules": Permission denied at /usr/bin/dpkg-buildpackage line 507.' during deb generation

During installation you may receive the following message:

Can't exec "debian/rules": Permission denied at /usr/bin/dpkg-buildpackage line 507.

This can happen when your /tmp folder is mounted with the option "noexec". The noexec is suggested by many howtos regarding Ubuntu on SSD, when placing the /tmp in memory. A workaround can be found here: [1]

Black screen after uninstalling old amd drivers

Start you computer in recovery mode and exit to root shell. Remount your partitions in rw mode:

mount -rw -o remount /
...

Go to your download directory and proceed with building and installing the drivers in recovery mode. All should be fine after a reboot.

References