From Fedora Project Wiki
 
(Mike's email is now probably totally obsolete; let's not mention it)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Using 3rd Party Video Drivers =
= Using 3rd Party Video Drivers =


There have been a number of bugs reported in Red Hat bugzilla against X which have recently been tracked down to 3rd party video drivers being the culprit behind the problem the user was experienced. In many of the cases however, it wasn't obvious that the 3rd party drivers were at fault because the user was actually using the Red Hat supplied drivers, and not using the 3rd party driver that they had previously installed.
A number of bugs reported against X in Red Hat bugzilla have been tracked down to 3rd party video drivers. In many cases, however, it isn't immediately apparent that the fault lies with the 3rd party driver because the error occurs while the user is using a Red Hat supplied driver, and not the previously installed 3rd party driver.


Developers have spent hours diagnosing issues of this nature which have later turned out to be caused by proprietary drivers having been "installed" on the system, whether they were actually being used or not, you should be informed of some pitfalls you may encounter if you even install 3rd party video drivers.
Installing 3rd party drivers on your system can cause problems with X, ''even when they are not selected for use''. You should be aware of the issues and potential complications arising from installing 3rd party drivers on your system.


Both ATI and Nvidia, and perhaps even other 3rd party drivers out there come in some form of tarball or equivalent form from the particular vendor. Most users seem to favour the hardware vendor supplied drivers directly, rather than using more sanely packaged 3rd party packages that contain the same drivers. This is very unfortunate, because installing these 3rd party tarball driver installations is very harmful to your clean OS installation.
3rd party graphics drivers are generally available directly from the vendor, such as ATI or Nvidia. Some are also available in packaged form. 3rd party graphics drivers that have been sanely packaged specifically for use with Fedora are preferable to tarballs or improperly packaged rpms. Installing 3rd party graphics drivers from tarballs or improperly packaged rpms can cause system instability.


Both ATI and Nvidia's proprietary video driver installation utilities replace the Red Hat supplied libGL library with their own libGL.  Nvidia's driver installs a replacement libglx.a X server module, removing the Red Hat supplied X.Org module in the process.  ATI's driver may or may not replace libglx.a with it's own, I haven't checked (but if someone could confirm that, I'd appreciate knowing for certain).
Both ATI and Nvidia's proprietary video driver installation utilities currently (as of May 2009) replace the Red Hat supplied libGL library with their own libGL.  Nvidia's driver additionally installs a replacement libglx.a X server module, removing the Red Hat supplied X.Org module in the process.  ATI's driver may or may not replace libglx.a. (if anyone can confirm that, please edit it in).


Once you have either of these drivers installed on your system, you can no longer use DRI with any video card.  So if you install the ATI fglrx driver, while you should still be able in theory at least to use the Red Hat supplied radeon driver, you may no longer be able to use DRI with the radeon driver, because ATI's driver has blown away critical files that come with the OS that are needed for proper operation.
Once you have either of these drivers installed on your system, you can no longer use DRI with your video card.  For example, if you install the ATI fglrx using the ATI installer even if you switch back to the Red Hat supplied radeon driver you will not be able to use DRI. The ATI driver installer has replaced system files needed for proper operation.


If you install Nvidia's driver, and later decide to install an ATI card, and still have Nvidia's driver installed, bang - you will not be able to get Red Hat supplied DRI 3D acceleration to work.  You must remove Nvidia's driver completely from your hard disk, and completely reinstall all of the xorg-x11 and mesa packages, and ensure they are all intact by using:
If you install Nvidia's driver and later replace your Nvidia card with a different card, unless you completely remove the Nvidia driver and restore the replaced system files you will not be able to get Fedora-supplied DRI 3D acceleration to work.  You must remove Nvidia's driver completely from your hard disk. Usually, correctly uninstalling Nvidia's driver will cause the original system files to be restored, but if this does not work, you will have to reinstall all xorg-x11 and mesa packages.
 
To remove the proprietary Nvidia driver, if you installed it using the Nvidia installer, run:
<pre>
sh NVIDIA-Linux-(arch)-(version)-(pkgX).run --uninstall
</pre>
The NVIDIA installer filename varies from release to release and architecture to architecture, just substitute whatever the exact filename of the installer you used is. You can verify that the original files are intact using:


<pre>
<pre>
Line 17: Line 23:
</pre>
</pre>


Another problem being reported by a few people, is they are unable to get DRI to work because mesa libGL is looking for the DRI drivers in the wrong directory.  The claim is that mesa is looking for the DRI drivers in /usr/X11<code></code>R6/lib/modules.
If this shows any missing or incorrect X or Mesa (or libGL) related files, you must reinstall the package from which they came.
 
