nvidia thoughts

Mike A. Harris mharris at redhat.com
Fri Oct 24 12:51:28 UTC 2003


On Thu, 23 Oct 2003, Niels Weber wrote:

>I know that nvidia is evil with releasing their drivers only in binary
>format and so on. But my thoughts regarding that:
>
>I have never ever been abe to install any redhat graphically
>with a geforce card (tried geforce 2 mx, geforce 2 go, geforce 4
>ti 4200, different monitors, different computers, btw: a tnt2
>worked without problems), neither 8.0 nor 9 nor fedora. After
>the text based install I've never been able to get X to run. I
>always had to get the binary nvidia drivers to get X to run.
>While I don't think it's to bad to have to download them for 3d
>acceleration, I think it's bad if even 2d doesn't work with the
>nv-drivers.

Well, for the record, Nvidia maintains both their proprietary 
video driver themselves (of course), and they hired Mark 
Vojkovich from XFree86.org a couple years ago, who is now the 
"nv" driver maintainer also.  So *both* of the Nvidia drivers 
(nvidia, and nv) are officially maintained by Nvidia.

Nvidia doesn't release their technical specifications for their 
hardware to *anyone*, not even under NDA (non-disclosure 
agreements).  One might be tempted to think "well you have the 
source code though right?", however the source code isn't enough.  
None of the video hardware registers are documented, instead they 
are programmed as a series of random "magic" numbers, so you have 
absolutely no idea what the purpose of a given register is, that 
is getting written seemingly random information into it in the 
driver.  The driver is for all intents and purposes obfuscated 
unless you have the hardware documentation which turns numbers 
like 0x3432 into a useful name like NVIDIA_SUCH_AND_SUCH_REGISTER 
with documentation of WTH that register actually does.

That's the long story, the short story is, that even though the 
"nv" driver is open source, it is more or less supplied as-is and 
the only way it gets updated is if Nvidia updates it, because 
nobody outside Nvidia has the foggiest clue how their hardware 
works.

>From a distribution maintenance standpoint, all I can do, is 
monitor changes to the "nv" driver source code in XFree86 CVS, 
and backport patches and apply them to 4.3.0 occasionally, 
however if something breaks, without physically having the 
specific video card(s) sitting on my desk, and the PDF datasheets 
sitting beside them, there's not anything I can really do about 
the problems in the "nv" driver, nor can any other distribution 
vendor.  Only Nvidia can fix bugs in either driver basically.

So if a card isn't supported, that's unfortunate.  If 2D doesn't
work, that's also unfortunate.  By reporting bugs that occur in
the "nv" driver to http://bugs.xfree86.org, the bug report will
get assigned to Mark Vojkovich, who is the official driver
maintainer, working at Nvidia, who has access to pretty much
every Nvidia card ever made, and the technical specifications to
go along with them.  If he can't fix the bug, then more or less,
nobody can.  Not without getting hired by Nvidia to work on the 
'nv' driver.  ;o)

>There has to be some reolution for this. Anaconda recognises my
>graphic card and my monitor just before trying to start X. Then
>it fails and just tells me to reboot. :( The switch to fb-mode
>works btw. I thought that was a graphics mode as well. Wouldn't
>that be a possibility to allow graphical install?

That sounds like a bug in anaconda perhaps.  In order to diagnose 
real video driver problems, I can't really do much at installer 
time.  An X server/driver debugging environment requires much 
more than what the installer provides.  Much much more details 
would be needed to even know if it is a video driver problem, X 
problem, anaconda bug, rhgb, or something else.

>Redistribution of the nvidia-driver is allowed. Wouldn't it be
>possible (perhaps as an extra ISO-image or whatever) to allow
>the use of the binary driver from installation on? I understand
>that RedHat cannot support that driver but as it's now fedora
>and that isn't supported anyway, support issues shouldn't be a
>concern, or am I wrong there?

Possible?  It's possible in theory, but it's very unlikely it'll 
happen.  We can't support that driver, and we have enough trouble 
telling people that as it is already.  Shipping binary 
unsupported drivers with the OS, or with addons is just begging 
to have people tell us "The nvidia binary driver doesn't work 
when I do foo", us: "We don't support that at all in any way 
shape or form, please contact Nvidia" them:"HUH?  Not only did 
you supply this to me, but your installer autoinstalled it too!  
YOU HAVE TO SUPPORT THIS!"

We can't support it even if we wanted to.  And we don't want to 
have to tell 1000000 people the same thing over and over on the 
telephone/email/etc. every time someone has a problem.  People 
can easily download the Nvidia, ATI, and other drivers directly 
from the vendor's website in Linux, just as easily as they do so 
in Windows.

People are free to repackage any drivers out there however they 
see fit under the EULA of the vendor in question.  They can then 
distribute them via yum/apt or whatever, and we don't get stuck 
in the middle being told by people using them that we supplied it 
to them so we have some obligation to support it.

Hope this makes things a bit easier to understand.

Take care,
TTYL


-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat





More information about the fedora-list mailing list