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.
Posted Aug 24, 2006 5:07 UTC (Thu)
by midg3t (guest, #30998)
[Link] (4 responses)
Posted Aug 24, 2006 9:14 UTC (Thu)
by drag (guest, #31333)
[Link] (3 responses)
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?
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.
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.
Posted Aug 24, 2006 14:44 UTC (Thu)
by kl (guest, #36963)
[Link] (2 responses)
Sadly, bcm43xx depends on non-redistributable firmware,
> I imagine getting it so all those ndiswrapper users
Looking at the Ralink case one could also get impression
> Why the Intel Video drivers are significant?
I haven't said it isn't significant; I agree with rest
I just wanted to point to the fact that Intel could do
> You cannot not buy a video device. Your desktop is
Sorry, but I have to note that my desktop has been
On the other hand my friends would like to run X more
Posted Aug 24, 2006 21:40 UTC (Thu)
by drag (guest, #31333)
[Link] (1 responses)
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
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.
Posted Aug 25, 2006 0:22 UTC (Fri)
by wookey (guest, #5501)
[Link]
I hope ralink can detect the increased sales they've had to free software people, both for personal use and for embedded projects.
Posted Aug 24, 2006 18:32 UTC (Thu)
by sobdk (guest, #38278)
[Link] (3 responses)
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.
Posted Aug 26, 2006 4:02 UTC (Sat)
by jamesh (guest, #1159)
[Link]
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.
Posted Aug 27, 2006 0:38 UTC (Sun)
by giraffedata (guest, #1954)
[Link]
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?"
Posted Sep 1, 2006 23:51 UTC (Fri)
by kl (guest, #36963)
[Link]
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
Ya. Ralink released source code and documentation.Ralink drivers
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.
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 the bigger reason probably is because the BroadcomRalink drivers
> 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.
which makes issue complicated for less advanced 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)
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.
of your comment -- I would go with Intel.
a bit more. This is about maintainability -- it still
isn't great.
> worthless without one.
TTY for about last 10 years and this isn't going to
change. ;-)
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.
""Sorry, but I have to note that my desktop has beenRalink drivers
TTY for about last 10 years and this isn't going to
change. ;-)""
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.""
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.Ralink drivers
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).I'd rather have code
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.I'd rather have code
I'd rather have code
Personally, I think source code is some of the best documentation you can have.
I'd rather have code
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...