On a fresh OS install however, my findings are that mesa's libGL very much is not looking in /usr/X11<code></code>R6 for it's modules.  It is looking in the proper location of /usr/lib/dri for the modules. Why then is it looking in the wrong place on some systems?


Answer: Because of fglrx having been installed.  If you have had a previous OS release installed, and have installed ATI's fglrx driver from tarball, it has removed the OS supplied libGL et al and made backup copies of them aparently.  Now you do an OS upgrade which works properly and installs everything in the right place.  Then you uninstall ATI's fglrx with whatever script or whatever they supply, and now you try to run X, and get no DRI!
Installing ATI drivers using the ATI installer, then upgrading your OS version (for example: upgrading from Fedora 9 to Fedora 10), and then using the ATI uninstaller can also cause problems with your system.


Well, since you don't have fglrx installed at all, it must be our OS at fault right!  Wrong. the uninstall script has put the OLD libGL it backed up (from FC4 or whatever) back in the system, overwriting the new FC5 supplied libGL in the process, and since
ATI's installer makes a backup of the libGL file when it replaces it. When you uninstall the ATI driver on an upgraded system the ATI uninstaller script replaces its version of libGL with the backed up libGL, which belongs to the previous version of the OS.  
ATI's fglrx driver is DRI based as well, it looks for the DRI modules in the wrong place now.


To read more information on this topic you can read Mike A. Harris' full email on http://www.redhat.com/archives/fedora-devel-list/2006-February/msg01178.html
Again, the solution is to reinstall all xorg-x11 and mesa packages and verify their integrity using rpm -Va.


----
----
[[Category:Graphics]]
[[Category:Graphics]]

Latest revision as of 20:35, 28 May 2009

Using 3rd Party Video Drivers

A number of bugs reported against X in Red Hat bugzilla have been tracked down to 3rd party video drivers. In many cases, however, it isn't immediately apparent that the fault lies with the 3rd party driver because the error occurs while the user is using a Red Hat supplied driver, and not the previously installed 3rd party driver.

Installing 3rd party drivers on your system can cause problems with X, even when they are not selected for use. You should be aware of the issues and potential complications arising from installing 3rd party drivers on your system.

3rd party graphics drivers are generally available directly from the vendor, such as ATI or Nvidia. Some are also available in packaged form. 3rd party graphics drivers that have been sanely packaged specifically for use with Fedora are preferable to tarballs or improperly packaged rpms. Installing 3rd party graphics drivers from tarballs or improperly packaged rpms can cause system instability.

Both ATI and Nvidia's proprietary video driver installation utilities currently (as of May 2009) replace the Red Hat supplied libGL library with their own libGL. Nvidia's driver additionally installs a replacement libglx.a X server module, removing the Red Hat supplied X.Org module in the process. ATI's driver may or may not replace libglx.a. (if anyone can confirm that, please edit it in).

Once you have either of these drivers installed on your system, you can no longer use DRI with your video card. For example, if you install the ATI fglrx using the ATI installer even if you switch back to the Red Hat supplied radeon driver you will not be able to use DRI. The ATI driver installer has replaced system files needed for proper operation.

If you install Nvidia's driver and later replace your Nvidia card with a different card, unless you completely remove the Nvidia driver and restore the replaced system files you will not be able to get Fedora-supplied DRI 3D acceleration to work. You must remove Nvidia's driver completely from your hard disk. Usually, correctly uninstalling Nvidia's driver will cause the original system files to be restored, but if this does not work, you will have to reinstall all xorg-x11 and mesa packages.

To remove the proprietary Nvidia driver, if you installed it using the Nvidia installer, run:

sh NVIDIA-Linux-(arch)-(version)-(pkgX).run --uninstall

The NVIDIA installer filename varies from release to release and architecture to architecture, just substitute whatever the exact filename of the installer you used is. You can verify that the original files are intact using:

rpm -Va

If this shows any missing or incorrect X or Mesa (or libGL) related files, you must reinstall the package from which they came.

Installing ATI drivers using the ATI installer, then upgrading your OS version (for example: upgrading from Fedora 9 to Fedora 10), and then using the ATI uninstaller can also cause problems with your system.

ATI's installer makes a backup of the libGL file when it replaces it. When you uninstall the ATI driver on an upgraded system the ATI uninstaller script replaces its version of libGL with the backed up libGL, which belongs to the previous version of the OS.

Again, the solution is to reinstall all xorg-x11 and mesa packages and verify their integrity using rpm -Va.