[geeks] A Real OS? (was: Re: my capitalization.. etc.)

Eric Dittman dittman at dittman.net
Sun May 19 19:02:59 CDT 2002


> > Since when is nVidia some "Joe Bob's Backwoods" video card?
> > And do you really think that having more vendors supply drivers
> > for their hardware would be bad for *BSD?
> 
> Kernel-mode drivers?  Damn stright it's a bad idea.  Take a look at
> Windows NT 4.0 and later.  Funny how I -never- got a bluescreen under NT
> until they let companies other than Microsoft play around under the hood.
> I always ran hardware on the HCL, and, with 3.51 and before, it worked
> perfectly.  With 4.0 and later, things just went to hell.

Who said kernel-mode drivers?  I never did.  I said drivers
for XFree86.  nVidia doesn't have them for *BSD.

That said, there are non-video hardware cards that aren't
supported in the *BSD kernel that would need to be in
the kernel to be properly supported, but there's nothing
available right now.

> If the users want drivers, let them confince manufacturers work with
> XFree86 to provide servers that support XGL and whatever else, and then
> let the OS present a seomwhat generic interface to AGP/PCI/VESA for such
> servers to use.  Supporting every possible video, audio, etc. card in the
> kernel of the OS is a really stupid idea.

They have, but there's only enough demand right now for Linux for
most hardware vendors.  The way nVidia provides their XFree86
drivers is perfect for *BSD.  You won't hear people screaming
about not having all the source under the GPL, either.

> > Of course in the nVidia case we are not talking kernel about
> > kernel code but rather XFree86.
> 
> The last nVidia driver I used for Linux required the insertion of a kernel
> module.  If the nVidia driver -isn't- a kernel module, there's no reason
> it cannot work on *BSD, provided that the *BSD kernel exposes the proper
> buses.  That's a vendor issue, not an OS issue, and thanks to all the
> vendors today being tight-lipped about how their hardware works, it's
> Really Difficult for anyone to fix that.

The kernel module is just an AGP driver, and doesn't need to
be used if you use the standard driver, IIRC.

The lack of drivers is an OS issue.  If the *BSD groups can't
convince the vendors of the demand, the drivers will never get
written.

> Which basically amounts this situation:
>   1) OS needs hardware support to gain larger numbers of users.
>   2) Hardware companies only support OSes with large numbers of users.
> 
> Catch-22.

Then how did Linux get all the drivers?  For the most part,
people wrote them.  Once the number of users reached critical
mass, vendors started writing their own drivers or contracting
them out or providing information to others.

> > I can't see where limited hardware support will help wider
> > acceptance of *BSD.  Look at what limited hardware support
> > has done to Solaris x86.
> 
> I always thought it was the fact that it ran like ass.  The first install
> I did on an dual P90 took forty -hours-.

I installed Solaris x86 on a system that took about the same
time as installing Solaris Sparc on an Ultra 1.

> > I really can't believe you want limited hardware support
> > in *BSD.
> 
> Not limited hardware support in general.  He's (I think) advocating
> limited hardware support in the -kernel-.  At least, that's what I'm
> advocating.

Again, I never said anything about needing all these drivers
for the kernel, but some drivers need to be either in the
kernel or loadable.

> > If the drivers are well written and tested before inclusion
> > there wouldn't be a problem.
> 
> To properly test kernel-level code, you need to test every possible
> permutation, which is Not Easy.  Otherwise, you have nVidia's driver
> stomping all over the DMA access that Creative Labs' driver needs because
> NEITHER of those companies can write a decent driver to save their lives.
> I can consistently crash my SB Live! driver for Win2k, and my nVidia
> driver, both by not doing anything out of the ordinary.

You don't have to test every possible permutation to have a
driver that you are fairly confident won't cause problems.
I'm willing to bet that the current *BSD kernels aren't
tested with every possible permutation right now.

> That's the primary point here, and it's a point that was swung completely
> in the other direction before the introduction of Windows 3.0.  Back then
> the hardware developers didn't write -any- drivers--the just provided
> specifications so that the people that knew the operating systems best
> could provide hardware support.  Now, the OS folks have to open up their
> APIs to the hardawre guys so that they can write half-assed interface code
> that bombs all the time, or adds "neat" little features here and there to
> bloat things up.

The primary point is an operating system that can be used is
superior to an operating system that can't be used no matter
how better written the kernel in the unusable operating system
is.
-- 
Eric Dittman
dittman at dittman.net
Check out the DEC Enthusiasts Club at http://www.dittman.net/



More information about the geeks mailing list