|
|
Subscribe / Log in / New account

Free drivers aren't enough

From:  Karol Lewandowski <kl-AT-jasmine.eu.org>
To:  letters-AT-lwn.net
Subject:  Free drivers aren't enough
Date:  Sun, 20 Aug 2006 21:20:32 +0200

Being non-subscriber, but having read "X.org, distributors, and
proprietary modules" (via Subscriber Link, thanks!) I have few
observations to share.
 
Reading through comments of that fine article made me think. It seems
that for most LWN.net readers (percisely -- for subscribers) having
free driver is very important. I, as ususal, happen to not agree
fully with them.
 
For me, free driver is just small part of the whole picture -- freely
accessible documentation is much more important. Free driver can't be
really free without documentation -- driver written under NDA is
better than dissasembled binary blob, but it's not that great after
all.
 
For me free driver has freely accessible documentation.
 
Given that definition of free driver one can notice that there
is few (if any) free graphics drivers. ATI's r200 drivers were
written under NDA... who will fix the drivers when maintainers will
dissapear? Where is documentation for these hyped Intel Free Drivers?
(I wasn't able to find any.)
 
 
As for NVIDIA and Xorg R7.1 + Fedora Core 5, I also happen to have
different view on that issue.
 
Let's assume for a while that NVIDIA driver is free (but maintained
out-of-tree). Let's also assume that that driver was written by few
dedicated developers under NDA. Now, does this change situation?
I don't think so. If needed changes are really cosmetic, then yeah,
"anyone" could fix that. On the other hand, if fixing problem is more
serve -- i.e. it requires knowledge of hardware registers or something
like that, then we are in exactly same situation as we're now -- we
depend of few people to do the work. It isn't nice.
 
Additionaly there is out-of-tree issue.
 
How it's possible that drivers for utterly-unsupportive company's wifi
chipset (Broadcom) are in mainline kernel but not for the nice one
(Ralink)?
 
I would like to see more support (i.e. preference) for company that
provided free docs!
 
Yes, I know that rt2x00 drivers are in wireless-dev and will be
merged when DeviceScape will be merged too (if ever...) But,
well... Linux developers, especially Linus, was always very
pragmatic... wouldn't that be very pragmatic to provide best
experience (read -- in-tree driver) for those who choose really free
hardware?
 
OpenBSD-like focus on hardware with free docs is something I'm hoping
to see in Linux community some day!
 
 
(Fell free to correct my english, edit this mail or destroy it
altogether :-)
--
This signature intentionally says nothing.


to post comments

Ralink drivers

