This article was written by Mike Harris, Systems Engineer, X11 Development team, Red Hat Canada, Ltd. Originally posted to [[http://www.redhat.com/archives/rhl-devel-list/2006-February/msg01178.html|fedora-devel-list]] and also also available at FedoraProject:Xorg/3rdPartyVideoDrivers on the official Fedora Wiki. = Attention: Proprietary video driver users (ATI, Nvidia, etc.) = There have been a number of bugs reported in Red Hat bugzilla against X that have recently been tracked down to 3rd party video drivers being the culprit behind the problem the user was experiencing. In many of the cases though, 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. Since I've wasted at least 6-8 hours in the last month diagnosing issues of this nature that have later turned out to be caused by proprietary drivers having been "installed" on the system, whether they were actually being '''used''' or not, I thought I should write a short, useful, informational email on the topic to the lists to try to inform people of some pitfalls you may encounter if you even ''install'' 3rd party video drivers. 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. 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 its own, I haven't checked (but if someone could confirm that, I'd appreciate knowing for certain). 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. 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: {{{ rpm -Va }}} 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/X11R6/lib/modules`. On a fresh OS install however, my findings are that mesa's libGL very much is not looking in `/usr/X11R6` for its 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 apparently. 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! 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 `fglrx` driver is DRI based as well, it looks for the DRI modules in the wrong place now. == Conclusions == If you are going to use any 3rd party proprietary drivers, please do yourself and everyone else a huge favour, and at least get your drivers from reputable 3rd party rpm package repositories such as [[http://rpm.livna.org/|livna.org]], which packages both the nvidia and ati proprietary drivers in rpm packages that install the drivers sanely without overwriting Red Hat/Fedora supplied files. These 3rd party packages install the files in alternative locations, and configure the X server et al. appropriately so that everything works. Since they do not blow away OS supplied files, you can use the OS supplied drivers still by reconfiguring `xorg.conf`. Also, if you decide to uninstall the 3rd party drivers via rpm, they just go away and cause no further harm to the system. So '''please use third party RPM packages''' if you ''must'' use 3rd party drivers. It helps create world peace. If you choose to install ATI or Nvidia tarball/whatever drivers directly from ATI/Nvidia (or any other vendor for that matter), your system is 100% completely and totally unsupported. Even if you are using ''our'' drivers, your 3rd party driver installation may have blown away our `libGL`, our `libglx.a` or any other files that have been supplied by our OS. As such, your system is not supported. For those who encounter a bug of any kind whatsoever while using 3rd party video drivers, completely remove the 3rd party drivers from your system, and then perform a full `yum update` to ensure you have the latest Fedora Core supplied X packages installed. After doing this, do an `rpm -Va` of your whole system, in particular the `xorg-x11-*`, `mesa-*`, and `lib*` packages. If there are any discrepancies found in any of the Fedora supplied packages, in particular in `libGL`, or the X server packages, remove them and reinstall them and reverify that the files installed on your system are the ones shipped by Fedora. If you are able to reproduce the problem you are having after having performed these steps, and having ensured that you are neither using 3rd party drivers, nor even have them installed, then feel free to file a bug report in bugzilla. By doing this small amount of pre-diagnosis of your own system if you are using 3rd party drivers, you will save yourself a lot of headaches, and will save other people, including developers such as myself from wasting endless hours trying to diagnose problems that turn out to be bogus. Hours which could have been spent fixing legitimate bugs that are present in bugzilla. As an additional note - if anyone is using proprietary drivers and has any problems which they believe might actually be a bug in Xorg and not in their proprietary driver - file such bugs directly in X.Org bugzilla. X.Org has an nVidia (closed) component specifically for the proprietary driver, and Nvidia engineers get those bugs and will investigate them over time. Anyhow, I hope this helps people understand at least some of the problems that can occur when you opt to using 3rd party drivers, present some alternatives, and to help people diagnose their own problems which might be caused by having installed 3rd party drivers. Thanks for reading.<
> TTYL P.S. Feel free to forward this email on to any other lists or people whom you think might benefit from it. Also, if anyone thinks this information would be useful to have on the Fedora Wiki or somewhere else, feel free to copy my email into a wiki page, or paraphrase, etc. Mike A. Harris,<
> Systems Engineer, X11 Development team,<
> Red Hat Canada, Ltd. ----