Re: XFree86-DRI problems w/ OpenGL/Mesa apps on FC1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 9 Feb 2004, Didier Casse wrote:

>I upgraded my system to FC1 and just realized that programs that i've
>written a long time ago (at the time of RH8) gives the following error on
>FC1: (note that it previously worked on RH8, same machine, same hardware!)
>
>Xlib:  extension "XFree86-DRI" missing on display ":0.0".
>
>I'm using FC1 kernel 2.4.22-1.2115.nptl on an i686 machine.
>
>My Video Card is NVIDIA	GeForce 2 MX (generic)
[SNIP]
>
>I attached a simple Mesa program + makefile which you can compile by
>typing
>
>make helloopengl
>
>and of course running ./helloopengl
>
>Can anybody suggest possible solutions in making my opengl program work
>once again? Thanks for any help.

Ah, with complete information, it's much easier to answer.  ;o)

The simple answer is:

You are using Nvidia hardware, which is not and has never ever 
been supported by DRI, and never will be either.  In order to get 
hardware 3D acceleration, you _must_ use Nvidia's own proprietary 
video drivers from off their website.

You may or may not have installed Nvidia's drivers already, 
however Nvidia's installer is broken, and assumes that there is 
only one and will only ever be one single libGL on the system, 
and that it will be in a specific location.  That is a very 
unreasonable assumption, and while it "just so happened" to be 
true in past OS releases, and on most other distributions, it was 
not a reasonable thing to assume would remain true forever.

Fedora Core 1 ships with not one but *2* Mesa libGL libraries.  
The first one is installed in the traditional location that
XFree86 normally installs it to, while the new one, which has
been optimized to take advantage of TLS (thread local storage)  
support, is installed in the "tls" subdirectory.  The dynamic
using the optimized tls library, and will use it automatically at
runtime if your processor supports the necessary functionality, 
otherwise it automatically falls back to using the regular Mesa 
libGL which also has some optimization in it (compared to stock 
Mesa).

The problem is that Nvidia's installer, is NOT RPM package 
friendly, and is NOT friendly at all with the system.  It 
_deletes_ system supplied files, thus making the rpm packages 
that own those files inconsistent in the system.  Since it only 
deletes the normal libGL, and not the TLS optimized one, when you 
run a game which uses OpenGL, the dynamic linker searches the 
library search path, etc. and the first library it finds, is 
*NOT* the Nvidia libGL, but is instead the TLS enabled Mesa 
libGL.  Mesa libGL then attempts to load a DRI driver for 
hardware acceleration, and since there is no such thing as an 
Nvidia DRI driver, it fails and prints the message "DRI 
unavailable".

You have different options to solve this Nvidia driver installer 
bug:

1) Write to Nvidia and tell them to fix their installer to not 
   break your system.

or

2) Manually remove the Mesa TLS libGL

or

3) Download the www.livna.org Nvidia driver RPM packages, which 
   are much saner than installing the driver from Nvidia's 
   tarballs.



Before assuming that it is your operating system at fault when 
you have a problem during upgrading or configuration, be sure to 
consider all possibilities - especially if you are using 
unsupported proprietary drivers or software.

For further information, search the list archives, as there have 
been more than one person hit by this Nvidia proprietary driver 
installer bug.

Hope this helps.



-- 
Mike A. Harris


_______________________________________________
xfree86-list mailing list
xfree86-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/xfree86-list
IRC: #xfree86 on irc.redhat.com

[Red Hat General]     [Red Hat Watch]     [Red Hat Development]     [Kernel Development]     [Yosemite Camping]

  Powered by Linux