Posted Aug 24, 2006 5:07 UTC (Thu) by midg3t (guest, #30998) [Link] (4 responses)

I bought a Ralink-based device on the premise that it had full source-available drivers, however I later discovered that the driver released by Ralink is endian-broken and won't even compile on my powerpc-based laptop. That could well be the reason there isn't a ralink driver in Linus' tree yet - I suspect the rt2x00 community rewrite is, in many peoples' opinions, not ready for mainline yet.

Ralink drivers

Posted Aug 24, 2006 9:14 UTC (Thu) by drag (guest, #31333) [Link] (3 responses)

Ya. Ralink released source code and documentation.

I bought it specificly to be used with my PPC machine. I ended up using the Ural-linux ported freebsd driver.

(of course I like to do lots of research before I buy hardware so I expect this issue)

The rt2x00 driver is great and all that, but it's definately not ready yet for kernel inclusion. It's being used as the forefront of developing the Devicescape 802.11 protocol stack.

When the devicescape stack gets into the kernel, so will the ralink driver.

As for why the Broadcom driver is in the kernel before the Ralink?
Because rt2x00 developers made mistakes with their development model. They went through several 'beta' re-writes trying different things before settling on current d-scape stack.

Although the way the wireless stuff was handled by the kernel developers didn't help at all.

But the bigger reason probably is because the Broadcom hardware is much much much more common as being sold with most laptops and other devices. Getting the broadcom driver into the kernel probably more then doubled or tripled the amount of different 802.11g devices that Linux supported in one big swoop.

I imagine getting it so all those ndiswrapper users to wean themselves off of depending on crappy windows drivers was a pretty high priority. Combine that with nvidia propriatory drivers people are starting to get the notion that open source model doesn't work for hardware (which itself is laughable idea.. but the impression is often has much more impact then actual reality)

Why the Intel Video drivers are significant?

BECAUSE IT'S THE BEST WE GOT.
That's all. Intel isn't a saint, they aren't going to save the world. They are mearly doing what they should be doing all along.

But it's still the best we got. And it's MUCH MUCH better then binary drivers, I don't care what anybody says. Even though the binary drivers can be reverse engineered having open source drivers from the get-go saves people soooooo much work and time.

They are open source. They are Free software drivers. They fuffill the basic requirements and even though documentation is great to have this is what we have to work with.

Realy, it's fundamental. Do you want to buy a ATI card or a Intel card?

One company provides code, the other one doesn't. There is no other company. There is not a single video card you can go out and buy for a modern machine that has documentation for their devices. Not a single one.

You cannot not buy a video device. Your desktop is worthless without one. Your money is going to go to Intel or Nvidia or ATI. You don't have a choice. So you take the best you can get. That's all.

Ralink drivers

Posted Aug 24, 2006 14:44 UTC (Thu) by kl (guest, #36963) [Link] (2 responses)

> But the bigger reason probably is because the Broadcom
> hardware is much much much more common as being sold with
> most laptops and other devices. Getting the broadcom
> driver into the kernel probably more then doubled or
> tripled the amount of different 802.11g devices that
> Linux supported in one big swoop.

Sadly, bcm43xx depends on non-redistributable firmware,
which makes issue complicated for less advanced users.

> I imagine getting it so all those ndiswrapper users
> to wean themselves off of depending on crappy windows
> drivers was a pretty high priority. Combine that with
> nvidia propriatory drivers people are starting to get
> the notion that open source model doesn't work for
> hardware (which itself is laughable idea.. but the
> impression is often has much more impact then actual
> reality)

Looking at the Ralink case one could also get impression
that open-sourcing driver and providing documentation for
hardware isn't worth anything. This is very sad --
most supportive and open company has rather depressing
quality drivers.

> Why the Intel Video drivers are significant?

I haven't said it isn't significant; I agree with rest
of your comment -- I would go with Intel.

I just wanted to point to the fact that Intel could do
a bit more. This is about maintainability -- it still
isn't great.

> You cannot not buy a video device. Your desktop is
> worthless without one.

Sorry, but I have to note that my desktop has been
TTY for about last 10 years and this isn't going to
change. ;-)

On the other hand my friends would like to run X more
often than I do, so after many years of recommending
old radeons 7xxx-9250 I'll now say to go intel all the
way. That is improvement, indeed.

Ralink drivers

Posted Aug 24, 2006 21:40 UTC (Thu) by drag (guest, #31333) [Link] (1 responses)

""Sorry, but I have to note that my desktop has been
TTY for about last 10 years and this isn't going to
change. ;-)""

Ya still need a video card for that. :P

Personally I require 3d graphics because pretty much the only reason I use a computer at home is to play around with video games and make art stuff. That's about it.

""Looking at the Ralink case one could also get impression
that open-sourcing driver and providing documentation for
hardware isn't worth anything. This is very sad --
most supportive and open company has rather depressing
quality drivers.""

Maybe you could get that impression, but I can tell you right now that Ralink has directly benifited from open sourcing drivers. Now if their original drivers didn't suck so much it would of worked out better.

But its working out for them.

For example they are getting good drivers that support the new hardware they are making. This makes their stuff more attractive to people making embedded devices that use Linux. And I know that they sold a number of devices specificly because the Linux support, even if it's not in the mainline kernel yet. That other person buying the USB ralink stuff for their ibook isnt' the only one. I've seen many people do it.

Ralink drivers

Posted Aug 25, 2006 0:22 UTC (Fri) by wookey (guest, #5501) [Link]

Yep, both the wireless cards I've bought recently have been ralink, specifically because of the free software drivers. But as the OP pointed out , this hasn't been quite the smooth and painless experience I was hoping for due to the drivers being out of tree, so a fair amount of dicking about is needed every time I upgrade a kernel on either machine. Each time a new kernel comes out I hope to see rt2500/2570 drivers in mainline and am disappointed. This seems to be a case of 'events', but it really would be nice to see it sorted soon.

I hope ralink can detect the increased sales they've had to free software people, both for personal use and for embedded projects.

I'd rather have code

Posted Aug 24, 2006 18:32 UTC (Thu) by sobdk (guest, #38278) [Link] (3 responses)

Personnally I think source code is some of the best documentation you can have. This is especially true when the code was written by someone who knew the hardware (as apposed to being reverse engineered).

Your argument seems to be that if there is a bug in the code, you can't fix it if you don't have documentation for the hardware. The problem is this logic assumes that your documentation has no bugs.

Assembling documentation for hardware is hard work, especially if someone took the effort to ensure the documentation is 100% bug free. Even if the documentation is 100% theoretically correct, the hardware may be buggy. You often don't find that out until you have working code.

If you are given working code that was written by someone who had knowledge of the hardware and a new bug is discovered, what are the odds that an explanation of the problem can be found in the hardware's documentation? I'd say not good.

I'd rather have code

Posted Aug 26, 2006 4:02 UTC (Sat) by jamesh (guest, #1159) [Link]

A free software driver for a piece of hardware simply shows you one way of using the hardware. In contrast, the documentation should tell you what the hardware can do. So you might be able to work out a better way of using the hardware to do the job.

That said, if it is a choice between a binary driver and a free software driver I'd choose the free software driver -- at least it reveals one way of using the hardware. This might be enough to guess how the device works.

I'd rather have code

Posted Aug 27, 2006 0:38 UTC (Sun) by giraffedata (guest, #1954) [Link]

Personally, I think source code is some of the best documentation you can have.

Yeah, especially since any halfway responsible coder of a driver intended to be open source for a device with no manual would put all the needed information in comments.

I've always thought what's worth even more than specs is technical support at the driver level. E.g. you can email the company with, "I wrote Q to Register Z and nothing happened," and someone responds, "We found a bug in that version. To work around it, write Q twice."

In contrast, all the technical support you can usually get is, "what version of Windows is that, and which button did you click?"

I'd rather have code

Posted Sep 1, 2006 23:51 UTC (Fri) by kl (guest, #36963) [Link]

Personnally I think source code is some of the best documentation you can have. This is especially true when the code was written by someone who knew the hardware (as apposed to being reverse engineered).
Your argument seems to be that if there is a bug in the code, you can't fix it if you don't have documentation for the hardware. The problem is this logic assumes that your documentation has no bugs.
I did read some (good) technical documentation in the past so my understanding was that documentation is _usually_ good... After reading this I'm no longer sure...


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds