Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Trent Nelson

Moving to hackers@, where most discussions regarding the NVIDIA drivers
seem to take place lately. 

Chris BeHanna wrote:

> I don't remember if it was this list on which I saw this
> discussion, or if it was hackers.  Anyway, I looked at xfree86.org
> today, and noticed that there is accelerated support for ATI Mach64
> and for NVIDIA TNT2 and GeForce256 boards, as well as many others.
>
> Is there some reason why this isn't "good enough," or do we
> really need actual drivers for these boards to get at their
> extra-nifty features (e.g., hardware backface culling, fog, bump maps,
> etc.)?

The NVIDIA drivers for XFree86 are the result of a collaborative effort
between NVIDIA, SGI and VA Linux. Concentration, as far as I know, has
been focused on OpenGL development in the new DRI environment XFree86
4.0 provides.

You could speculate that with fairly high calibre companies partaking
in such an effort - where there's obviously a fair amount of financial
investment - their drivers are going to perform better than those
provided with XFree86.

For those interested, it is the code of the accelerated OpenGL
driver/libraries that NVIDIA are distributing as Linux binaries (i.e.
closed-source). The only source that *is* provided is for the cards'
kernel device driver. 

I remember reading somewhere on NVIDIA's site that the only reason
they're providing *this* code is because Linux's kernel module loading
mechanism prevents the introduction of foreign pre-compiled binary
objects as system device drivers. So, effectively, a kernel device
driver has to be compiled on the system natively before it can be used
(?).

It was something along those lines, anyway.

Someone should tell NVIDIA there's a lot more to "Open Source" than
just writing closed-source drivers for Linux.

On a more technical note, given an accurate port of the kernel device
driver (which would be trivial at best), is there any reason these Linux
OpenGL drivers & associated libraries can't just be branded as 'Linux'
object types and handled as-per-normal by linux.ko? After all, it's the
kernel driver's responsibility to manage all the Operating System's
specific hardware resource management etc.

I'm doubting it's that easy, though.

> Chris BeHanna
> Software Engineer (at yourfit.com)

Regards,

Trent.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Garrett Rooney

On Sat, 29 Jul 2000, Nimrod Mesika wrote:

> I thought the whole point of XFree4 new driver mechanism was that
> it was OS-neutral. It should be possible to run the same binary
> driver on all x86 platforms running XFree4 *without* recompiling.
> 
> I don't know how this driver interacts with the kernel module,
> though. I'm not sure I even understand why a kernel module is
> needed in this case.

i believe it requires hooks into the kernel to make use of AGP, which is
necessary for high performance 3d rendering.

-garrett

x--x
| [EMAIL PROTECTED]garrett rooney |
| http://www.rpi.edu/~rooneg unix geek |
|--|
|  unrequited love is neat because it lasts so much longer - w. t. c.  |
x--x



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Peter Wemm

Garrett Rooney wrote:
> On Sat, 29 Jul 2000, Nimrod Mesika wrote:
> 
> > I thought the whole point of XFree4 new driver mechanism was that
> > it was OS-neutral. It should be possible to run the same binary
> > driver on all x86 platforms running XFree4 *without* recompiling.
> > 
> > I don't know how this driver interacts with the kernel module,
> > though. I'm not sure I even understand why a kernel module is
> > needed in this case.
> 
> i believe it requires hooks into the kernel to make use of AGP, which is
> necessary for high performance 3d rendering.

More to the point, they want to use their high performance proprietary
internal cross platform driver that they also use on Windows etc.  They
provide the OS interface glue to enable interfacing with the kernel.  The
driver then completely takes over the card management in kernel context -
busmaster DMA, command fifo managenent, card memory management, the lot.  A
userland XFree driver cannot use DMA as it cannot know what the virtual->
physical address mappings are.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Trent Nelson



Peter Wemm wrote:

> They provide the OS interface glue to enable interfacing with the
> kernel.  The driver then completely takes over the card management
> in kernel context - busmaster DMA, command fifo managenent, card
> memory management, the lot. 

So, given a working FreeBSD-specific kernel device driver - can the
Linux OpenGL driver/libraries provided be handled via linux.ko?

> Cheers,
> -Peter

Regards,

Trent.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Garrett Rooney

On Sun, 30 Jul 2000, Trent Nelson wrote:

>   So, given a working FreeBSD-specific kernel device driver - can the
> Linux OpenGL driver/libraries provided be handled via linux.ko?

i believe the general answer is a definative maybe.  but honestly, do you
really care enough to try?  it seems like an awful lot of trouble just to
use a dead end binary only driver that will doom you to an eternity of
working around bugs since you can't fix them.  if you want real 3d on
FreeBSD go buy a 3dfx card or something else that actually has real open
drivers.  it's a hundred bucks for a VooDoo3.  that's less than the
programmer time to make the NVidia drivers work is worth, and you can
actually be sure you'll have some kind of success, where the NVidia stuff
is really up in the air.

