DRI missing!
Mike A. Harris
mharris at redhat.com
Fri Oct 10 18:52:33 UTC 2003
On Fri, 10 Oct 2003, Elton Woo wrote:
>> XFree86 does not, and has never supported DRI on any Nvidia video
>> hardware. You will never have the DRI extension for any Nvidia
>> card using any video driver with XFree86. The only way to get 3D
>> acceleration with the Nvidia hardware you have is to use Nvidia's
>> proprietary video drivers (which do not use DRI, but use their
>> own method of doing direct rendering), or to use some other 3rd
>> party proprietary driver.
>
>... pardon my ignorance, Mike, but I've noticed this same error
>message when some screensavers are invoked. The instructions
>for installing the nVidia drivers, mention *removing* the reference
>to DRI in /etc/X11/SF86Config. Correct?
What error message? What exactly is producing the error message?
The X server in it's log file? The screensaver(s)? What? Be
specific.
As I said before, Nvidia *does not* use DRI period. If you are
loading the DRI module in your X server config, which is the
default in all of our OS releases, then you need to comment out
that line in your config file if you're using Nvidia's drivers as
they do not use DRI, and it may or may not conflict with their
driver:
Change:
Load "dri"
to:
#Load "dri"
What that line does, is determines wether or not the X server
will load the DRI X extension module. It does NOT "enable DRI".
It loads the DRI module, so that the X server has DRI extension
support in case you are using a piece of hardware which the
XFree86 supplied drivers support DRI on. So for example, you can
use a cirrus logic card with the "cirrus" driver, and have Load
"dri" in your config file, and you do _not_ get DRI support for
Cirrus Logic. However, if the Cirrus Logic driver had DRI
support in it, then having Load "dri" in the config file would
provide the X server with the ability to allow you to use Cirrus
DRI.
That's just an example to attempt to explain the DRI module.
The only time the DRI module is needed, is if you are using a
video card and video driver which *does* support DRI, and you
wish to use the DRI support of that driver. If you do not want
to use DRI, or DRI is not supported by the video driver you are
using for the particular card you are using, the "Load dri" line
will not give you DRI support, but it will not harm anything
either. Think of it like loading the iptables kernel module at
boot time, but not using it. Your kernel now has the ability to
allow you to use the iptables command to set firewall rules.
You don't need to actually use the iptables command nor set up a
firewall, but your kernel has that ability. Well, loading the
DRI module into the X server allows your X server to have the
ability to use DRI enabled video drivers. It doesn't require
that you do use them though.
For the case of the Nvidia module requiring you not load the DRI
module, this is analogous to you deciding you want to use
"ipchains" for a firewall instead. So your kernel has iptables
module loaded, and you're not using it. You want to use
"ipchains" instead, and can't load the ipchains module because
iptables and ipchains can not co-exist, and they provide similar
functionality.
Well, the Nvidia binary modules do more or less the same thing.
They provide their own kernel module, and their own XFree86
modules which talk to their kernel module. The interfaces used
are proprietary to Nvidia, and are not DRI nor are they
compatible with DRI. So they recommend you comment out the DRI
module in the same way one would recommend you unload iptables if
you want to use ipchains instead.
I've went into the level of detail I have, because a _lot_ of
people ask about this all of the time, and DRI/DRM and related
stuff is quite complicated, so it is perfectly understandable
that there will be some confusion about it. I hope I've helped
some of you to at least understand the XFree86 X server DRI
module and wether or not you should load it, etc. ;o)
Take care,
TTYL
--
Mike A. Harris ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat
More information about the test
mailing list