FreeBSD NVIDIA Driver Project.



NOTE: This is NOT USABLE

The driver is under the initial stages of development and is of no use to anyone but the developers right now, so if you're looking to get accelerated OpenGL or play video games in FreeBSD, you're going to have to wait.

http://www.sourceforge.net/projects/fbsd-nvdriver

People

The current development staff consists of the following people:

Faq

Q: When will it be usable?
A: When we finish it. We're hoping to have something semi-usable by the end of May, but no guarantees.
UPDATE: There were some nasty hairy ugly difficulties with ioctl, the nvidia component uses bad ioctl names and forces its own copyin/copyout to be right. FreeBSD depends on the ioctl name being correct and does the copy stuff for you, so we've been experimenting with modifications to the kernel while trying to get nvidia to fix their end. So far, no success... The existing drivers depend on it being done right. It'll be done when and if we get it done.

Q: Can I help test?
A: Right now, we're no where near testing. Keep an eye on it and when it starts getting usable, we'll ask for testers.

Q: Can I help code it?
A: We have a core team of 3 developers, and the code is undergoing heavy modification, so adding another developer will probably just slow things down.

Q: The documents are crap...
A: Yeah, we've fallen behind on those. If you want to write them, be our guest. We'll re-address the documentation when the code base has settled down a bit.

Q: Will this alone give me accelerated 3d?
A: No, this is the stub component to interface with NVIDIA Corporations kernel, in addition to an NVIDIA card that supported 3d acceleration (TNT or later).

Q: Will it use X4's DRI?
A: No, NVIDIA developed their common driver kernel before DRI was usable. Since their driver kernel is not OS specific, they have their entire driver engineering department working on code that is totally portable, and the only part that needs to be written to port to a new OS is the stub library.

Q: Will this work on NetBSD or OpenBSD?
A: No, but we're trying to keep things reasonably portable, so it should be trivial to port our version of the stub to those platforms.

Q: Why aren't you just modifying the existing Linux stub?
A: Two big reasons, we felt that the current NVIDIA Linux stub was fairly disorganized (due to the radical changes in the 2.4 Linux kernel), and we felt the license was too restrictive and would make our modification less usable to the general public.

Q: Does NVIDIA know you're doing this?
A: Yes, we've been in contact with NVIDIA and have sought to resolve license issues as well as asking technical questions. At first, they were incredibly helpful and considerate, which really surprised us.

Q: So the petition worked?
A: No. Joel asked me if I was interested in doing something like this, and i agreed. We didn't know the petition existed until Mr Triantos (of NVIDIA) informed us that the FreeBSD nvdriver initiative was started about a week after we began development on the driver (Apr 24, 2001).

A: I changed some code and want to submit a patch...
Q: Please send them to erik@smluc.org in 'unified' diff format (diff -urNb fbsd-nvdriver fbsd-nvdriver-modified > blah.diff), and please hand-clean the diff file before sending. Since the driver code base is changing so rapidly, I like to look through the diff file and see what is actually getting changed, so a patch file is no more useful than a brief description of the fix and why...

Q: How do I contact you?
A: Email me at <erik@smluc.org>



Chronology

DataEvent
April 07, 2001Started talking with Joel about the NVIDIA driver
April 12, 2001Began prototyping driver code
Began talking to Mr Triantos (of NVIDIA) about the port.
April 21, 2001Licensing issues sorted out
Registered the project with sourceforge for cvs access
April 23, 2001Driver was loading correctly and identifying cards correctly
April 24, 2001Was contacted by the FreeBSD NVIDIA driver initiative
May 04, 2001First successful linking against the binary component (all the stubs are declared, but not implemented)
... nowBeen waiting for nvidia to fix some ioctl abuse in the binary components. Still waiting, and exploring hackish workarounds. Getting sick of waiting...
SourceForge Logo

©2001 Erik Greenwald, all rights reserved, blah blah