FglrxInteferesWithRadeonDriver

Differences between revisions 13 and 14
Revision 13 as of 2011-11-04 01:53:37
Size: 4906
Editor: dsl-189-230-75-30-dyn
Comment:
Revision 14 as of 2012-04-14 02:11:09
Size: 0
Editor: static-50-53-79-63
Comment: Merged into X/Troubleshooting/VideoDriverDetection
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#title Troubleshooting when -fglrx Interferes with -radeon Driver
||<tablestyle="font-size: 0.9em; background:#F1F1ED;margin: 0 0 1em 1em;" style="padding:2.0em;"><<TableOfContents(2)>>||

The -fglrx driver does not always uninstall properly, and leaves bits behind which can cause failures in -ati.

'''Symptoms''':
 * You had -fglrx installed previously but have switched to -ati, and now are seeing various odd problems including one or more of the following:
   * Failure to boot, perhaps including an error mentioning MTRRs
   * Performance issues
   * Monitor power management stops working
   * glxgears/glxinfo fails to work
   * Various crashes, freezes, rendering errors, etc.

'''Non-Symptoms''':
 * If you've never had -fglrx installed on your system, there is no chance you have this problem

== How It Works ==

The fglrx driver includes kernel components which don't always get fully uninstalled when switching to -ati. In addition, -fglrx provides its own fglrx-specific version of libgl, which can cause breakage when running -ati.

In theory, apt should be able to clean up all the fglrx bits properly, but in practice there are many corner cases where bits get left behind.

Try:
{{{
 dpkg -l '*fglrx*'
}}}
and
{{{
 locate fglrx
}}}
to see if there is still some proprietary bits around causing problems.

== Problem: Need to purge -fglrx ==

Typically, the following manual commands will properly uninstall -fglrx:

{{{
  sudo apt-get remove --purge xorg-driver-fglrx fglrx*
  sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri fglrx-modaliases
  sudo dpkg-reconfigure xserver-xorg
}}}

If you want desktop effects (compiz or KDE) you'll need the glx module loaded. This will not work even after purging fglrx since a hanging `libglx.so` file is left around. Both fglrx and `xserver-xorg-core` provide this file so to replace it with the correct version you'll need to reinstall xserver-xorg-core as well.

{{{
   sudo apt-get install --reinstall xserver-xorg-core
}}}


== Problem: Need to fully remove -fglrx and reinstall -ati from scratch ==

Here is a more aggressive recipe which removes both -fglrx and -ati, and reinstalls the latter:

{{{
  sudo /usr/share/ati/fglrx-uninstall.sh # (if it exists)
  sudo apt-get remove --purge fglrx*
  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 dpkg-reconfigure xserver-xorg
}}}

For systems with multiarch enabled (Oneiric has it by default), if you have installed more than one architecture of a package, you have to specify each to reinstall them (or you will get an "E: Internal Error, No file name for libgl1-mesa-glx"):

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

To check which architectures you have installed, you must use dpkg, as no other program has such feature yet:
{{{
  dpkg --get-selections|grep libgl1-mesa
libgl1-mesa-dri install
libgl1-mesa-dri:i386 install
libgl1-mesa-glx install
libgl1-mesa-glx:i386 install

}}}

Optionally, if you want the proprietary fglrx/Catalyst driver to be installable through the Restricted Hardware Driver Manager (a.k.a. jockey), you'll need to:
{{{
  sudo apt-get install fglrx-modaliases
}}}

Then reboot (or fix up the kernel modules and restart gdm).

== Problem: Need to fully remove -nvidia and reinstall -nv from scratch ==

A similar issue exists for -nvidia/-nv, for similar reasons. People don't run into it quite as much since -nv doesn't tap 3D functionalities as often, but it still happens.

The nvidia kernel module is loading from the proprietary drivers, but x is trying to load xserver-xorg-video-nv. If you installed the binary drivers from nvidia.com to get into this situation you will want to run sudo nvidia-settings --uninstall and then install the binary drivers provided by ubuntu instead after you reboot. if thats not the case you can do a sudo apt-get install nvidia-graphics-drivers-185 and it will overwrite your xorg.conf with the needed one.


== How to File a Bug Report ==

It is generally known that incomplete -fglrx uninstallations can interfere with -ati, so no bug reports need be filed for the issues that arise from this. See [[https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/285603|bug #285603]] in particular.

However, if you have specific recommendations or ideas on how to improve the transition process, please feel free to file wishlist bugs against {{{fglrx-installer}}} explaining the idea in detail.

X/Troubleshooting/FglrxInteferesWithRadeonDriver (last edited 2012-05-25 16:00:15 by bas5-toronto47-1177552983)