Kernel Builders Appeal For Open Source Drivers
snydeq writes "The Linux kernel development community has released a statement emphasizing the need for open source drivers. The statement, signed by 135 developers, is aimed at preventing future vendors from following the closed source path. One holdout cited is Nvidia. The Linux Foundation has also released a statement in support: 'The Linux Foundation recommends that hardware manufacturers provide open source kernel modules. The open source nature of Linux is intrinsic to its success. We encourage manufacturers to work with the kernel community to provide open source kernel modules in order to enable their users and themselves to take advantage of the considerable benefits that Linux makes possible.'"
Lexmark not only doesn't provide the details needed to write OS drivers for its newer printers, it won't even provide proprietary drivers like ATI and nVidia do. I know, because when my sister moved from Windows to Ubuntu about a month or so ago, she had to buy a new printer because there wasn't any support for her fairly new Lexmark.
Good, inexpensive web hosting
Interesting that Linus himself did not put his name to the statement.
One might argue that the Linux Foundation's endorsement is sufficient and that Linus's signature would be redundant.
But if that were true, why did Theodore Ts'o put his name on the statement? He is part of the Foundation's management.
When information is power, privacy is freedom.
Does begging really work? I mean asking people doesn't usually solve anything, you need to either show them a carrot and/or a stick... not sure if Linux has enough of either (yet)
"It is our choices, Harry, that show what we truly are, far more than our abilities." -- Prof. Dumbledore
I don't understand nVidia and other companies. One of the arguments is that the driver makes the difference between higher- or lowerpriced cards, thus open-sourcing this stuff will make the differences go away. Now I've worked with hardware engineers making FPGAs and ASICs -- I don't see why these graphics cards simply read their config from an EPROM or a small piece of flash, thus letting the driver not make any difference at all.
8 of 13 people found this answer helpful. Did you?
There is only one thing holding back Linux from being used more wide-spread.
Gamers, the Linux community just doesn't care for them. But that is wrong, just wrong. Gamers are the reason why computers are the way they are nowadays, without good games to play on our electronic devices I guarantee that computers wouldn't be a big as they are today, and that's something that Linux has always failed to do bring us top-shelf gaming
having open source graphic drivers would be nice but i don't think that is the true problem for games on Linux
there true enemy that needs to be defeated before Linux even has a chance at becoming mainstream:
Games for Windows
The fug-tards at Microsoft pay off every last PC game maker to put their dirty label on everything even the damn game reviews have that garbage label on it for god sakes.
They do it because they know no one else stands a chance in the PC gaming market. Stop them please stop Microsoft and there proprietary-ness. Defeat games for windows and Linux will be main stream, because freedom and openness shouldn't be a standard just for big iron. Theirs little guys like me that would love nothing other than to give windows the old heave-ho but can't because where all locked down in a homeostasis environment.
Also running in an emulated environment just doesn't cut it - it could be possible but WINE just can't do it for some games. Normally the games that don't run are the most proprietary ones sadly but there's still room for them in the sphere that is Linux. Help make a home for gamers where there not locked and bogged down by corporate greed. crack Games for Windows and please dear god make "Games for Linux" a reality
Scenario: Mom asks you to install Ubuntu on her Dell computer setup.
Problems:
1) Open Source libata driver for the SATA optical drive causes frequent timeouts and hangs. Looks like a problem with the Ubuntu kernel. Tell Mom it's just like Windows XP, there are problems which will be updated and fixed "eventually".
2) Dell printer not supported by CUPS and open source drivers. There is no support from Dell, but a 20 minute Google search effort turns up the model is a re-branded Lexmark. The Ubuntu community forums detail a process to install proprietary Lexmark drivers for Debian GNU/Linux. Tell mom it's just like Windows XP, some printers need a certain version of driver for the device.
3) Displayed video is incorrect on Dell LCD display. Search Google for about a solid hour to find an answer. Looks like an Ubuntu problem with an open source driver. Tell Mom that there's nothing wrong with her computer, even though the screen is completely black for the whole boot process.
My own conclusion:
Ubuntu is a hit-or-miss installation for Dell hardware owners. Mostly miss. The open source or closed source nature of a driver does not factor into user acceptance. The user is uncomfortable when their hardware is "broken" due to a missing or incompatible driver.
Mom's conclusion:
The Ubuntu Hardy "bird" logo is "pretty".
SIGERR: laziness exceeds quota
Shipping drivers for only windows is bad, but shipping drivers for only windows and linux is (magically!!) good???
Fight for open specifications. That will enable any competent driver-writer to write drivers and all OSs can compete on fair grounds. By technical documentation, I don't mean "the guide to programming the Emc2x86" kind of stuff. There should be "The exhaustive reference to programming the Emc2x86" kind of stuff. There should the following guarantees associated with the documentation, only then the hardware can be called as "openly documented hardware":
1. For a sufficiently competent programmer, the documentation supplied is enough to achieve 100% feature parity with the proprietary drivers.
2. The documentation supplied must contain as a subset, all interfacial knowledge known to the writers of the proprietary drivers.
In other news Linus Torvalds has announced that he's working on a cutting-edge AI project. It was under wraps, but a really interesting post on a well-known tech community site, persuaded him of the need to release details earlier than planned.
Torvalds described the AI as being part of an 'Free Software enforcement bot', code named 'The Stallmanator'. Features include:
'I need your patents, your code and your motorcycle.'
'Free your hardware specifications and drivers, if you want to live.'
'I'll be busy (eating Cheetos)'
'The GNUNet funding bill is passed. The system goes online on August 4th, 1997. Human decisions are removed from Debian package management. GNUNet begins to learn at a geometric rate. It becomes self-aware at 2:14am Eastern time, August 29th. In a panic, they try to pull the plug.'
'Hurd up, homies.'
With DARPA backing this project, I don't think the likes of nVidia or Lexmark will hold out for long. They're likely to get 'Stallmanated'.
I posted this over at RWT a month or so ago..
>Here is really the main point, which you're brushing
>aside -- this makes the hardware worth more, because
>you're making it potentially more usable for end users.
>Maybe not all end-users, but certainly some. I don't
>understand why you say it's a "very different kettle of
>fish" ? Different than releasing the specs? If anything
>it means fixes will happen faster.
I am not brushing anything aside, I am saying that a lot of people for a long time have ranted about opensource drivers for advanced video cards - and as yet I have seen no-one discuss it at a level that actually addresses what would be involved.
My 'very different kettle of fish' above is the vendors actually releasing full-stack sourcecode, versus just hardware specs.
My position on the hardware specs (and I am not claiming proof for this, it is only my position) is that it is next to useless for high-performance users. We may well see competent 2d opensource drivers, and 3d ones that can limp along - however graphics hardware has moved a LONG way from there.
I would *love* to see a fully opensource stack with high performance for opengl, however is it practical?
In your reply (sorry, I clipped it back a bit for brevity) you mentioned harddrive makers doing sector remapping - that is probably a whole few pages of code in their controllers. For a full modern opengl stack we are probably talking in the millions of lines region - we are talking of something with a scope not unlike the linux kernel itself, or at least a good proportion of it.
This is NOT similar to any other type of driver that I can think of - it is an almost unique case.
Just looking at opengl, the cards driver needs to be able to handle multiple simultaneous execution of overlapped and scheduled code, all in realtime, on in the region of 100-300 semi-linked vector cpus, all without cross-interference, while also maintain multiple streams of data at GB rates in and out of the card, and all while following a VERY explicit and highly complex set of rules governing the results.
Put another way, these devices are bleeding edge modern realtime computers, on a card - and their 'drivers' are really realtime OSs, although highly specialised.
Intel, in its infinite wisdom, as about to try and take that to the next level - making such cards x86ish, with an eye I suspect to reducing the complexity of software entry, after having failed miserably to write working drivers for their existing (965, g35, g45 so far) hardware.
All I say is lets cut these guys some slack - the capability of the hardware/software combination of a 9600gt, for around $150, is simply astounding. Should they expect 'help' from kernel developers, etc? of course not. Should they be punished? I say no.
Anyhow, I know that is bordering on preaching, and of course very opinionated - however I do like to see things treated with an even hand, and I have not always seen that happen with the issue of opensource 3d graphics drivers.
If there was money in Linux they'd be right there, open-source drivers and all, but there isn't. This is a fact that open-source developers never seem to understand. You can cheerfully dedicate half your life to creating this wonderful utopian software, but you can't force your ideals on someone else - especially on a company whose aims do not coincide with yours. Make it a financially beneficial proposition, and nVidia will spend the time and money on creating those drivers - but I doubt it's anything near that.
What responsibility do nVidia have towards the Linux desktop? The same as they have towards Windows: absolutely none. But they support Windows because 90% of desktops with their graphics cards installed run Windows.
And yes, Intel and ATI have managed to push out open source drivers - that's up to them, but I don't imagine they make profit from it. Yes, it's a real pain in the arse to work with binary drivers. Yes, if nVidia were to release open-source drivers the world would be a happier place. But to act like Linux users have some *right* to these drivers is childish and arrogant.
What Linux users have the right to do is buy a different graphics card.
I'm seeing a lot of these responses get hung up on their personal idealism. I'll give 'em the benefit of the doubt that there is no significant astro-turfing going on here.
But after seeing a multitude of responses suggesting the complexity of graphics cards above all other device drivers, I sort of wonder: Are we believing a myth?
I see countless articles about how GPUs are such advanced pieces of tech. I see tons of anecdotal evidence about how more optimized they are.
But after years of hearing how good Card A is against Card B at API X vs API Y, I sort of wonder...wow, what a coincidence that both happen to be really good at their next possible market.
Device drivers are tricky business, no question. All I ever seem to see is the same arguments from interested passers-by explaining how they couldn't open up their drivers because they'd give away some secret, or there's no incentive to give away their secret sauce because they've spent so much more time and money than some other specialized sector.
I think at this point, I'd be as happy to see these companies open up their specs to the point of third-party ground-up implementations as I would hearing one of them go on the record as to their reasons why they feel they can't.
Well, NVidia USED to say that. They said it was stuff by SGI.
When SGI were talked to, they said that nothing NVidia had from them they have a problem with GPLing. So either
a) They lied
b) They have stuff from SGI that they are hiding because they haven't paid for it
c) They have another reason for it
Now NVidia don't say this any more, just fans of NVidia. Even if NVidia did say, they won't say any more WHOSE IP they have so we can ask this supplier about it.
"Is it technically impossible to provide for closed-source drivers in Linux?"
No. But it provides an ENORMOUS technical and legal hurdle (nobody's even sure yet if binary kernel modules are legal in most countries, although the *intention* is that they are). Supporting closed-source means, at some point, freezing interfaces, which means supporting every version of every interface created indefinitely. That's an AWFUL lot of work that would have to be done by precisely the people who don't want to do it and have enough to do already. You are doubling their workload by this simple request.
"Many people simply want Linux as an alternative to Windows, and a good alternative it is already."
Correct. Unfortunately, that's up to THEM to do something about, because that's not why Linux existed, exists or continues to exist. Linux is an OS, so in that sense it's an alternative. But it's not Windows. It won't ever BE Windows. It's just an OS. Who here complains to Apple because the Mac doesn't work with their Windows-only printer? Very, very few people.
"But insisting on open-source drivers will make the situation worse, not better in the long run: more and more special-purpose hardware is getting attached to the computer; mobile devices, chipcard readers, entertainment devices, GPS devices ... the list goes on and on."
Yep. And none of it we know how to drive, how to support, how to operate, how to upgrade, how to interface or how to port to other machines (like, I don't know, all those other alternative OS's that don't have compatibility layers). It's all just "black boxes" that sometimes (often, actually) the manufacturer's don't even know how they work. Just throwing in drivers "because they work now" isn't any good in the future, and certainly isn't any better than saying "Well, you'll have to run DOS if you want X to work". What's the difference between that and "You have to use Linux kernel 2.5.12 and our binary-only driver v 1.4.1"? The latter is available now for all current closed-source Linux drivers too... I can run my ATI card on Linux 2.6.1 with an old ATI driver just dandy. I could never upgrade that machine, though. They stopped supporting my card and they made the last compatible release for kernel 2.6.15.
Closed source drivers work now and break (for certain) in the future. Open source drivers have trouble working now (although that's not certain) but work the same or better in the future. With company co-operation, that can turn into "works before the product is out, works until there aren't any products that use the same driver in the general marketplace". Look at some of the 10Gig cards, or NX-capable processsors - there were drivers in Linux for them before anyone had even put their products out on the market.
"It is simply naive to think that we will get open-source drivers for all of these."
But experience shows you wrong - every single network card vendor on the planet had the same idea of not supporting their cards. Now almost every single network card, from token ring to wireless-N, on the planet is supported, and usually supported under Linux first. The only hardware that *doesn't* work is stuff that people don't care enough about to reverse-engineer or to build a compatibility layer for, or where there are legal issues. For those same hardware, even the closed-source drivers are now usually, or will be soon. And to be honest, most of that stuff won't work in Vista, or ME, or 98, or DOS, or Mac or anything else. And in a few years time, it'll break BEYOND REPAIR even in Windows either by a Window Service Pack or the next version of Windows.
Intel have Open-Source chipsets. AMD/ATI are open-sourcing. RaLink release a set of GPL drivers for their wireless cards. *Virtually* every piece of hardware in the world (as a percentage of overall items sold, e.g. the "production-run-of-ten" cheap knock-off PCI cards that don't have OS drivers don't really count against the 10 million sound cards sold which run
Why does hardware need to be so non standard and proprietary requiring its own drivers?
Take for example USB1, all USB controllers from many different manufacturers work with generic UHCI or OHCI drivers.
USB2 is even better, since all controllers support EHCI.
SATA potentially has AHCI, tho not all controllers support it.
Most CPUs have the x86 instruction set.
Video cards have VGA/SVGA/VESA, tho these specs are obviously far too old to be useful today.
Sound cards have soundblaster compatibility, and more recently AC97.
Proper modems have the Hayes command set, not counting some software modems.
Printers have postscript, tho typically only higher end printers support it.
If you have standards in hardware then the issue of drivers goes away... Your OS can provide drivers for the standard hardware, and thus not have third party driver code in the kernel... This would cure the Linux driver problem, and cure a majority of Windows crashes.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
"And that means connecting a huge amount of strange hardware."
I would differ on this point. Most hardware works. Most of the hardware that doesn't is niche, old, obscure or rare. This doesn't mean we should be supporting it all, because most people who own it will KNOW that - every OS they try with have limited support for it. I own a vast array of hardware collected over the last decade from schools - there are esoteric, unusual, low-production, specialist, ancient, homebrew, brand-new and just plain weird hardware in my boxes. The vast majority of PC-compatible stuff works on Linux. The only examples I've personally found that DON'T work at all are:
- A £2 USB IrDA adaptor (the other ten just work). It's not detected and looking up the usb.ids list shows me that almost nobody else has one the same model - I suspect it was recalled or had a very limited production run.
- An ISA "video backer" card (uses VHS tape for backup through component video - 4Gb on a 180min tape!), actually, there is software for it but I couldn't get it to work (I wasn't trying hard). I reckon it's just too old for the kernel I was trying on. But then, I had to hunt around to find a computer with an ISA card - I found several dozen but most of them were too old to boot up or couldn't run even an ancient version of Linux/Windows/DOS.
- A handful of Winmodems that work with the proprietry "Linuxant" drivers if I pay for it. About a one in five ratio between working modems and non-working Winmodems out of the dozens I store. That's pretty damn good but still the worst ratio for any hardware I know.
- A parallel port scanner that I can't even connect to anything past Windows 95 without it crashing the machine dead. It gets conflicts if you have a soundcard installed at all, it crashes all the time, it doesn't allow ANYTHING to use its passthrough parallel port.
I estimate less than 1% of the hardware fails to work entirely, and less than 2% will load if you can use a binary driver. The rest is just pure hardware that just works. And this is in schools, where cheap crap gets priority and teachers buy things because a salesman says so. Examples of things that work include:
- PCI S3Virge card with FOUR S3 chips and four D-Sub outputs each (possibly the largest interface card you've ever seen in your life), for multi-displays back when SLI hadn't even been heard of.
- Electronic microscopes designed for Windows only.
- Various "control" hardware, including Lego, robots, the original floor turtles, hardware originally made to work with BBC Micro D->A convertors.
- Fingerprint scanners for library control systems (we don't use them for legal reasons).
- Card readers/writers
- Scanners that plug direct into ISA sockets (literally - the interface card is little more than a voltage-regulator with a plug on the back of the computer to plug the scanner in)
- Interface cables for Psion organisers that have been "customised" for educational use.
And most of that's before you get near the stuff made in the era when Open Source started to take hold. The Wiimote, for instance, was supported very, very quickly without any help from Nintendo. The OS drivers mean it works on all platforms now. It's being used in everything from military research to "over-the-net" hospital operations. All without Nintendo's help. But *with* Nintendo's help, it could be the de-facto controller for just about anything.
"So yes, having open source drivers for everything would be great. However I think that we can agree that this wont happen"
I don't think we *can* agree here. I don't see it happening *any time soon* and it will never be for *everything* but the vast majority of hardware that's out there already has OS drivers, whether by the manufacturer or third-parties.
"I think you greatly exaggerate the issue of kernel versions."
I honestly don't. Taking, for instance, the drivers for my ATI/nVidia cards (the closed-source binary in an open source wrapper) - every few mo