-garrett

x--x
| [EMAIL PROTECTED]garrett rooney |
| http://www.rpi.edu/~rooneg unix geek |
|--|
|  unrequited love is neat because it lasts so much longer - w. t. c.  |
x--x



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-29 Thread Trent Nelson



Garrett Rooney wrote:
> 
> On Sun, 30 Jul 2000, Trent Nelson wrote:
> 
> >   So, given a working FreeBSD-specific kernel device driver - can the
> > Linux OpenGL driver/libraries provided be handled via linux.ko?
> 
> i believe the general answer is a definative maybe.  but honestly, do you
> really care enough to try?

'Maybe' is good enough for me.

> that's less than the
> programmer time to make the NVidia drivers work is worth, and you can
> actually be sure you'll have some kind of success, where the NVidia stuff
> is really up in the air.

NVIDIA's stand on Open Source can only get better.  Unless they're
*really* stupid.
 
> -garrett

Trent.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-31 Thread Coleman Kane

Trent Nelson had the audacity to say:
> Garrett Rooney wrote:
> > 
> > On Sun, 30 Jul 2000, Trent Nelson wrote:
> > 
> > >   So, given a working FreeBSD-specific kernel device driver - can the
> > > Linux OpenGL driver/libraries provided be handled via linux.ko?
> > 
> > i believe the general answer is a definative maybe.  but honestly, do you
> > really care enough to try?
> 
>   'Maybe' is good enough for me.
>

I would guess that if they have managed to abstract their NT source to the point
where a simple wrapper can turn it into a linux kmod, then it is quite possible
that it may be able to be ported to FreeBSD. The only other thing is whether
their X Server could be ported in such a way (is it a binary only X-Server as
well? or do they use the r128 driver supplied?). I suppose that one could always
run XFree86 in linux emulation...if possible.

> > that's less than the
> > programmer time to make the NVidia drivers work is worth, and you can
> > actually be sure you'll have some kind of success, where the NVidia stuff
> > is really up in the air.
> 
>   NVIDIA's stand on Open Source can only get better.  Unless they're
> *really* stupid.
>  

Well, so far they haven't shown this. Since their itroduction of open
source drivers they have retracted the openness of their drivers to the
point that they are simply a binary with the necessary source to link them to a
module.

> > -garrett
> 
>   Trent.
> 

FWIW: I have a roommate who has been having severe stability issues with
NVidia's binary drivers under Debian GNU/Linux 2.1. He has decided to
switch back to the XFree86 supplied drivers that have lower performance
to stop X from crashing so much. You can't even debug them because the
symbols have been stripped out. Too bad.

-- 
Coleman Kane
President, 
UC Free O.S. Users Group - http://pohl.ececs.uc.edu


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: Linux NVIDIA drivers vs. default XFree86 drivers (WAS: RE: Video card support)

2000-07-31 Thread Marc van Woerkom

> I would guess that if they have managed to abstract their NT source to the point
> where a simple wrapper can turn it into a linux kmod, then it is quite possible
> that it may be able to be ported to FreeBSD. The only other thing is whether
> their X Server could be ported in such a way (is it a binary only X-Server as
> well? or do they use the r128 driver supplied?). I suppose that one could always
> run XFree86 in linux emulation...if possible.

Not a Linux kmod, their idea was to use the new general binary loader 
introduced in XFree86 4.x - unfortunately it is full of calls to the
(open sourced) Linux module they ship.

An ideal general x86 XFree86 4.x driver should just use general
wrappers provided by the XFree86 server for OS specific tasks.


> > NVIDIA's stand on Open Source can only get better.  Unless they're
> > *really* stupid.
> >  
> 
> Well, so far they haven't shown this. Since their itroduction of open
> source drivers they have retracted the openness of their drivers to the
> point that they are simply a binary with the necessary source to link them to a
> module.

One of the reasons given by n-vidia is that certain code is 3rd party (AGP stuff?)
and can't be open sourced. 

Another reason might be that actually only few people are able to make 
significant contributions to low level driver work. Looking at the makings
of the Matrox Utah glx module, where John Carmack did a lot of tweaking,
plus two or three people who work full time in that area. 
That's definitely not hordes of open source hackers who thirst for
improving matters. 


> FWIW: I have a roommate who has been having severe stability issues with
> NVidia's binary drivers under Debian GNU/Linux 2.1. He has decided to
> switch back to the XFree86 supplied drivers that have lower performance
> to stop X from crashing so much. You can't even debug them because the
> symbols have been stripped out. Too bad.

Since a couple of days I finally have a decent development box with Linux, 
FreeBSD and a GeForce installed. I hope to get further now with that stuff.

Regards,
Marc


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message