Should Linux Use Proprietary Drivers?
Richard Gray writes "Should Linux accept proprietary video/graphics drivers from likes of Nvidia and ATI ? The GPL written by FSF says that the license prohibits proprietary drivers. From the article: 'To write open-source graphics drivers without help from Nvidia or ATI is tough. Efforts to reverse-engineer open-source equivalents often are months behind and produce only 'rudimentary' drivers, said Michael Larabel, founder of a high-end Linux hardware site Phoronix ... Torvalds has argued that some proprietary modules should be permissible because they're not derived from the Linux kernel, but were originally designed to work with other operating systems.' The FSF however, sharply disagrees. 'If the kernel were pure GPL in its license terms...you couldn't link proprietary video drivers into it, whether dynamically or statically.' Where do you fall on this issue?"
As for this statement:
Firstly that is a very arrogant approach, some of the best developers in the world work on open source stuff, saying it is to hard is just stupid. As for customers not asking for open-source drivers, all I can say is huh? There have been dozens of calls over the years for drivers to be open sourced!
Regardless so long as the drivers are proprietary, I will continue to load proprietary drivers into my kernel, the FSF has a fairly narrow minded view here, yes it would be great if the drivers were open, but they aren't, and I am not going to restrict my system capablities just because the FSF doesn't approve.
GeekServ Unix Consulting Services (http://www.geekserv.com)
Linux should be *open* to using either. If not than it's not really a "open" tool.
The real question is: Should we buy hardware with closed source drivers.
Tom
Someday, I'll have a real sig.
Useability beats ideology. I want my GeForce to work, I will use the drivers that work, regardless of license.
You say you want a revolution....
...for closed source drivers in an Open Source project. Period.
Proprietary drivers should never have been allowed to link to the linux kernel - doing so makes them a derivitive (yes, even those drivers that predate the linux kernel). Allowing them to link has diluted efforts to create free drivers, diluted the GPL's effectiveness (in the kernel) and allowed Nvidia & ATI to appear to be contributing more then they actually are.
I'm lucky (hah!) enogh to be using a driver from a vendor who shows a little more support for OSS, but while the software is quite stable, the actual hardware is crap (and utterly useless for games).
There are shills on slashdot. Apparently, I'm one of them.
As long as them drivers are free and have no limitations on being distributed with a system, there shoukldn't be a problem. Elsewise, leave them out and just download them.
This is my sig. There are many like it but this one is mine.
I wouldn't like my kernel to be polluted with non-free drivers. Third party drivers mean a more bloated kernel IMHO. Besides that, what's wrong with external modules like the nvidia drivers ? They work perfectly.
I have a deep desire when I install an OS for my hardware to "just work" without having to spend hours configuring what should be done automatically. Of course, I also want those devices to always work without random driver breakages during kernel upgrades and such.
I guess when it boils down to it, I want the source driver with all the freedoms of the GPL. That way I always have control and know that any future kernel updates that kill the driver will result in the possibility of fixing it with or without the help from the manufacturer.
Yeah, it's great to be an idealist, but there are some of us who want usable 3D. I fall squarely in the latter category, and I will continue to load proprietary modules into my kernel.
Any move by the FSF to prohibit this will only drive people away from Linux, since it's not likely that NVidia and ATI will ever open their drivers completely. Free Software is great for some things, but occasionally the FSF has to recognize that some proprietary elements are unavoidable.
If a Linux Distro is really open, should the user not have the freedom to choose if he wants to use open-source drivers or proprietary drivers. Being slavish to the 'open-source only' rule is in fact counter to the spirit of it all.
Oh goody, another licence flamewar. Seriously, proprietary software is going to be a fact of life for ever, intentionally annoying your users by preventing them using binary modules is only going to reduce Linux uptake.
From TFA:
ATI's driver remains proprietary for intellectual property reasons, the Canadian company said. "There's third-party intellectual property that ATI has licensed that is required by law to be protected," said Matthew Tippett, ATI's Linux software engineering manager. "And the graphics market is hotly competitive, and particularly in the high-end cards, we have lots of intellectual property. We want to maintain the proprietary, trade-secret nature of that as long as possible."
This very much reminds me of Stallman's bit about people who want to use the GNU/Linux crowd as a market,and not a community.
Well it would be nice if nvidia and ati opened the drivers....
Linux must expand to succeed. This is a fact, at the moment it is still very much a small percentage of what windows is (At least in desktop form, and as we have mostly headless servers, this is what we are really talking about, linux on the desktop.)
The FSF have their ideals, and the GPL attempts to enforce them. However, at the end of the day, its the user who has to put with with the "nv" driver instead of nvidia's own nice driver. Its the end user whom has to compile it all together to work.
Linux NEEDS to work, out of the box, and work well. Now either the FSF have to realise this, and allow the drivers to be built in OR someone needs to come up with a cureall solution which fixes this problem. Either way, until that point, adverage joe isn't going to use linux and understand how to do all his driver installs and understand why the nvidia driver isn't just "working".
I love linux, i use gentoo and i think its awesome. I also would love to spread linux to my friends and family, but many things hold me back, its this kidn of thing which causes problems.
Until linux has the "plug and play" power of windows (yes windows is bad but it has somethings right), then we can't see linux taking on windows in the desktop scene anytime soon.
- http://www.milkme.co.uk
I would hate to see Linux development fall behind the power curve. I mean it has taken this long to get Linux up to where its considered a viable replacement for other desktops; I'd hate to see it take a hit and get dropped back in terms of being able to keep up.
Yes its ideology promotes (and almost dictates) being totally open, but until it gains a much larger portion of the desktop market, I don't think it'd be wise to try and request/suggest/force/dictate that hardware manufacturers let their drivers out as open source.
The Linux kernel offers API's and services that allow proprietary applications to run. If you look at a video driver as an "application to display information" then I see no reason why a proprietary driver couldn't be used with the Linux kernel. Just stick to a well defined set of API's and this discussion becomes a non-issue.
To Terminate, or not to Terminate, that's the question - SCSIROB
The Open Graphics Project recently released schematics for their first product and are steadily making progress towards completing it for sale (http://kerneltrap.org/node/6262). If Libre graphics drivers are REALLY important to you, you might want to consider looking them up at "www.opengraphics.org". Despite being unfunded since early 2005 (which they could use some help with), they are still managing to make some headway. Those people with technical expertise (graphics drivers, graphics hardware, PCB design, chip design) would do well to pitch in to the effort. And those with money who also complain about the lack of Libre drivers should put their money where their mouths are. Rather than sitting around and complaining about it, the founders of the OGP decided to actually DO something about it; if you want to do more than just complain, they could use your help.
I'm reasonably happy with the current situation. I run several proprietary drivers on my system (nVidia, in particular). I like that the stock kernel isn't tainted and is redistributable and hackable (not that I ever hack it, it's the principle.) And I like that proprietary closed-source drivers are nevertheless available to me.
But most of all, I like that *I* get to choose when and whether to use them -- this is the very core of free software.
Making it easier to link proprietary drivers into the kernel would be a reasonable step, provided kernel stability is protected, but actually including them in the stock kernel source would be a mistake -- corporate behemoths could and would leverage them to make the stock kernel friendly to them and hostile to their competitors.
For mass distribution to non-knowledgeable users, an intermediate packaging and distribution layer could take care of negotiating with vendors for redistribution rights to proprietary code. Such a layer is probably required for Linux to be accessible and popular anyways, so it's a natural fit. We can call them "Red Hat"...
2*3*3*3*3*11*251
http://news.com.com/2102-7344_3-6061491.html?tag=s t.util.print2 .0/0972.html2 .1/0274.html2 .0/1051.html
Linux in a binary world... a doomsday scenario
http://www.ussg.iu.edu/hypermail/linux/kernel/051
http://www.ussg.iu.edu/hypermail/linux/kernel/060
http://www.ussg.iu.edu/hypermail/linux/kernel/060
So what would happen if the kernel was released under LGPL? Proprietary modules should be allowed with that...
(acknowledging such comments may cause personal discomfort)
Allowing some company to run a binary driver on my computer, when I cannot see the source code for that driver, is not in the interest of best practices security. Using those binary drivers on a computer that has a need for high level of security is a self-defeating endeavor.
The good move would be to go the opensource way also for hardware. Something like OpenCores.
Of course this move would be quite long and hard to go. But we all can bet that the emerging product would be by far better than the closed one.
Just like it is happening for *BSD systems against the notorious "Unix Sys V" or, better, Linux against Microsoft.
Reverse engineering can be tough as well, but a good disassembler would do the magics: once you know how they do it, you can guess why they do it that way and then you can do better than them! Or at least as good as they do.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
Sometimes I think those free software guys are going way to ideological. Granted, linux would not be as succesfull today without their GNU tools (hence GNU/linux is the correct name to them), and without the GPL i can't imagine what legal troubles might have been here (hooray for SCO!), and how we would solve them. The GPL is fairly strong for this matter.
Even more, I would say we should be thankful to nVidia and Ati for even going into the trouble of creating their proprietary video drivers, even if this is only so they can get their money out of the linux (business) market. And the point made that the open source versions of such drivers lag behind is completely true, and a very good reason imho to allow such linking, for once, to be legal.
I even wonder why the FSF is so determined to disallow programs to be linked to GPL programs. I perfectly well know the LGPL exists, but c'mon, as long as people are not stealing or abusing code many OSS developers worked hard for I don't see anything wrong.
Dependency hell? =>
There are some things that are just better written by the people that are close to the hardware in question. The FSF is holding out for ideals, and yippee-gee-whiz for them, but open-source drivers make about as much sense as refining your own gasoline. It's just not cost-effective, and the end product isn't as good as what you can get from a real provider.
(Note to the poster who said that open source software is written by "some of the best programmers in the world" or some such. Yes, some. Not all. This is why you'd want the video drivers written by the OEMs. It's certainly true that the OEMs don't have all the good developers, but they certainly have developers who are good enough to get paid for writing code, which is more than I can say for a lot of open source projects.)
...should those drivers become part of 'Linux' or be only available as third party drivers as at present?
J.
You're only jealous cos the little penguins are talking to me.
"oh noes, I can't hackz0r my video drivers!!!"
who gives a shit if the drivers are open source or not, how many people out there are good enough in this field to actually make any significant modifications to these drivers that nVidia and ATi can't do? There is no point opening up all their drivers for a few people. And the FSF needs to shut up with their dilusional ideology, open source is a convenience, not some fundamental human right
Go ahead, disagree with Linus, hardware manufacturers, and everyone who wants their hardware supported, about what goes into Linux. We'll see who wins.
How about the design of the graphics card, and the code that runs on the graphics card itself? Those aren't 'open' either. My optical mouse runs some code on it's little embedded CPU; that's not open source either. Or even the design of the AMD/Intel chip itself, and the microcode that runs on it?
In the real word, not all manufacturers of all components want to give you a "how to clone my life's work" guide, and you just have to live with that.
Worst BBC News Stories
Why is this still an issue? it must be blind altruism. I've been using the binary nvidia drivers for years and perhaps that has tainted me. But the drivers work well and correctly use the hardware I have paid good money for. If there were open-source alternatives I would still not use them as I prefer drivers from the company that made my hardware... regardless of the availability of the source code. The kernel developers do an incredible job in supporting all sorts of hardware and must be given their dues. But take the AC'97 audio device, it's open-source drivers do not support hardware mixing.
I used to think having a Linux kernel driver ABI would be a good thing. But then I started to change once I read about the OpenBSD ilk and their trials with wireless, RAID, etc. (and their recent "blob" song). My attitude these days is "not in my kernel".
Binary blobs prevent peer review for security. They are in themselves a security risk as any vendor could use them to inject God-only-knows what hooks into the kernel (Sony rootkit native on Linux, anyone?). And I'd be more inclined trust the quality of code from the Linux community above and beyond anything proprietary.
I'd rather go without. If we must have binary drivers, they should either be run in user-space through a strict Free-software gateway or provided as a safe byte-code for a driver virtual machine.
So it doesn't matter what people think about it. It is allowed... move on. NVidia and ATI will never release open source drivers that have the same performance as their proprietary closed driver so what does this matter? If Linux wants to survive in the 3d performance arena that require high performance video cards then it has to allow proprietary drivers otherwise it is screwed. If the Linux kernel changed to not allow any proprietary drivers to ever link in any way with the kernel then Linux desktop use would be reduced dramatically. I have been using it for 9 years and 5 years exclusively on my desktop without Windows but I would drop it in a heartbeat if the latest 3d games and 3d modelling software that normally get released for Linux wouldn't have about same performance as a Windows setup. If MS wanted to severly hamper Linux growth it would be relatively simple... buy NVidia and ATI and stop releasing drivers for Linux :). Some might say that the server market would keep growing the same but that would not be true because without 3d performance I bet that quite a few developers would stop producing code for Linux which in some way or another would also eventually slow server ocde development(less people with the skills on Linux).
What has the FSF got up its arse, trying to piss ATI of brilliant, absolutely brilliant... Make it harder for the hardware manufactures to make drivers for linux and we will get less support.
I like 99.9% * don't care where the driver comes from as long as it works. If I get proprietary drivers that work out of the box I am chuffed (hopefully less bugs than a reverse engineered product).
I for one don't give a rats arse where the driver comes from as long as my hardware is supported. If the company such as ATI decide to close source there source there drivers I really couldn't give a shit, as long as ATI supports my hardware and I get a decent frame rate what more could I want apart from a date with Elle.
*figure pulled from my arse
The OpenBSD project has a very clear viewpoint on this issue. In fact, it's the theme for the upcoming 3.9 release song: http://www.openbsd.org/lyrics.html#39
Below are the reasons why the OpenBSD project is strongly opposed to using binary blobs:
But we all can bet that the emerging product would be by far better than the closed one.
You are joking right? Or has Stallman started using hypnosis on his acolytes now?
On the other hand, if distributions do use proprietary drivers for linux, that may be the beginning of the end of pure open source distributions which is bad in the long run.
Not an easy one but I tend to favour using proprietary drivers rather than being stuck with bad/no drivers.
On se Internetz nobody noes your German.
One you make this decision you can't turn back. The second that you allow proprietary drivers to be used by linux you will see a sharp decrease in the number of opensource drivers being worked on/used. When you have a working solution, you will not have the same desire/need for an opensource version. Yeah, of course we all know the argument, we love open source... and if you have a working windows, then why have an opensource OS. It is different though. Most people think that everyone that uses linux is a huge fan of opensource. A lot of them are, but sadly a large amount of the userbase loves it for other reasons including that it is free and just seems to work better. I hope I am wrong with this, and that the hardcore users who are coming out with the drivers anyways will continue their work, but I feel like it is just something that must be thought about a lot before taking this leap. Otherwise I feel like many would say "we don't have an opensource driver for this thing A so let's just temporarily use this proprietary one" and then lessening the chance of the opensource one ever coming out cause you have a working solution which is fine for most people.
This argument is so old. I suppose the fact that it keeps coming back must indicate something, however.
I think there are two views. The first is that the kernel source should include all of the drivers' source. Buggy drivers destabilise the kernel and if they're closed, then then life is more difficult for the kernel devs.
The second view is that the kernel and the drivers ought to be separate as much as is feasible, that where possible, the kernel should expose a stable set of APIs which the drivers can use and the driver writers should wrap the kernel APIs in a LGPL wrapper which they can then link their proprietary drivers against.
I happen to agree with the second way of doing things, when it's not feasible to pursue the first. Feasibility has to be determined by pragmatism or religion/zealotry which is what all of this boils down to.
It's funny because he's a complete jackass. "Spelt" is a variant past tense of spell going back at least to 1750.
It's not even particularly variant, since it's pretty common to devoice a final (typically) voiced stop; in this instance, it'd be [d] > [t]. It's just an example of a "non-standard" orthographic representation adopted to more closely match the pronunciation in a given dialect.
I avoid the controversy.
/. seem to act as if NVIDIA and ATI were the only players. For most non gamers the Intel 3d chipset's and their open source drivers are sufficient. Not only that, they open source their wireless drivers too. I've been buying motherboards and laptops with builtin (i.e. much cheaper in the end) Intel chipsets for a while and their support has been a breath of fresh air. Plus their mother boards just seem to work. Stable, open and reliable.
Most people here on
Companies like Nvidia could compromise by releasing a free driver that works and has all the hooks, and a closed driver that works well with all the bells and whistles. This would make it easier for someone to reverse engineer the closed driver, but that's life. Distributions would include the free drivers, and system builders could include whichever they prefered.
Has anyone worked on a driver driver. One that can wrap around a Windows driver? or is Windows so poorly defined that that won't work.
Great, except that the whole point/problem is that Linux developers don't want to have a stable ABI.
Blob themesong
'nuff said
http://www.openbsd.com/lyrics.html#39
J.
From the GPL:
"If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works."
So one can argue that if the properitary drivers can use the same interface(through a small opensource kernel module) on multiple OSes (BSD, Linux), then these drivers are not derived from any OS.
Come on ATI and NVidia, you can do it! Divide your graphic drivers into an kernel part and a user
space part and open source the kernel part. There are no big trade secrets in switich a graphic card
from mode A to mode B or finding out how fast it is clocked, what kind of monitor is attached and
all that.
If you absolutely want to keep a proprietory binary only core under a closed licensed, that is fine.
But please limit it to the real important stuff, like those mega tuned GL libraries and 3d accelleration,
and make the basic parts of your driver open source. That way kernel and big parts of X11 and libs
could be open source, and you could have additional, optional parts for X11 for better accelleration and
stuff like that.
Well, ATI is already a good step into that direction, the radeon driver works pretty well and is only
half as fast as the fglrx driver when it comes to video play back. Now please look at your code,
merge all the non important parts with radeon, and reduce the fglrx driver to some user space binary
blob. The kernel parts can't be that important, if radeon driver gets nearly everything right and fast.
Of course the drivers should work. The question is whether or not the vendors should freely license the code. Are you suggesting that open drivers can't work? I think not. More likely that they would work better, because people would be able to review and tweak the code.
Personally, I just don't understand why NVidia et al insist on keeping their code closed. Sure, there might be some niftly little performance enhancing tweak that they don't want their competitor to have. OTOH, their competitor probably has some nice tweaks of their own. All in all, I think that argument is a wash. I don't think the argument for keeping the drivers closed is pragmatic or ideological - I think it's merely due to inertia. That's what they've always done, and they don't have any reason to change. If they were forced to change - because Linux didn't accept their modules anymore, say - I'm sure they would, rather than lose sales. And it really wouldn't hurt them in the slightest. I'd guess that in the long run it would even help them, because the code sharing amongst all the manufacturers would accelerate the development of new abilities that would drive people to want to upgrade their hardware. Plus think of all the third party development that would drive up demand.
NVidia and ATI are hardware companies, not software companies. If they would just realize that and act accordingly, it would be a win for everyone.
Live and let live. You can be idealistic as much as you want, but for 99.999% of the world, a Computer(and it's OS) is a tool, not a political statement. We just want the thing to work.
a ilable-and-only-compiles-with-gcc-1.5, which unfortunately seems to be 95% of the stuff people want to install. I expect any rebuttal to include a detailed explanation of how to install "tuneit" on any arbitrary linux distro, in terms my mother could understand (That means no console!)
I have absolutely no problem whatsoever with proprietry drivers, or proprietry software in general, and would encourage kernel developers to support them as best as possible. (I'm thinking a fixed API/ABI/Whatever so I don't have to reinstall every driver when I update my kernel). Leave that stupid "Warning: A proprietry kernel module has tainted the Kernel, killing a poor defenceless baby Gnu" message for me to ignore, and the world will keep on turning.
To put it another way, the two things that are stopping Linux from ending up on Mothers desktops everywhere are
a) Driver/Hardware support. This can be remedied with a decent driver API (With binary-only driver support!)
b) Software installation. Third party repositories are a fundamentally flawed system, give me InstallShield/Wise/InstallAnywhere anyday.
And No, I don't want to hear about how easy FooDriver is to install using Yum/Apt-Get/Portage/etc, and how your Mum uses linux (Because you support it from her basement). The system doesn't work for Obscure-Software-2.0 with Random-Library-3.0-that-has-no-binary-packages-av
Mod parent up. I agree 100%. Why didn't you register an account so people can actually see your comment?
(I don't say it'll be easy to set protocols covering everyone's wishes)
But personally I don't have any strong feelings against closed source drivers.
As long as they don't interfere with the OS or other applications.
Again only a strict protocol could prevent this without opening the source.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
Help build and support a real open solution. http://opengraphics.org/
Domestic spying is now "Benign Information Gathering"
But I need something that will work, not something I can feel good about.
And that, ladies and gentlemen, is the business world in a nutshell.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
So, using this reasoning, I am sure people believe that Oracle should open source their database, because it runs under Linux?
Although I like the thought of open source and free software, I also see the place for commercial packages. If the FSF wants to keep some vendors out because of a philosophical reason, that's ok. It just brings a chilling effect for other vendors to ignore the platform.
Let's face facts, Linux doesn't have enough market share to make a real difference in sales to graphics card company. And while Linux has gained some popularity, it needs the support of vendors before more people will use it as a primary platform. Chicken, where's the egg?
I donate to the FSF (money, not time) and consider myself to be a supporter in general.
That said, a good fraction of my job is developing and deploying Java-based web portals and other infrastructure software on Linux servers - and I do need the "non free" Sun JDK and JRE for that.
So for me, it is a matter of pragmatism to sometimes use non-free software on Linux. (I have been using Ruby + Rails + Apache a lot more in the last year, and besides the simple fact that developing in Ruby is so much fun, I like the 'entire free software stack' thing).
So while I would always like free software alternative drivers to be available for Linux, I am right now using a proprietary ATI driver that is running dual monitors very nicely under Ubuntu on my development box.
He has been quoted as saying that if the best tool for the job costs money, then he is going to buy it. True...if you go by the FSF way of doing things, then you can't have the drivers. However, it goes back to the "best tool for the job" argument. I need to make Linux work...period. If nobody is going to produce a driver that works and the company isn't going to open the driver, yet they provide it for free, I'm going to use it.
I'm not a troll, but I play one on Slashdot.
I currently have a notebook with an ATI Mobility Radeon 9700. Frustrated by the lack of open source drivers, I installed the proprietary ones offered by ATI... Big mistake... it caused so many problems, one of which had been listed as a known bug for half a year by ATI.
If a vendor want's to close source their drivers, then that's their decision... However, they should provide a decent level of support. A known bug should not exist for any more than several months (imagine what people would say if they did this with their Windows drivers).
Linux users should not be treated as second class, if the vendors out there don't want to spend the time/resources developing good quality drivers, then why bother trying... instead, they should release as much documentation as possible about their products so others can.
I have a friend who owns an Nvidia graphics card and has had no problems with it. Secondly it seems that Nvidia's linux support surpasses ATI's. When it comes time for me to purchase a new PC, it will not contain an ATI graphics card.
Excuses Are Like Assholes - Everybody's Got One
but that means usually a difficult choice: often there is an open source driver, but it is not fast.
On the other hand the super fast optimized proprietory driver is a maintenance nightmare: you need to
update it each time you update the kernel or Xorg and keep all those parts in sync.
Closed source binary drivers do not need to go away. But currently they do everything in the closed
binary only part. Please change that to only do those parts in binary only that are real important
(like all those secret tricks to get fast. And then open the rest - all that
boring code that switches graphic modes and checks what monitor is attached and turns of the backlight
if I close my laptop. There is no reason to keep those simple parts secret, and opening them would reduce
the driver to a much smaller size, most likely move the proprietory parts into userspace / libGL and Xorg.
That would be a good step, make maintenance of kernel and Xorg and friends easier, and still allow NVidia
and ATI to keep most of there secrets.
Here lies the problem: Linux is shit without hardware. People arent going to want to use it "widely" without having to open a box at wal-mart to check the revision number of a peice of hardware to see if some barely-working craptastic peiced together, workaround, hacked, repackaged, 2 year old driver is going to work. Poorly.
The people that make computers useable are: Software developers, and hardware developers. If those 2 entities can't agree then useability goes out the window. Don't get me wrong, I love linux. But at the same time, the 500 bucks I just spent on a new video card and sound card are out the fucking window if I run anything but windows XP. I'm not waiting for some guy, or some group of guys (girls) to accidentally find some way to make my hardware "work" and by that, they usually mean it works electronically, but there is no real software to change any settings or use any advanced features. When the day comes that I don't have to act like a racoon going through the trash in my old hardware bin trying to find a video card (with more than 32 megs of vram) or a soundcard (with a signal to noise ratio of more than 60db, and better fidelity than a ghetto blaster) then I would be more than happy...scratch that, extatic to install Linux and get away from microsoft. GPL really needs to learn to swing a little bit from "idealist" to "realist"
Useability = hardware+software. Hardware limitations are useability limitations. Stop protecting your ideals and think about the end user for a change.
Windows has more viruses because linux has more virus coders.
What ATI and Nvidia could do is deliver their drivers as two parts: One would be an open-source kernel module that did nothing but jump into the second part; a closed-source user-mode program. The kernel wouldn't be tainted and the "GNU philosophy" would be side-stepped entirely.
I'm pretty sure the FSF wouldn't prohibit the running of commercial and/or closed-source user-mode programs on a GNU system.
I'm of two mind about this issue. One the one hand, sure, it'd be nice if the video card makers would open-source their drivers but on the other hand, I really appreciate them giving the Linux community some sort of support.
Can you name any other 3D cards that are open-sourced and come close to Nvidia and ATI's products?
Someone give me an AMEN!
... RMS and the FSF be damned.
Yet another example of FOSS ideology shooting itself in the foot.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
The third option applies.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
I'm getting kinda tired of the tree hugger FSF attitude (and have always been fed up with the corporate mantality of hardware vendors). nVidia and ATI are making their money in their hardware and I understand they may reveal some of how their hardware works in opening their drivers but here's the dilema... I just want linux to work with the hardware I buy. I don't care about the rest of the politics and neither do 99% of you. Message to hardware vendors, make it work in Linux. If you do, we linux users should be willing to make some sacrifices in licensing or other things. Do we want to have useless jihads like this or do we want to suck it up and get back to work?
You can *use* the Nvidia driver with the kernel. Because the GPL is about *distribution*, not against *usage*.
Anyways distributing the Nvidia driver is gray area, because is designed to work with the GPL kernel.
I suggest to not include the Nvidia drivers on Linux distros(*distributions*). And let users download whatever to *USE*.
-Woof woof woof!
Just as bad is that few dists for whatever reason even offer to get the drivers afterwards. Okay, so you don't like proprietary drivers in your dist. But that's no reason not to offer to download them as part of the install.
Aside from being annoying, it also means that NVidia / ATI drivers are outside of the control of the package management system. I might update X and break NVidia. Or I might miss out on a critical bugfix altogether.
The lack of proper accelerated graphics drivers out of the box for most dists is a major disincentive. It means the games suck, the multimedia sucks and natty new OpenGL based desktops don't work.
I think it's very unlikely that NVidia or ATI would release source to their cutting edge hardware. Competition is cutthroat between the two. But I think there is little to lose from opening their older hardware up. On the flipside, dists have to make it easier to get proprietary stuff. While the Stallmans of the world might believe in some open source utopia, the reality is that proprietary games need high performance drivers and they're simply not there in most dists. Both sides should give some ground and give the user an experience which makes them turn away from Windows (and OS X).
Kernel or not, why is installing third-party drivers for Linux so damn hard? Why is it that on a Windows machine you run a simple installer and everything "just works", while on Linux getting a driver installed requires all sorts of ritualistic black magic -- from making sure your kernel headers match your running kernel to having to repeat all of the voodoo everytime you upgrade your kernel.
Last week I had the pleasure of trying to install a proprietary modem driver on a Xandros-based laptop. Three hours of playing with perl setup scripts later, I had a broken apt-get installation and no working modem driver installed.
__Why is it not simply a matter of dropping a vendor-supplied binary file into a given directory?__
This ongoing war over what ought to go into the kernel would be moot if building third-party drivers for linux didn't require a Masters degree in computer science.
I thought you weren't allowed to write closed source Linux code if the code is derived from open source linux stuff (or maybe just the kernal). If that is the case, there is nothing saying it has to work the other way around. Would it be nice, sure, but if nVidia and ATI start supporting Linux you will see more people using it. Imagine an OS that isn't as big of a hog as Windows that can run the latest and greatest games? The first step is to make sure the hardware is compatable...the gaming companies will fall into place once they can get their games to run on this OS.
I mod down so you can mod up. Your welcome.
There is so much optimization that goes into graphics card design. Remember a graphics card isn't just analog to a CPU, its analog to a CPU, RAM, a bus and more ... and then you have to interface it with another bus (AGP/PCIe) and not *just* interface it but squeeze out every last frame of performance. It isn't locking into an OS its optomizing a driver and I have a hard time believing "OSS loving hippies" can do any better - because quite frankly, they've had nVidia cards since the dawn of nVidia, and guess what - the open source drivers haven't approached the binary ones.
What you are advocating is releasing all technical data about the board - which then means trade secrets are in the open - now any vendor can make a cheap $150 knockoff to a $400 board. And the drivers will still suck because you have guys at nVidia that have been doing this for 20 years and can kick the ass of any "OSS-loving hippie".
nVidia would have a lot to lose by opening up the hardware spec and very little to gain.
Allowing them to link has diluted efforts to create free drivers, diluted the GPL's effectiveness (in the kernel) and allowed Nvidia & ATI to appear to be contributing more then they actually are.
I disagree. The whole problem with Linux and drivers stems from the fact that, on the whole, vendors are discouraged from writing drivers for their own hardware by the attitude that the code for said drivers must be Freely available - even when there are good commercial reasons for it not to be.
I think that drivers should be a special case. Maybe the kernel team could provide a stable LGPL wrapper around the ever changing kernel APIs, against which hardware vendors could link their driver code.
That ought to keep both sides happy - and if the hardware vendors will not supply drivers, then there's nothing stopping "The Community" attempting to provide the drivers as they do now. Perhaps there are technical reasons why this can't happen, but I get the feeling that the overall reason it won't happen is ideological.
The standard Linux kernel API (syscalls, etc.) presumably isn't sufficient to write a high-performance video driver. That's why they're writing kernel modules instead of applications. But kernel modules by their nature are loaded into the same memory space as the kernel itself and muck around with its internals quite a bit; they no longer communicate purely over well-known stable APIs.
This is an example of when politics gets in the way of progress.
While it'd be great for hardware manufacturers to opensource/GPL their drivers, the restrictions that fanatics put on Linux are holding it back. The fervent beliefs of a few keep making it difficult for Linux to go more maintstream, with full hardware support, a wider array of software, etc.
Back when the emphasis was on the concept of building an excellent operating system, the strict nature of GPL was an asset - it kept things fair, and forced participants to be more productive for the group. Now, in the days of "OMG we HAVE to beat Microsoft any way we can!", the old rules keep clashing with the new impetus (one which is misplaced, IMO).
People have to make up their minds. Do they want Linux to be a shining example of an ideal, or an aggressive commercial competitor to the dominant operating system?
Do not confuse "Freedom of Choice" with "Free Will".
Not much it seems (http://opengraphics.gitk.com/ogplan.jpg), what a pity...
I dont want to know how it works.
I just want to know how to talk to it properly so I can make it do what it is supposed to do (and push it to its full potential).
My microsoft optical mouse might have code in a little embedded processor inside it (I dont know) but regardless of how it works, what matters is that it talks over USB and it talks using a known documented protocol (so any operating system is able to use it).
My Intel Pentium IV 3.4GHz HT CPU does contain microcode that I dont have any source code for. But, it doesnt matter since the documentation of how to talk to it (the x86 instruction set) is open. (I dont know if the physical specs of how to talk to it and how to build a motherboard for it are open though)
Its the same with graphics cards. We dont want or need the origonal design files for the custom ASICs used on the cards. Or the complete schematics for the cards. All we need is details of how to talk to the card and how to get it to draw stuff on the screen. (which these days means full hardware accellerated 3D being powered by OpenGL) If a manufacturer can provide a graphics card where the hardware interface is open and which supports all the things you need these days for games like Doom III, Unreal Tournament and Neverwinter Nights (like pixel and vertex shaders), I for one am prepared to put my money where my mouth is and support them.
Gimme a break! It's just brazen bullshit.
The nVidia exec saying that "writing video drivers is very difficult" is the most brazen weaselly crap I've ever heard. He's basically telling the FLOSS community, "Oh, you don't want this code, you couldn't handle it anyway."
The free/open source world has already produced several of the best operating systems, the best C compiler, the best web server, the best desktop environments, the best MP3 encoder, the best instant messenger clients, the best web browsers, the best email apps, the best typesetting software, and the best drivers for all manner of hardware. Linux supported x64 before Windows, runs on more and weirder architectures, and has better SMP support. So don't tell me FLOSS can't do hardware drivers, that's just FUD.
Why the hell couldn't the open source world produce awesome 3D video drivers too, if they could get the specs? What a stupid smokescreen argument against releasing the code.
My bicyles
Regardless so long as the drivers are proprietary, I will continue to load proprietary drivers into my kernel, the FSF has a fairly narrow minded view here, yes it would be great if the drivers were open, but they aren't, and I am not going to restrict my system capablities just because the FSF doesn't approve.
I pretty much felt the same way until nvidia dropped support for cards that are TNT2 and older. The older drivers from nvidia's download archive are tough to build against newer kernels.
Granted, a TNT2 with 32 megs isn't going to make Quake4 playable, but it will work for things like quake3 and the original Unreal Tournament just fine. Not to mention most of the free openGL stuff like tuxracer, chromium and openGL screen savers.
I understand that things like S3 texture compression are proprietary to Nvidia's partners and there could be problems there, but couldn't they open enough to get basic accelerated openGL working at least on their legacy products?
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
Firstly that is a very arrogant approach, some of the best developers in the world work on open source stuff, saying it is to hard is just stupid. As for customers not asking for open-source drivers, all I can say is huh? There have been dozens of calls over the years for drivers to be open sourced!
Just because some of the best developers in the world work on open source does not make it an easy task to reverse engineer closed source material. There may be things that no matter how much reverse engineering you do (within the limits of what is available) you still will not be able to get the full results. Also, we run into a two other issues that I can think of:
1) If it takes so long to reverse engineer and then create a new driver that can be equal or better to the closed source version - by the time this is done, that driver may be way out of date. Who wants something that is one to two years old in an industry where the new models come out every 3-6 months.
2) Because most open source projects are based on people working for free, they are people who are spending some of their own time after other obligations (work, family, school, etc.) They do not have the immense funding as a corporation - and while they are working hard the resources are just not as great for them.
Open source is great, but it does get drawbacks from lack of funding.
I mod down so you can mod up. Your welcome.
If it's GPL'd, then no proprietary drivers. That's pretty much the purpose of the GPL.
-- 'The' Lord and Master Bitman On High, Master Of All
Has there been any instance where microsoft has colluded with hardware makers so that they only produce propretiary drivers? It seems that doing so benefits the Windows(tm) platform.
And toward this end I would like to propose a license of my own creation - the ECTFD License or Everybody Calm The Fuck Down License. I don't know what kind of terms it will have yet, but if everyone would just calm the fuck down I'd come up with something good.
Yeah, I agree with you. Somebody please mod parent up.
I have installed many linux boxes in my life and i must say, drivers are the single biggest pain in the butt. From SCSI/SATA RAID cards to Videocards to new motherboard chipsets, it takes me huges amounts of time to configure or tweak a source driver into actually working. The Linux community somehow fails to make a standard API (like microsofts WDM) for drivers. Somehow they manage to break support for every module and driver every few minor kernel revisions.
What they need is a Linux Driver Model (LDM) and open up a nice clean binary interface for drivers. Then every small Taiwanese webcam or USB device manufacturer can release a proper driver for this OS actually giving desktop linux a real chance.
ATI and nVidia are in a tight race. I'm sure they continously disassemble eachothers driver to check the latest optimizations. Not giving up the source gives can give the edge for a few months more and thats what matters here. Just like many other hardware vendors in this scene the sofware is becoming a more and more important part to competing. Demanding opensource drivers for everyting will continu to cripple linux and make it an inferior desktop OS (and even hinder the server-OS adoption) to the end of time. WAKE UP PEOPLE. GET OF DOWN FROM THE IVORY TOWER! FIX THE DRIVER MODEL!
The computer's bios isn't open sourced, yet linux uses that to get itself started! Are we going to have to write our own bios now?
A: No.
A little more seriously, let me just repost part of a comment that really illustrates the veracity of this answer:
(seen on slashdot, not said by me)
Nathan's blog
Who profits from a closed driver? It's obvious that nVidia and ATI are the first to profit from such a deal, but to them it probably means very little. Linux has a small market share and game fanatics (basically anyone who pays for an expensive card) will already have a Windows installation. So creating a Linux driver is only going to profit them marginally.
The Linux community might also profit from having non-open source support for graphic cards. It might be an incentive for certain companies to start porting their software to Linux.
Who profits from open source drivers? As far as I can see, only the competitors of the company that open sources its drivers. The Linux community will gain some knowledge and expertise in developing, but that would be considered marginal by most Linux users.
Consequently, the short-term "economical" decision would be in favour of accepting closed source drivers if you want the Linux community as a group of users to prosper. If you are more interested in development and see Linux as your main tool in this, you might insist on having open source software only.
The hard fact is that commercial gaming has never had a place anywhere in the world of free software. It just doesn't 'fit'. None of the things that make creating free software profitable apply well to video games.
So what's the free software solution for gamers? Well ... if your dream was to play every 1980's arcade game, only as a penguin, then I have great news for you.
Otherwise, there's no reason for a serious gamer to run anything other than Windows on their gaming machine. Linux and everything GNU are a dead end for gamers. Macs are not a whole lot better.
The GPL should not enter the discussion regarding proprietary drivers. What we need are the specifications to write our own drivers. Hardware manufacturers can keep their source code to themselves.
FSF should produce it's own kernel and hardware accelerated 3d drivers or STFU. /am/ a BSD user.
Sometimes I think the 'Free' in FSF stands for their freedom to demand anything they want, not our freedom to use the software.
But then again I
I'd much rather get drivers at all, as long as they're cleanly written and don't involve shitty supplemental programs, like most Windows "drivers" do. Look at Nvidia. When you install the driver, all you get is the driver. That's it. So you get decent video. If you want all the mess-around crap, then you have to install it on your own. That's how drivers should be, I don't want all this nview crap and whatever I get with my Forceware, nice as it might seem to be for them to add it. Usually in Linux when we need a driver, we know exactly what it's going to be used for, exactly the program that needs it. We're not mom-and-pop users who install everything blindly, and figure out which program works out our digital cameras, sound cards, etc. Give me my drivers. Open them? Sure, if you'd like, that'd be great. But I could honestly care less as long as it gets the job done right.
space is pretty cool.
I vote against using them and am willing to put my cash where my vote is. I have never bought either, and won't as long there are no open drivers.
Right, I've been hearing about this card for many years now. It'll be released right with the next duke nukem.
These days your best bet for libre is an r200 radeon.
Don't get me wrong, if the card is released I'll buy it right away, but that's a big if.
It has been statistically shown that helmets increase the risk of head injury.
We would not be where we are today without RMS and the FSF as a whole would not be radical. You can argue they are fanatical about it, but you can not deny the fact, that their ideology has brought us GNU in the first place and Linux on top of it.
If Nvidia says there is not demand for open drivers, then close it down and see the customers state their demand very clearly.
Either Nvidia will listen to the demands, or reverse engineered open source drivers will improve as there will be a bigger demand for them.
Losing closed source nvidia drivers hurts and costs a bit of drive for Linux. But i think RMS and the FSF have made it clear, that it pays to give up on something and get free software in return.
One of the reasons I don't switch to Linux is the lack of drivers for some of my hardware. Sure, I could limit my choices of future hardware to only what's supported by Linux, but I don't want to be limited. Plus I like to hink of Linux as allowing me to do more and be less restrictive.
While open source drivers would be sweet, having closed drivers would be ok in my book if it opened up more hardware for the OS.
"A coward dies a thousand deaths, the brave but one."
The FSF is just causing more trouble than its worth. GPL v3 and now this. I can tell you that I have already ditched the FSF. All my apps are now MPL. I think the Linux Kernel should do the same. Possibly not the MPL but it should still abandon the FSF. I have to say that if ATI don't want to open source cause of legal issues then why are the FSF forcing them to. The only outcome I can see with ATI on this is to leave Linux and let the X programmers write drivers which is seriously going to impact the community. If the FSF carries on like this prepair for a Linux monopoly. If the FSF is so hard on OSS drivers why dont they pay a visit to Broadcom. Will someone please get Linux off the GPL? Please! Just my two cents.
It should be "most people, myself included".
Should we buy hardware with closed source drivers.
Would you really rather use the unaccelerated VESA fallback mode if that's the only thing supported by free drivers for duopoly hardware? Or would you rather have to implement a video card in hardware from the ground up? Besides, is your PC's BIOS free software? If you want to get any work done, there comes a point where pragmatism owns all.
It is not a good idea to pollute GPL code with proprietary drivers. It only helps to solidify the GPU oligopoly. The prices of top end GPU's have skyrocketed in the past few years even as the quality of proprietary drivers declined. Why wouldn't the oligarchs at nVidia and ATI want to keep the status quo? There is some hope in the statement FTA:
Intel has new plans for its open-source graphics driver work, though Hohndel wouldn't reveal details.
I am not clear whether Intel is getting into the GPU business. You would think they would want to given that they are the most costly components on your high end PC. The GPU business needs another competitor. Intel would be ideal.
an ill wind that blows no good
Isn't the idea to write your game to the OpenGL spec, and then let the drivers worry about doing what OpenGL is requiring?
Then nobody will buy your game because the only fully conforming implementation is the pure software reference implementation, which has unacceptable performance.
You can get a list of what is supported by checking flags in the card
Existing video card drivers lie. They claim to support a feature and then they implement it in a materially non-conforming way.
Opensource is nice - very nice, I couldn't live without, it's my job, my hobby, ... When I ask myself the question - what if suddenly propriatry drivers are forbidden in linux or any GPL'd soft? I'm very sorry - but that is limiting me - the user - in functionality. That's robbing ME from my freedom, and I don't like that, and I don't see who's rights it would be violating when I choose to use a propriatry driver in linux.
.c file in their entire life to look at the code, not the developers. Releasing their drivers for other platforms was probably a good thing for them to do regarding maintainability and flexibility when using the same codebase, they could be convinced that this was in their best interest or at least benefit them. Releasing specs is a whole other thing, it's not like that's a 5 page manual they should release, and graphics cards are becoming more and more complicated.
There is no way that you can convince ATI or nVidia to open their source - and I wouldn't see the point, they release new drivers like every few months - what are they gonna do? Fork them? And resync every 6 months when a next-gen chip comes out? Those projects will lag behind, and in the end fail. Both nVidia and ATI listened to the linux user base that asked for drivers - and they are becoming better and better. Ok - the developers asked for the specs, but do you really think a full opengl implementation would be written with these performance figures by an opensource project especially for 1 chipset? Look at MesaGL, and how long it took to be "stable". Sure it can be patched and accellerated by hardware, but it won't come close to the fps that the "closed source" drivers deliver, and that's what users ask for.
True - opensource is all about the developers wanting to develop something, but me as a developer - I want to write something that will be used by people and that they're happy about it, so I can feel some pride. Not "develop to develop" and write something "opensource" which sucks, or even of less quality than a closed-source competitor. You may even write software with a genius design behind it, if it's slower than a non-free competitor - the users will decide, it's all about the user in the end. Software without users will die.
Both nVidia and ATI listened to their bigger customer base - the users who will probably never even open a
For me as a user - I want to be free to use propriatry drivers -is it that hard? I thought open-source was all about choice. What's next - you're not allowed to run closed-source apps anymore with a GPL'd kernel? I personally don't see the difference. Closed-source linux apps are usually linked to glibc - no? Oh no - they use kernel-features too!!!
FSF lately seems to be thinking like the moslim extremists in a way that "my way is the only good-one, and everybody should comply". I honestly think that the FSF is hurting the opensource-movement more than it's helping it when saying such stupid things. Wake up - open your eyes ffs - you're not alone in the world. A bit of idealism can be nice, but a bit of realism doesn't hurt either.
The opensource movement should be gratefull that Linus is so openminded and the fact that he lives in this world, and not some idealistic utopia.
It would reveal details about the chip, and would make reverse engineering the chip by some third party much easiser. That's why they won't do it.
If it's dead, you killed it.
I have a Better Idea: get a law passed that would make it illegal for a hardware manufacturer to conceal device specifications from the rightful owner of a device. In other words, compulsory Open Source Drivers as a precondition before a product may be sold. Or maybe, enforce existing laws which state that one is automatically privy to any secret embodied in an article which one rightfully owns; and that the necessary details required to make full use of a piece of technical equipment are not proprietary secrets, but form a part of the operating instructions for the instrument. That basically means that all the information that a competent programmer would require to write a driver for a particular piece of hardware should be readily available from its manufacturer, but I would go one step further and demand that the manufacturer release the full, annotated source code of any driver software they supply. This obviously means that hardware specifications are not any kind of protected "intellectual property".
At the same time this law is passed, declare a limited IP amnesty. Any IP necessarily given away in the course of complying with the law enters the Public Domain, and no repercussions will be allowed if it is subsequently found to have been misused while information was withheld from the public. That should pre-empt a flood of lawsuits {it's conceivable that the same thing was invented twice in parallel but neither inventor knew about the other due to excessive secrecy; there would be no way to prove "who was first" and the US patent system is rather broken in this regard anyway, so an amnesty is the fairest way to settle this}.
Companies might complain at first; but when their right to sell products is at stake, then they will listen. And in the end, it is us, the consumers, who made and can break their fortunes. Anyway, nVidia will benefit as much from ATI being forced to open up their drivers as ATI will benefit from nVidia opening up their drivers: precious little, since each company is already reverse-engineering their competitors' products.
Je fume. Tu fumes. Nous fûmes!
I think the real issue with having OSS drivers is the hardware driver lifecycle. The problem for people like NVidia/ATI is that they already had patent/copyright encumbered drivers before they started releasing them for Linux (as well as other issues I suppose). What we see now though, is that more and more people validating prototypes of new hardware will write a Linux driver to test their hardware on first, even before they write a windows one. These drivers are often open source and the more prevalent this practice become I think the easier it will be for downstream vendors to release their end products with OSS drivers. So I think it will happen, and thus an effort to make binary-only-non-gpl drivers easier to develop and distribute is counter productive for Linux in the long run. It's basically proven by past experience that binary drivers CANNOT move as fast as the kernel does, and this includes security fixes as well, not just candy features.
If I'm not going to let M$ tell me what I can do with my computer, I'm certainly not going to let R. Stallman or anyone else. I'm going to insert whatever module I like into my running kernel. He cannot tell me what I can and cannot do with MY GNU/Linux system - that's the whole point behind FREE software - let the people decide their own destiny.
The basic problem is this: Many hardware providers have "secret sauce" features in their products. Many of them also have moved some of the hardware product into the software driver, so they can reduce the cost of the hardware. Somehow, we need to define the boundary of the hardware device as extending into the software system, as long as the software extension can be effectively treated as being part of the hardware.
I have at least four devices for which these issues arise. Two are the Nvidia display and the Lucent modem on my Dell laptop. The third is a Sony Superstation backup tape on my primary desktop. The others are some wireless devices, particularly a wireless card I bought for another desktop machine.
The Sony Superstation is unusable on the Linux side of my dual-boot box. It turns out to be a "win-tape" with key features implemented in the driver and no documentation on which to base a Linux equivalent.
The Nvidia display only seems to work on the laptop if I download and install the Nvidia driver. The Lucent modem is a "win-modem" but Lucent put out a binary interface module for which the Linmodem people have produced an open source wrapper. It is a nuisance to have to separately find and install both of these drivers every time I upgrade the kernel on the Linux side of the laptop.
For the wireless devices, there is ndiswrapper, which is an open source way of wrapping the proprietary drivers that the manufacturers provide, using a standard interface.
There has to be a way to solve this problem with reasonable accommodation on all sides. I think the key is that the hardware devices and their immediate interfacing software aren't going to change during the lifetime of the equipment. Most of the need for change is due to the interface on the open source side, e.g., to accommodate changing Linux kernel requirements.
I think the immediate interfacing software could reasonably be treated as an extension of the hardware. As long as the exposed API remains unchanged forever and is wrapped by open-source software for interface to the Linux kernel and system, it should be allowed to be distributed with the Linux system without coming under the copyleft provisions of the GPL.
I have an EPIA M10000. Next time I build a PC, I'll probably pick another VIA EPIA. Why? Because VIA released source code for drivers for every piece of hardware in the system, from the S3 UniChrome graphics card to the hardware MPEG decoder, from the ethernet interface (hello, nVidia) to the hardware random number generator.
It's also a nice stable silent mini board with a CPU that runs on 4W of power.
If you don't need gaming-level 3D performance or heavy number crunching power, a VIA EPIA-based system is a great option.
(And no, I have no financial ties to VIA.)
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
Yes of course closed source drivers should be tolerated on linux kernel. Free software shouldn't mean forcing hardware developer to reveal their trade secrects if they don't want it. Since the enviroment is open source the driver along the time will be opened...
:)
Like in the 1500s being cristian in muslim community is tolerated but being a muslim in muslim community gives you some additional rights which others already have.
-Seeing the problem is ½ of solution-
Wow! Talk about selling out. You sure you haven't been diagnosed with multiple personality disorder?
Nathan's blog
I want my hardware to "just work" with my OS. If that means using proprietary drivers for a particular brand of video card or printer, then so be it. I don't give a rat's ass about the licensing terms.
Linux will never overtake Windows on the desktop until and unless it can run the latest hardware as well as Windows can. And I guarantee that the vast majority of PC users out there are as unconcerned with the proprietary vs open-source driver issue as I am.
I've tried Linux at home numerous times - I want to switch, I really do - but I always end up going back to Windows because it has better drivers for my video card, printer, webcam, and GPS unit. Now I just use VMWare to play with Ubuntu from Windows.
I think a valid point to make is that it was a closed-source driver for a shared printer that pushed Richard Stallman start GNU and FSF, and draft the GPL in the first place.
No offense. But if you have a problem with the license, by all means go ahead and leave. It's why I don't use windows anymore.
On the plus side, it seems like your card's hardware might eventually be reverse-engineered and an open source driver produced. Some folks in the community seem to enjoy doing that and are persistent as rabid badgers. If you upgrade you card to stay on the bleeding edge, you might not mind buying a more modern video card in the event that your old manufacturer decides to stop supporting the OS, too.
I've had pretty good luck getting ATI's driver working again after kenel upgrades, and I can use radeon for 2D while it's broken. I occasionally have to refresh and recompile my zaptel tree, too. It's really not that bad if you have to do it. I haven't done much gaming on this system since Loki went away so the vast majority of the time I could get by with just radeon if I needed to.
So that's pretty much the trade off. Once you start using drivers outside the main kernel tree, it makes things more difficult. If you don't need super-fast 3D and have an AGP system, you could probably scrounge up an older card that has open source support for a lot less than the newfangled ones. If you need bleeding edge 3D with Linux for some reason, you're not going to have a lot of choice in the matter.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
"If a Linux Distro is really open, should the user not have the freedom"
Ah true freedom. Sounds like you are wishing you ran an OS with BSD license...
Why don't all you guys whining about the slightly insane GNU license come on over the BSD land... where everyone is happy and free (especially NetBSD and FreeBSD... OpenBSD, while nice, has a propensity towards ideological fascism, like the GNU people---but at least they set their cool toys truly free for the rest of us). If enough of you come over ATI might share the pain of their Linux driver with us. Until then, of course, there's NVidia.
Would we even be having this discussion if the Linux kernel had been licensed under the LGPL?
The long term goal of kernel developers is to move the display drivers out the kernel. Then the proprietary vendors will only have to provide the X window driver library. This eliminates most of the objections and increases stability. The problem is that the current user to hardware access abstractions aren't rich enough or performant enough yet.
The problem isn't proprietary vs. open source drivers. The problem is, quite simply, a very bad decision made by Linus Torvalds: the decision to have driver ABI's that change from release to release.
All Linux needs is to have the driver ABI's remain stable throughout each major kernel version (2.4.x, 2.6.x, etc.). If the kernel developers want to change the parameters or whatever, they've got to wait for 2.8.0.
This would allow each user, each developer, each organization that works with Linux to make the decision on their own as to whether they want to use and/or develop closed source drivers. Sure, in a Stallman utopia, everything would be open source all the time. But the reality is that that utopia is still a work in progress, and most of us would be quite happy to just download the latest driver for an NVidia graphics card or an Intel wireless chipset, plug it in, and let it run. If Linux is to gain mainstream acceptance at the desktop level, drivers have to "just work." And that's not going to happen when you expect users to compile their own drivers.
Tired of FB/Google censorship? Visit UNCENSORED!
I've read many comments in this thread, and many have excellent technical and philosophical arguments on both sides of the issue. My perspective, however, is a little more pragmatic. This issue is not new, nor will it go away anytime soon, and is one that IMHO can "make or break" the future of open-source as a general-use OS.
Users have hardware. Hardware needs drivers. Hardware makers write drivers. Hardware makers - who operate under a different set of rules than the open-source world - has legitimate reasons for keeping details a secret. So... if you have hardware, and want it to fully work on an open-source OS - and do so with all the bell's and whistle's you've paid for - you need a driver from the manufacturer and will have to accept that it is proprietary.
End of discussion.
Don't like it? Stick with a small sub-set of hardware and features that do not perform as well as they otherwise could. Otherwise, accept the driver.
It's an easy question, and I'm willing to bet that the majority of individuals (like myself) who are more user than fanatic will do just that.
Open-source is about choice... right? Then what could be bad about opening up the platform to closed-source drivers and giving each user the largest possible pool of choices. Seems to me that's a win-win proposition.
Jim
They're contradicting themselves. The GPL doesn't limit linking whatsoever. It limits linking *and distributing the product*. Even Stallman says so, not to mention all their lawyers.
It's this sort of situation where the bullshit of software regulation is flushed out into the open. People are arguing whether the graphics driver should be considered as linked into the system or whether it sits on top like an application. In the case of the latter, there are no legal rammifications. But the distinction here is false. The line between library and application is drawn for sake of organization and comprehension, but is not real. Software is software, code is data, applications are libraries, libraries are applications. Legislating at the code level doesn't make sense, and will never make sense.
LS
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
I normally think of the FSF as being a more or less benevolent group, but it makes them look pretty draconian if they are saying "thou shalt not run proprietary drivers". There's nothing "Free" about that. Who are they to say what software I can and cannot run on my computer?
I'm not an expert on GPL, but my understanding of the GPL was that it was all about keeping open source software 100% open source, and not letting developers mix in closed-source with the open source into a single final product. It's not about forbidding the end user from running closed-source software on open-source operating systems. So to me there seems to be a couple of core questions in this debate:
1. Is a video driver a part of the operating system, or is it a separate piece of software that is run on top of the operating system?
- In my mind, it's a separate piece of software, not an integral part. I don't need an nVidia driver to run Linux.
2. Do the drivers ship as part of the overall Linux package?
- If so, I could see how this might violate the GPL since you are distributing non-free software with GPL software. However, if the drivers are something that ship with the video card instead, or something that users go and download off the net, then I think they are fair game.
If the video drivers are neither a part of the operating system or something that ships with the operating system, then I don't see how it violates the GPL to run them.
The FSF however, sharply disagrees. 'If the kernel were pure GPL in its license terms...you couldn't link proprietary video drivers into it, whether dynamically or statically.' Where do you fall on this issue?"
Well, this seems just about as annoying as Hollywood trying to dictate to me what I can and cannot be capable of doing with my computer. Just let it work. Tom me, details of how the code is linked by the kernel are irrelevant, it is no different than running any other proprietary software on the linux kernel. Sure work towards open source at every level, but let people decide if they can wait. Don't arbitrarily put legal roadblocks in people's way unless you really want to kill Linux off.
For my part, I don't care enough about software "freeness" even to read the license as long as I'm sure I'm legally using it. If someone does care, there are no end of distros that cater to them. The Free folk can use teletypes for all of me; I'm not thrilled at having to hassle with installing video drivers because someone else is offended by them.
The most rabid of the free software types seem to be the ones who got supplied with equipment by MIT and paid to work with it rather than pumping gas to support their hobby. If a video card maker chooses to control software they wrote, that's their right. Calling them "unethical" because they don't buy into a license like the GPL that gives their rights to someone else is not going to hurt them; a total boycott by FSF supporters probably wouldn't cost nVidia enough business for them to notice. If they do, hopefully they won't decide to take it out on the rest of us that use and enjoy their drivers!
Sure, it would be nice if NVidia and ATi opened their drivers. But you know what? I've got a computer that I have to do things with. I need to do 3D things in Linux. The only way to do that is with their proprietary drivers. If you want to say it's illegal, or that I shouldn't do it, screw you.
Damn wacky idealists putting principle before pragmatism. You'd think these people are pro-Microsoft or something. It's like they're saying "If you want to actually use the expensive 3d card you bought you better use Windows because we wont let you do it in Linux!"
The GeekNights podcast is going strong. Listen!
If we think in terms of the link module being an abstraction layer, and we write drivers against this abstraction layer, then the driver is essentially a data file that the interpreter parses in order to operate the video. this kind of abstraction allows a kind of "write once" driver to work across many systems.
I would argue that the ndiswrapper module is already this kind of abstraction layer, to the extent that ndis is a driver standard for network. maybe video performance requirements mean we're still running so close to the hardware that this isn't practical, but if we could support a wrapper type interface for video we would gain support for many new and future hardware devices.
Why?
Because, being a software controlled radio, having an open source driver would permit many tricks banned by the FCC - like using unlicensed frequency bands, monitoring military traffic etc.
No easy solution in sight.
I'm in a Unix state of mind.
As the article points out, Intel open sources the xorg drivers for its integrated graphics, like the GMA 950. No, it's not 3D, but for web browsing and probably even for watching DVDs, it'll do fine. There are alternatives to nvidia and ATI.
Penny - plain text accounting
This question can be expanded to a lot of hardware. Companies just do not want to write drivers for Linux because the market share is not there. If Linux on the desktop is ever going to become a reality, then it is going to have to support binary drivers. If in the future there is enough market share for Linux to pressure companies for open source drivers, then that will be a different story. In the meantime, either support binary drivers or fall behind when the other OS's come out with more eye candy in their drivers. Just my 2 cents. Sexton
How about using a software interface to hook into the kernel, but allows a propriatary driver to be used? It wouldn't be included with the kernel, but the socket would be available and ready to accept the driver. This would be similar in principle to the Evolution connector, an interface that connects Open Source software to propriatary solutions.
Yes, I think Linux should be allowed to use proprietary drivers. We are seeing such in WiFi now such as ndiswrapper.
In my opinion it would quite possible to write good quality F/OSS graphics drivers and get to the point where they work well enough relatively rapidly.
The problems are that (1) there is not enough incentive and (2) the GPU world is a moving target. Nvidia and ATI both provide drivers that work "well enough", and have done that for a long time. Who would be willing to test drive very alpha 3D graphics drivers when the proprietary ones work OK ?
Also with a lot of effort we would probably be able to use a F/OSS driver that would support the GeForce2 GPU and equivalent adequatly by now, but what of the newer ones ? What is required is reverse engineering on a huge scale that the F/OSS world cannot really afford. Instead developers are turning to more interesting questions.
The issue however is that those proprietary drivers aren't that great in reality. Sure the Nvidia ones are more or less on par with the Windows one, but is that really something that we should settle for? I can't get Linux to ACPI sleep correctly with the Nvidia driver loaded, for example. Sometimes my X server crashes spectacularly for no reason, something that never happens with the (much simpler, for sure) F/OSS "nv" driver.
I believe this issue will sort itself out in a few years. GPU innovation has been great but I'm not sure it will continue unabated for very long. When GPUs stabilize it will be a better time to write a truly Free driver. Also by then maybe the Nvidias and the ATIs of the world will finally see the light and OSS at least some of their work. Perhaps a third player (Intel, or Matrox ?) will come up with O/SS drivers and eventually force others to do the same ? Perhaps the era of the gaming PC is coming to an end and the GPU war will continue onto consoles, in which case nobody will care about up-to-date 3D on Linux/BSD, etc.
In the meantime Nvidia and ATI can't really change their policy on Linux/BSD/Solaris/etc, It would probably mean extra effort for them with little return. OTOH they can't drop their proprietary driver either. Doing this would provide a massive incentive for reverse-engineering, something I'm sure they are keen to avoid, at the smallest cost to them possible.
We are all stuck for the time being I think. Purists on either side maybe would like to change that but I don't see it coming soon.
Fact of the matter is the the big boys of the GPU world, nVidia and ATI, will NEVER open source their drivers. There are simply too many trade secrets that rest in that code, and releasing those to the general public would cripple them from a buisiness stand-point. With that in mind, there are two options. Either suck it up and accept closed-source drivers, or make your own. Since third-party reverse-engineered graphics drivers, well, suck, that would effectively kill Linux gaming off once and for all. If Linux is to be considered a viable alternative to the behemoth that is Windows, it cannot afford to cut out functionality such as this.
My sig can beat up your sig.
Kernel modules have an well-known API, just like user-space programs. The API for kernel modules is covered by the exported symbol names that the modules link against. This is no different than calling routines that exist in a shared library with a known API. These APIs are relatively stable within the same major kernel release (2.4, 2.6, etc.).
Yes, you can technically read from and write to any memory area in the kernel's memory space, but this is extremely dangerous without using the supplied symbol names, especially as locations of most things will change from kernel build to kernel build.
Am I missing some joke or is this post _and_ grandparent full of this particular weired letter-twister?
If a manufacturer can provide a graphics card where the hardware interface is open and which supports all the things you need these days for games like Doom III, Unreal Tournament and Neverwinter Nights (like pixel and vertex shaders), I for one am prepared to put my money where my mouth is and support them.
Only problem being that a lot of the functionality these games require is actually in the driver, which is very very likely to be closed-source forever. Its as if you want to recreate a full personal computer with a state-of-the-art OS on it, but only get the schematics of the hardware, with NO software whatsoever. This will take a while, especially since the closed-source stuff is filled with tons of functionality and is being extended at an enormous pace.
This sig does not contain any SCO code.
I don't often play the predictions game but here I go.
SCENARIO 1:
NVidia won't be forever the king of graphic cards, someday some AMD (probably ''the'' AMD) is gonna make a graphic card that is better in hardware but not so much in software. BUT this company GPLs it and lets linux hackers write the driver. This driver will of course be the gratest driver for x86 machines (even apple zealots admit linux has the bests backends) and everybody will adopt them (just like the BSD TCP stack is used everywhere)
Nvidia looses sales and suddenly open sources their drivers, regreeting they didn't do it first.
SCENARIO 2:
Nvidia realizes the potential of scenario 1 and open sources their drivers this year.
SCENARIO 3:
Linux users continue to loyaly purchase Nvidia products over and over, suffering from badly integrated drivers that they can't distribute freely.
S1 is great, but it depends on us getting some hardware company to realize they can cooperate with linux hackers, but this can only happen if we show or interest in switching from Nvidia to some other plataform.
S2 is even better but it won't happen until S1 starts becoming real.
S3 is what happens when nobody complains.
"-rfv"
"v" for verbose.
You, sir, are evil.
Can you be Even More Awesome?!
Your disk drive has firmware that lets you talk to it in SCSI (or whatever). You don't get to play with the head stepper or the ECC directly. What is the difference between that and a video card? If the video drivers were moved onto the card and the interface was made OpenGL would that make it "Open Source"?
Intron: the portion of DNA which expresses nothing useful.
Lower the threshold of exigence for what can be linked with GPL-ed code, drop the pressure to develop -whatever it costs in terms of pains- free (as in freedom) drivers and you will see what the nice proprietary world looks like when it has no threat of free competition.
If you can't play the latest games on Linux people won't buy into Linux. These types of drivers may help with that.
As someone who has run proprietary software for most of my life (since the Mac 512 we got when I was 7 years old) and liked it, I think this is largely bullshit. Not that Linux hasn't been a positive force in the computing world, and that the values behind it are great and all, but that the impact being touted is way overblown. Sit and think for maybe 3 minutes, and you can probably come up with a dozen other factors that make the computing landscape what it is (e.g. better, faster, mostly bug-free drivers). Key examples: improved development methods, and increased consumer demand. And anyone that claims Linux has had a bigger impact on usability than Apple is either a troll or a politician. I use Fink and install a lot of GNU software, and I like it. But I DONT like using Linux for anything that can't be dome from the command line. I am truly glad OS X isn't open source. While I like a certain amount of customization, I really don't feel like spending 6 months fine tuning an OS installation, let alone a decade figuring out how to do such fine tuning.
Who are these folks who proclaim "open kernel" to mean "not dynamically loading closed code"? Any emulator/virtual machine/interpreter has the potential to load closed code. Should these things be similarly outlawed from running as kernel-mode daemons or drivers on an open system? What about embedded code on devices? Must they too be open to gain the privilege of interaction with open software?
This seems like our fair idea turning on itself to the point of being ridiculous. Where does it end? Should open Linux prevent running closed user-mode apps? Should it allow interacting with other closed systems through the network?
To me OSS always targeted enabling people to interact with their machines. The exclusionary arm always makes me wonder what's being accomplished by "picking up our toys and taking them home with us". Olive branches, people, olive branches. My vote is for an open specification that driver/device manufacturers can support if they choose. That seems the most "open" thinking to me.
Ok, I'm not a Linux Zelot. (I only play one on TV.) I'm also not a Winserf. I'm an engineer, in the purest sense. So to me, this is nothing more than a problem to be solved, not a religious issue. It's not even about binary drivers... it's about meeting client specifications and needs. I look at it like this. If Joe Linux user was my client, and my job was to bring him a Linux solution to let him run his SLI Nvidia card, I'd approach it like this. Linux would be a subcontractor, and FSF would either be a consultatant, or another subcontractor. After having a meeting with both were these issues were brought up, I would simply do the following.
I would write a very nice, simple kernel module that completely complied with the GPL. It's purpose would be to facilitate the loading of binary drivers. It would include built in security, and the driver would be loaded in userspace. Now, the obvious question here is how would this help any, since the binary driver would still have to dynamically link against my code. Well, the binary driver would be loaded by a LGPL'ed program that linked against my module (also in userspace). This loader application isn't a part of the kernel, though it links to the module I wrote. The binary driver doesn't link against the kernel, it links against my loader application. No kernel taining, and it alos allows for a good deal of security, if I wrote the dirver correctly.
What would be very nice here, is the fact that NDISWRAPPER be turned into a loader app the conformed to my module's API (Which would by and large be the kernel's driver API) This would also alow Microsoft to, should they so choose, work with a FOSS organization to write a loader for native windows drivers. In fact, if they wanted to be really fussy, they could write a minimalistic loader, which they link against, that loaded a binary app that loads a binary driver. Why not?
Sure, this solution is like killing a fly with a hammer, but all good engineering solutions are. The engineer just needs to calculate the correct amount of force to be use to only just squish the fly, then add 20%.
--Mac "Nine point eight meters per second squared: The Best Damn Windows Accelerator, Ever."
when the card manufactures realize linux users are a growing consumer base they are either going to support or miss out on, then there will not be a problem with making free open source drivers, UNLESS they are allowed to do it.
With open source drivers the FLOSS community can do teh dev work and perhaps make improvements.
FSF is correct. No compromise of the license, for as soon are one slips thru others will follow and the next thing you know..... its no longer GPL.
Oops, my dual core amd64 pci-express machine won't work with nvidia's shitty closed source drivers. In windows or linux. If the specs were available, we'd have open source drivers for linux that work out of the box and wouldn't cause random lockups with certain motherboards.
Stealing a driver doesn't help you make a competing card for $100 less. Otherwise hackers would have been paid to steal the source to the nvidia driver already. And the atheros driver isn't in "the bsd kernel", which doesn't even exist.
And lo, stuff started working correctly, out of the box, with no makefiles involved. And it was good.
Shift happens. Fire it up.
Who better to write drivers than the manufacturers? Using proprietaray drivers will lend more functionality to Linux and make it easier to install. The arguments against using them are nothing more than religious perspectives.
The first thing I have to do after an install is install the nVidia driver. It'd be nice if I didn't have to bother.
I find this fanaticism in the open source community is what's crippling Linux. OMG, some are actually considering using code in the kernel to block proprietary drivers. Imagine the problems that is going to cause for the end user. That's insane, but that is the mentality in the open source community that puts the GPL over the user. The gpl purpose is to foster cooperation not to force it. If an entity believe its needs to protect its IP, then why does that preclude their software from operating with GPL software. Majority of users (99%) want something that just works. They don't care about proprietary, open source, or philosophy. They don't have a CS degree nor care to get one. They don't even read the EULA. They just want the function which coincidentally is the purpose of making software. The end is function! The end is the user! GPL is just a means to get there but it is not the only way.
You don't have to be smart to use a Mac, you just have to be smart enough to buy one
As long as we're still using x11, we're not going to have stable and usable graphics on Linux.
The masses are the crack whores of religion.
Not allowing proprietary drivers to use Linux is a huge mistake, and imho contrary to the philosophy of free software.
Stallman says that the 0th law of free computing is that I own my computer. And he's right. I *do* own my computer, and I own my video card as well. If using a proprietary driver is the only way to use my video card on my computer, then who are the Linux community to tell me I can't? Or to even make it harder for me?
The fact is that Linux's hostility to third-party drivers -- even open ones -- is a huge detriment to the operating system.
Linux should take a lesson from Solaris and establish a standard interface which allows anybody to write a driver, open or not, and have it be binary-compatible with the operating system. Under Solaris, it was possible to create a single binary driver and have it run unchanged under Solaris 7, 8, 9, and 10. My understanding is that Linux deliberately cripples binary driver compatibility just to make it harder for anybody to ship pre-compiled drivers. That's the behavior I'd expect from a cell phone company, not an open operating system.
Also, for the record, I've written video drivers for ATI cards for a living (Solaris). They're insanely complicated; with literally thousands of registers. Reverse-engineering would never reveal the full complexity of the hardware.
As for documentation, the documentation I've worked with (from more than just one video chip vendor) is almost always woefully incomplete. It doesn't work to "just release it"; it really does involve a lot of cleanup or phone support with the people trying to develop software. Remember that the documentation is written by and for people who can just get up and walk down the hall if they have a question. Once you start supporting third-party developers, it can be a nightmare.
I try playing some Mp3s, and I get Ubuntu's philosophy on proprietary algorithms. Ditto for DivX.
While I respect Stallman's intentions, especially regarding the formulation of GPL 3.0, you have to ask yourself, is the current FOSS orthodoxy going to lead to any denting of M$' software monopoly? If i can't even get basic hardware to work, or play simple media files because of this disconnect with users and vendors, then maybe the critics were right and Linux doesn't belong on the desktop.
The word to use here is 'Free' (Free Software Foundation). Proprietary formats take away your freedom and shouldn't be encouraged.
should the user not have the freedom to choose if he wants to use open-source drivers or proprietary drivers.
Does the user not have the freedom to choose now? That's the point; they are not forcing the proprietary formats on you, but you can always choose to use them if you so desire. But don't expect some foundation built off the idea of Free Software to help you with that.
They call me the wookie man, I guess that's what I am
Not unless you have a pretty inclusive definition of "relatively stable". Have you looked, e.g., at LWN's list of 2.6 in-kernel API changes?
The API includes "functions" that are just macros or otherwise inlined into the caller's code, and hence expect to know e.g. structure layouts that may change from one kernel version to the next or one .config to the next. (Try inserting a module into a kernel that was defined with different values of CONFIG_PREEMPT or CONFIG_SMP....)
Maybe I don't understand the licensing correctly, but the problem is that hardcore linux users don't want proprietary drivers bundled with their OS, correct? My question is, is it illegal to make proprietary drivers? I don't believe it is, so why not just download them if you are comfortable using them. Windows comes with some crappy generic nVidia drivers, but the first thing I do is go download the latest one from nVidia's site.
First post! (just in case I am...)
we have open source drivers for Nvidia as well as Ati graphic adapters. Just not for 3D. Maybe someone that actually does develope for X11 should comment here. AFAIK Nvidia and Ati release the specs for their cards to work in 2D mode on a regular basis. So everything except 3D games (many of which are prorpietary themselves) works. I also heard that Ati stopped supplying their specs for 2D for their latest offerings.
Personally I can understand both sides. AFAIK Ati and Nvidia are in a patent cold war. As soon as one of them opens their drivers the other will sue big time. Unfortunately.
I purchased an Ati Radeon 9200 for which the open source 3D drivers work very well. Ati once released the specs for their DirectX 8 line of adapters and the community quickly built drivers. Those are Radeon 8500 and the likes ( http://dri.freedesktop.org/wiki/ATIRadeon ). Check I get about 2250 fps on Glxgears. I can play Quake3 and UT and they look very good. I should try the Ati closed source drivers for comparison, but have been too lazy, since my setup works very well.
I chose the Radeon 9200 based on the fact that open source drivers exist. And even though I do understand the free software movement and I think they are right I still use closed source for reasons of convenience (shame on me). The real reason why I went with open source is because they integrate so well with my Debian system. It just works. Easier than jumping through the hoops of installing all the closed source stuff. If you ever administered a Debian system you know what I am talking about when I say it's so easy when I can just pull it out of the official repository (which I often can, because it is so huge).
Where drivers use defined APIs to the kernel without including significant code beyond API declarations and constant definitions (via header files), I don't see any grounds for trying to extend the kernel license to them. And I don't think trying to would be productive. If hardware makers want to go to the trouble of keeping their driver cleanly seperated from kernel internals and keeping up with changes in the kernel APIs and ABIs, I say it's their code and their right. It's a different matter if they start modifying kernel code itself to make their driver work, but if their driver can be plugged into a stock kernel without needing the kernel patched and recompiled, and the driver doesn't contain kernel code beyond what'd be allowed by fair use I can't see an issue.
At the same time, I don't see why the kernel has to cater to those vendors. I don't think kernel driver APIs/ABIs should change arbitrarily just to break proprietary drivers, but I don't think they should be frozen just to accomodate those drivers when there's good, solid technical reasons to justify changes. If the vendors want to keep their drivers proprietary, then they take on all the responsibilities that come with that including keeping up with kernel changes on their own. This will, of course, put the proprietary vendors at a disadvantage and cost them more to maintain the drivers, but that's the choice they made.
I wouldn't encourage proprietary drivers, but I wouldn't ban them either.
If you are OSS only hippy who holds the ideals of 13y/o boy the answer would be no. If a piece of hardware in a competitive environment offers a function or improved function that you want ... you allow the proprietary drivers. If you dont protect thier interests what hardware manufacturer is gonna give you a piece of thier ip pie. I for one am happy the GPU market is EXTREMELY competitive I get the end result of really badass video cards that have been improving in capabilities far faster than cpus.
But linux doesn't need your business. You can pick it up or pass it by as you please, and it will chug along just fine without you. That's the "free" in "freedom". You are free to do what works for you, and it sounds like what works for you is Windows or some other proprietary system.
The thing is that if linux doesn't include proprietary drivers then its goal isn't to be the best operating system it can be. The goal is to balance being the best operating system while not letting goals of open source ideals. I feel that while this is an honorable goal that it should not come at the expense of turning people off to the operating system. If proprietary drivers were used then performance would increase, there would be less crashes, and developers would spend their much needed time working on something that will make a better operating system. This would in turn make linux a much more attractive operating system and increase the number of users (and thereby influence) it has. This is why I suggest using proprietary drivers for the most important cases for the time being and as linux becomes a more formidable force to reckon with, it can go completely open source. Once the users are there, ATI and nVidia will care. I don't think they want to release the source code because they do all sorts of "tricks" to increase performance on their cards that they do not want to admit to since they take some quality out of the graphics.
What alternatives to nVidia and ATI are out there? The only suggestion the Fedora site offers is Intel, but i'm sure as hell not downgrading to Integrated Graphics with shared memory.
I don't see what the big deal is tho, even Windows doesn't offer hardware 3D acceleration out of the box, and you still have to install the VC driver. It just happens to be a bit more complicated to do this in Linux at the moment.
Free nvidia drivers might not be that far off anymore.e r/index.html
Take a look at the free haiku drivers that ALREADY WORK!
http://web.inter.nl.net/users/be-hold/BeOS/NVdriv
Also of interest is this project which aims to make a similar free driver but
for gnu/linux systems.
http://nouveau.sourceforge.net/
Also, regarding ATI cards, I don't know why many people are complaining so much.
I have a radeon 9700 pro in my laptop, using the free dri r300 drivers which perform very well.
Bottom line is: There are skilled people who have already had considerable success in reverse engineering
both nvidia cards and ATI cards, and the more they succeed, the less we will have to depend on ATI and nvidia
for drivers and the more documentation will be written for those chips.
In the long run, we will get our way (ie. good free drivers).
A bad analogy is like a leaky screwdriver.
Your disk drive has firmware that lets you talk to it in SCSI (or whatever). You don't get to play with the head stepper or the ECC directly. What is the difference between that and a video card? If the video drivers were moved onto the card and the interface was made OpenGL would that make it "Open Source"?
Yes. Or close enough. If video cards worked like that it would be great: one unified standard protocol that drives the video card to its full potential, and all the software wizardry to make that work lies on the card itself or the card is designed to speak that protocol natively. Then we wouldn't need an ATI Radeon (random number here) driver, or an nVidia geforce (similar random number here) driver; instead we could have a standard AcceleratedGraphicsCard driver that speaks to any compliant card.
The catch here is "drives the video card to its full potential." I don't want 640x480x16colors VGA, I want 3d accelerated with all the widgets working as expected.
If Linux systems ever want to develop greater market penetration and actually challenge the dominance of Windows
AFAIK market share has never been the main goal of most free or open source project.
The goals tend to be scratch an itch, make a free tool, or make the best available tool.
BTW World domination is a joke.
It would be nice if manufacturers GPL'ed their drivers - One way to drive them to it is looking for hardware that uses GPL'ed drivers and shunning the rest. I do however think that though it is nice to have FSF and the likes fighting the good fight, that ordinary users will have to embrace a more pragmatic onlook and choose to blend their system all while choosing hardware from GPL compliant manufacturers over that of those who choos not to comply.
;o)
In addition to choosing pro GPL hardware I suggest letter writing campaigns - Not the online petition type but good old fashioned mail. The letters need to be friendly and explain why you in particular would like to see a specific company's drivers as GPL. You need to explain i easy to understand terms why providing such drivers would be a benefit to the business in order to win them over.
By using regular mail you would also force them to handle each and every letter and one thing that companies hate are expenses - The solution for a company that is overwhelmed by friendly letters which they have to hire personell to read...?
Well the smart ones write a GPL driver - The rest spend all their profits reading letters, eventually hiring a team to GPL their drivers as well since their shareholders will insist on profits and explanations of why the profits are being eaten by staff...
The key is to be nice...
When you smile at the world - eventually it will have to smile back...
Oh btw once the drivers are GPL'ed - Send them a nice thank you note and start buying their products again.
I think that NVidia and ATI should release open source drivers and that they have to expend money and effort needlessly to publish proprietary drivers. It's not like someone can step line by line through their source code and then run to a chip fab and make bogus copies of their chips.
But, it's also their right to do things the hard way. So I don't really mind proprietary drivers in the "Information MUST be free" sense. I just think that they're counter-productive even though hardware vendors have the right to make their drivers that way.
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
One way around that problem would be to just release the specs. That would allow the FLOSS community to come out with a good quality Open Source driver without the company having to admit to their theft.
If the FLOSS code is good enough, they might even decide to modify it and release an Open Source driver for Windows (hehe !-).
Free Software: Like love, it grows best when given away.
It would allow a community of users to help find/fix bugs so they don't have too, as well as allow creative developers the ability to expand on such drivers.
I doubt that neither ATI nor nVidia could release open source drivers even if they wanted to. As others have said, the drivers probably contain a lot of 3rd party proprietary code that cannot be released.
I'll tell you right now that it will kill Linux in the embedded world if manufacturers were forced to release all their modules. A lot of hardware is proprietary and remains a black box on purpose, to keep competitors out or to hide trade secrets, and yes, a lot of hardware does that.
On the VxWorks product I work on we had one vendor that tried to send us binary only object files (which were not compatible with out linker) then moved to obfuscated code. They finally moved to release non-obfuscated code, but it is still highly proprietary and cost us a small fortune, many tens of thousands of dollars. They also release Linux drivers since so much of their market has moved to Linux. At least with this, I can say that they don't muck about at all in the kernel, but just use the standard driver interfaces.
Why charge so much and make the software proprietary? Because the hardware is very high performance and not very high volume. They'd have a tough time recovering their engineering expenses if they gave away the software when a lot of their customers may buy only a few hundred chips a year.
I think nVidia has worked with kernel developers and people at Xorg and it is known what interfaces they use. I think all of the code that deals directly with the kernel is released, since it is basically a wrapper around their proprietary code.
This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
ATI has consistently shipped broken drivers and quickly phases out chipsets older than a year or so, Nvidia's drivers are a heck of a lot more stable and easier to configure (and better performing) and even though they tend to support older chipsets for longer, they do eventually phase them out. Also, NEITHER vendor supports their media products' features in Windows.
The solution for the x.org and kernel teams:
Ignore the EULA since a EULA means precisely squat. Decompile the binary Windows drivers, take notes on precisely which register does what in the video chipset. Hand off those notes to another engineer (if you're somewhere where the engineer taking notes cannot implement new drivers, otherwise if you're a) where it's legal and b) have enough integrity to not simply copy&paste code, reimplement it yourself) and develop new drivers based on those notes. That way, not only will we get open source drivers, albeit very likely a bit slower than the proprietary ones, they will be drivers which will work in 2.6.15, 2.4.x if someone wants to backport them, 2.7.x, and down the road in 4.x.x when you have to upgrade the kernel but you simply CANNOT abandon that last data acquisition box floating around that has a PCI or (less likely) ISA slot.
Fuck EULAs. You don't void your right to reverse engineer drivers when you buy commodity products. You only void them if you rent the products in a contract. When you buy a commodity item, you can pretty do whatever the hell you want with it, include reverse engineer it (patent issues aside - which with software can pretty much be ignored since algorithms should not be patented to begin with).
Choosing video cards is choosing the lesser of evils. Right now there are two vendors worth mentioning:
- ATI
- Nvidia
and then there is of course Intel, but their video chipsets are painfully slow.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
I agree completely that Linux Distros should bite the bullet and include the proprietary drivers until there are decent open source equivalents.
Acess almost any website devoted to Linux and the problems with getting ATI and Nvidia video cards properly configured are almost lengendary. I've dumped countless different distros over the years simply because I did not want to endure the hardships involved in trying to 'fix' something that, to my mind, should have worked out of the box. With a SOHO network that has 9 different computers attatched to it, with a planned expansion to a total of 17, I REALLY do want to unload myself from the clutches of the Microsoft Monopoly as much as feasibly possible. More than anything else, many LINUX distros have the appeal of offering much better performance on older hardware that is currently permanently stuck on Win98, for lack of a better alternative. I just can't seem to find an all in one solution that works well across the spectrum of equipment I have available, and I have no interest in using a half dozen distros in order to migrate everything I want to move from Microsoft. If adding proprietary drivers, video or otherwise, helps smooth out the installation potholes in a distro, I say, by all means, add them in, and let the market decide if it is a good idea.
In over 5 yrs of 'tinkering' with various and sundry Linux distros, I am sorry to say that the only installation that I have ever been completely happy with was a NasLite box, which was hands down the easiest install I have ever done on any computer in over 25 years of installing everything from CP/M to DOS to Windows in every variety since Windows for Workgroups.
I can see this being an 'edge' for those Value Added distros that are already becoming common in the LINUX world, and it would certainly add a lot of value to their offerings as compared to the 'free as in beer' distros.
And if the 'free as in beer' distros follow suit, then so much the better for all of those potential users that WOULD use LINUX, if it would just install in a fashion that Joe Average, i.e. Non-LINUX-Geek, could deal with.
Just my opinion, from someone who is admittedly, only a LINUX wannabe at present, but would be more than willing to become a full fledged devotee if it would just get a little easier to install.
Fire up the flamethrowers if you must, but, until LINUX can correctly identify a broader selection of hardware, and do what must be done to make sure it works, the great unwashed masses (Microsoft Users) are still going to shy away from what anyone with any reasonable intelligence can already see is a much more viable option for a lot of reasons.
More LINUX users = More Demand for Quality Software = Better Computing for All of Us.
Bring on them drivers, Lord knows we could all use them!
-DaveJ45
Differences between how you act when some one is watching, and how you act when no one is watching, define who you are
Name a card with half decent 3D support with open source drivers.
I know that pretty much ended sometime after ATI Radeon 9000...
Most of the reasons stated by ATI and Nvidia as to why they keep drivers proprietary are for P.R. reasons, designed to be less offensive than simply saying, "we want a profit and we don't think open sourcing is worth it". Talented developers are talented developers, regardless if they work with proprietary or open source software.
The problem with proprietary drivers is that they are distributed in binary form, which turns a political problem into a technological one. If the drivers were open source, there wouldn't be a technological side to the problem (for the most part). It doesn't matter what variation of kernel you use, just compile the driver for that kernel just like you would with any other driver that's already open source.
The openness of the kernel is one of the reasons why a standard driver API hasn't been that important yet: source code is more malleable than binary. The cross-platform nature of many things concerning Linux is a testament to that.
So, in all honesty, the problem is simply 100% political, not technological. The challenge is to convince vendors that open sourcing their drivers is the better way to sell their hardware.
Name one.
Where do I fall on it? The FSF is full of it when they say that you can't write a proprietary binary that links into GPL software.
The only thing that the GPL can control is derived works. If the work isn't derived, it isn't under any sort of GPL control.
Now, creating a module that can link statically or dynamically without it being derived IS a tricky thing. But it can be done.
If the interface is well documented, the code creation trail is legally clear, and ideally it works unmodified on at least one non-GPL code base, the module cannot be derived from GPL code and the GPL doesn't apply. At all.
I'm not sure ATI or nVidia's modules qualify but they are close.
Actually distributing a static linked binary containing GPL code would probably be a GPL violation. (Note that nVidia's binary doesn't contain GPL code, and "magic numbers" from header files are not copyright, any more than the same sort of information taken from Windows headers taint WINE.)
Distributing a non-GPL-derived dynamic linked binary, or a binary with end-user compiled glue code would not be a GPL violation. The end-user just happens to dynamically link it to GPL code, or compile it with GPL code, but that is his right under the GPL and not the distributor's problem.
I am not a lawyer, etc, etc.
I was hoping to use VIA EPIAs for a project, but VIA aren't as good as you make out.
They do release some code, but it has many bugs, doesn't include source for some key parts of the video drivers, they are not forthcoming with documentation for things relating to video, and they like to make press releases saying how much support they provide to the open source community, which is quite misleading.
Go and take a look at the Unichrome video drivers development site (unichrome.sourceforce.net), or Openchrome, sometime. Check out the complaints on the mailing lists (more last year than this).
As I said, I was hoping to use VIA EPIAs for a project. But after 4 months of battling with flaky MPEG decoding due to problems with those drivers, I move on to something else.
Still, VIA aren't so bad compared with most of the others. I'm still fond of them for what they have managed to do.
-- Jamie
Why not have a USER SPACE driver API. Most things (scanners, mice, cameras etc) don't need a high performance interface just a stable one. Manufacturers could write drivers for that, but there would be no kernel GPL issues and it would not be possible to write root kits and do other unsavoury stuff.
Why doesn't linux have one?
Free Software is great for some things, but occasionally the FSF has to recognize that some proprietary elements are unavoidable.
You could have used this exact sentence in 1990 to claim that GNU Emacs and GCC were pretty neat but we'd always have to use a proprietary kernel.
I see no reason why "proprietary elements are unavoidable" -- in a few years, the line is going to be pushed even further back, and you're going to look silly for claiming that graphics required proprietary drivers.
It would be great if everything was opensource but that won't happen anytime soon.
I would say, let the distros create a file with these special drivers that can only be installed if the user accepts the licenses for them. After all linux is about choice and the end user should have the final say.
Why would it be wrong for the end user to choose to put proprietary software on their computers if they agree to the license? As long as they are not combining the actual code with GPL code and they keep it seperate with the licenses provided.
Distros could just supply links to the sites that provide the proprietary drivers and let the user decide if they want to install them. I would say that if the user were to sell the computer they 1)remove the proprietary drivers, 2)delete everything on the hard drive, or 3)remove the hard drive before selling.
IMHO, I like choice and I believe I should have the choice to open source or closed source software.
But there is a cost to that convenience, and no, it's not just ideological. Once you've let NVidia and ATI into the kernel, you'd have to let other graphics card manufacturers in. Currently open-sourced drivers would be closed, and any hardware company which was considering opening their driver source code would seriously reconsider. You'd end up with dozens or hundreds of proprietary drivers.
Then your fancy Linux kernel has become a mess of spaghetti code attaching wierd, non-standard, buggy, proprietary drivers together. All the bugs in the ATI and NVidia drivers (and their numbers are legion!) are now built in to every kernel--along with all the other proprietary drivers you'd have to allow. And the kernel developers would be helpless to fix them.
It would get messy.
The kernel developers know this. It's why suggestions that such-and-such a proprietary driver be put in the kernel (I mean come on, guys, you're just being pig-headed about this, it's bug-free, I'll keep it up to date, I promise) are shot down where they stand. Check out such suggestions on the LKML; they get pretty short shrift. And it's not like they're all fanatics; Linus himself has no problem with proprietary software (or had no problem; see the whole BitKeeper fiasco). It's almost entirely a practical decision.
The convenience just ain't worth it. As Linux continues to grow in popularity--and it will, built-in video drivers or not--either NVidia or ATI will buckle and release OSS drivers, or somebody else (opengraphics.org) will fill the niche. It'll happen. Eventually.
Although it would be wonderful to live in the utopianistic 23rd Century where everything is free and intellectual property doesn't exist, we've got a long way to go before we get there. Consequently, companies that build products still believe that they have secrets they would rather not have their competitors have access to. The idea of forcing all drivers to be GPL'd is insane. You'd drive away companies like Sony, Motorola, Nvidia and the like that have products that we want to be running Linux. If you force everything to be GPL, then don't you see that you're playing right into Micro$ofts hands? This is exactly the FUD that they've been spreading for years about Linux. If Linux is to be successful in the marketplace, we need the kinds of products that enourage people to switch to Linux. If we can't convince the corporate world that their CODECs and custom IP can be protected, then they won't switch to nor support Linux. Subsequently, we all lose.
The card manufacturers insist that open sourcing the drivers lets valuable IP out into the open that could hurt their business. True or not, that's the company line and they aren't going to change it. I fall into the category of "I want my damn video card to work". And I want it to work with all it's bells and whistles. The solution is that I taint my kernel by installing the Nvidia drivers. I sleep just fine at night having done this dirty dirty thing. But every day I wake up and get 3D acceleration across both of my monitors and it makes me happy. I'm staunchly in the middle of the road on this one.
Jesus may love you, but I still think you're an asshole -BVB
Honestly. I support free open source , free non-open source, whatever software.
But when it comes down to it, I want my computer to be useable to the extent in which it is.
Does having a non-open source driver hurt linux's ability to continue serving as foss system?
No.
Does it make my nice new video card work?
Yes.
Where is the problem? Nothing is and will ever be a utopia -- it's nice to try, but sometimes you have to accept the realities of life.
But I can get fully capable open source drivers for MythTV playback or SNES-level OpenGL (zSNES), and it'd be over my dead body that those kinds of usages required me to load a proprietary driver.
There is a proprietary sound driver in each and every game that you load into the ZSNES emulator, isn't there?
Lack of decent video drivers is the primary reason why even though I've tried Linux on my desktop about a dozen times, I never stick with it. The crappy video performance always finally drives me nuts and I give up and reinstall Windows.
I really want to move to Linux. If there were good video drivers, plus real, working, full-featured DVD player software (*), I'd probably move and stay.
(AFAIK, current DVD playing solutions for Linux don't play DVDs, they are just plumbing that pipes a video and audio stream into a decoder pair. Fine unless you actually want to use menus, special features, multi-angle, etc, etc.)
It doesn't matter much what the GPL says on the subject. The GPL gets its teeth from copyright law. But copyright protection does not cover interfaces required for interoperability. A string of cases establishes this:
I believe this means anyone can release a linux kernel module under any license they choose. That said, there's no Supreme Court ruling on the issue, nor is there likely to be. If I were a defendant, I wouldn't want to fight the case in the 9th Circ (CA and pacific nw), which is notoriously harsh on fair use.
IANAL but IAALS(tudent)
Democracy is two wolves and a sheep voting on lunch.
RMS eventually founded the FSF because he couldn't get the source code to a broken printer driver. Learn your history or be doomed to repeat it
Well.. has he get the driver code yet ?
The equation is simple: do we want to do everything we can to encourage adoption of Linux or do we want to be 'pure'?
The key is that Linux can be both.
There will always be room for a distro that has non-proprietary drivers which don't leverage all the assets of every piece of hardware. On the other hand, when my laptop WiFi does not work because of some proprietary driver, I just want to be able to use it, Goddammit!!
Think about the major distros: they already include proprietary code: SuSE had all kinds of drivers and other software that is not included in OpenSuSE. The choice is there.
I think the key is to just simply get manufacturers to start producing drivers. Period. It would be so great to see the penguin on every box of every kind of hardware that you purchase.
*** Don't be dull.***
Sounds like room for competition for video in the open source arena to me.
Nothing written for pay is worth printing. Only what has been written against the market.
Ezra Pound
Ignoring the very non-trivial legal problems with what you've posed - have you ever programmed anything beyond a bash script in your entire life? Do you really feel you're qualified to say this is easy?
hint: no
Strange, not even one person spoke about EFI or Open Firmware Interfaces to handle driver operations.I nterface
Linux can use allready EFI on ppc computers..as i know of.
http://en.wikipedia.org/wiki/Extensible_Firmware_
http://guides.macrumors.com/Open_Firmware
http://www.codingheaven.net/
I work at one of the two companies mentioned in this article, and I can tell you that publishing the specs on any one generation of hardware would be pretty useless. By the time the open-source community got a GL-2.0 driver up and running the hardware would be obsolete, and I can tell you that even our in-house sw guys are often stumped by hw behavior and need to call in the hw guys to look at what the heck is going on. Figuring out how to make the hw run at peak performance is an even harder problem (and getting exponentially harder as the hardware evolves into a more general compute platform). Another thing: publishing specs and getting locked into one particular programming interface would slow down innovation on the hw side (this already happens due to the massive investment in sw resources internally). Hiding all those ugly details behind some proprietary free-as-in-beer driver is really a big win for everyone.
"It's so hard to write a complete UNIX system, that open-sourcing it would not help," said Foo Bar, [HP-UX|Solaris|AIX|IRIX|SCO|your_favorite_propriet ary_unix_system_here]'s software product manager. In addition, customers aren't asking for an open-source system, he said.
Before I even begin, I'll start by declaring that I have no friggin clue what goes on in a graphics device driver. All I know is that at some point, my function calls get turned into pretty screen thingies. With that said, why the hell are graphics drivers so friggin huge ? Is there really 50mb of code in there just to translate my primitive instructions into hardware accesses ? Here's some bitmap data, here are some triangles - go do your thing! What more does it need ? Why are these drivers so complex and buggy ?
I thought device drivers were supposed to act as an abstraction layer, so that one hardware API could be understood by all brands of X. After that comes the actual middleware (DirectX, OpenGL, whatever) that translates idiot user functions into hardware API calls. Polygon optimization, texture filtering etc etc etc should be done in the middleware. The only thing the actual device driver should be doing is taking the ready-to-run data and commands and ship them to the hardware unmodified.
Having a very slim, no-bull device driver would mean you just need to get it right one time and it never changes thereafter. Any compatibility issues are then the responsibility of the middleware. For Linux folks, this means we'd need a tiny tiny piece of code from the hardware vendor, then we as developers would be free to tweak and mod the other layers as we see fit, and everyone with any hardware would benefit from that development.
-Billco, Fnarg.com
It would be nice if it were easy to install proprietary drivers (as it is!), but Linux itself should NOT include such drivers. I would go further and say that it is legally forbidden to include such drivers. It's quite probable that nobody would sue them for the inclusion, but it COULD happen, and such a suit would probably prevail. (IANAL...so this is a Wild Ass Guess [WAG].)
Also, if we dig back into the history of the founding of GNU, we find that the whole thing was started because of some company's proprietary drivers...and Richard Stallman wanting to use some code that wasn't made available. Turning your back on this is about as fundamental a turning your back on your roots as is possible. This is why he designed the license he did. (Well, the specs. I think Lessig did the actual writing.)
I think we've pushed this "anyone can grow up to be president" thing too far.
My experience with Nvidia in this regard has not been great. About half of the time, the drivers install and work perfectly, but sometimes they don't, and it takes a lot of work to try and figure out why. My current setup (amd64 and geforce fx6200TC) required me to apply a patch to the nvidia driver, then installed the files in the wrong place (there is a workaround for that that I wasn't aware of at the time), and now I have a setup that works fine as long as I don't use the Gliedescope or AntSpotlight xscreensavers (in which case the machine locks up hard, often with a message "BUG: soft lockup detected on CPU#0!" followed by a stacktrace that implicates the nvidia driver as the cause. (for the curious, a more detailed post on fedora forum is here)
I wish the open-source drivers were at least more stable and useable, but they seem to have a tendency display random garbage on the screen from time to time. (I've seen this on three different computers with different Nvidia cards, so I doubt this is a rare occurance.)
I haven't tried ATI, but perhaps I will next time. How are the drivers in that camp these days?
My experience with Nvidia in this regard has not been great. About half of the time, the drivers install and work perfectly, but sometimes they don't, and it takes a lot of work to try and figure out why. My current setup (amd64 and geforce fx6200TC) required me to apply a patch to the nvidia driver, then installed the files in the wrong place (there is a workaround for that that I wasn't aware of at the time), and now I have a setup that works fine as long as I don't use the Gliedescope or AntSpotlight xscreensavers (in which case the machine locks up hard, often with a message "BUG: soft lockup detected on CPU#0!" followed by a stacktrace that implicates the nvidia driver as the cause. (for the curious, a more detailed post on fedora forum is here)
I wish the open-source drivers were at least more stable and useable, but they seem to have a tendency display random garbage on the screen from time to time. (I've seen this on three different computers with different Nvidia cards, so I doubt this is a rare occurance.)
Too bad. When you give away things for free and go on about freedom you have to expect some people to do things with it you never wanted. Thats what true freedom is.
If you OSS people didn't have so much great free (as in beer) software then maybe pragmatic leeches like myself will go away.
You can just go back to using Windows or OS X. You are not welcome in our community (what a crazy idea! A community where everyone contributes!).
Or option three- I can blow you off and continue to use Linux.
The party is over. From now till the time Linux is no more a trend will occur: the percentage of users of Linux who care about FSF and RMS style freedoms will become less and less. At one time people like yourself who valued freedom over everything were the majority but I think that is no longer the case. You all messed up and made a great system that practical people like myself can use as well.
So as much as it might hurt your feelings people like myself and the parent poster aren't going anywhere. Instead you will find youself to be a minority in the community.
To rub a little salt in the wound, I will now admit that in the past two months I have bought 10 Nvidia cards JUST FOR THEIR CLOSED DRIVERS. I want to spread XGL and its wonderful effects to my friends and family so I outfitted all of their computers with these cards so that they could try it out. Personally I gave open source drivers a chance - I bought a ATI 9200 which has the best open source graphics drivers on the earth - and I was really disappointed. The features were never there to a point I wanted, nor was the performance. I replaced that card with a 6600 GT (and its closed driver) and now I can do everything I want.
Is it shortsighted to favor a company with closed drivers just for some eye candy? Of course. But in the grand scheme of things, my life is in the short term so screw it. There is always the ability for fork for people like yourself- make a new Linux free from leeches like myself if you want.
Just don't pretend you can tell me what to do.....or that I will listen.
Open Source Sushi
If this license pollution issue is real, then could someone why it is not possible to legally force proprietary software vendors to GPL their code when a user chooses to dynamically link their user-space code with a GPL library?
e.g. I have a GPLed library - lets say i've written some replacements for standard C library routines, placed them under a GPL license and forced the dynamic linker on my machine to use them via overlays.
And then I run Oracle. Can I call Oracle and accuse them of GPL violation and demand they release their source code?
What I have running on my machine is a closed source application commingled via dynamic linking with GPL code. Is this illegal?
And, exactly which part of the process was illegal?
was it
a) writing a GPLed library capable of interoperating with Oracle?
b) instructing my dynamic linker to use the GPL library?
c) running oracle.exe, causing it to be linked with GPL components?
d) possessing, in my computer's memory, a commingled GPL/Proprietary work?
What makes any of this illegal, and does this situaton hold true where the roles - e.g. GPLed application running on a proprietary-but-similarly 'viral' licensed platform - are reversed?
Would it be illegal to run GPL code on Windows if MS placed an incompatible licensing term into their EULA?
What law, precisely, is being violated when a user loads a proprietary driver into the kernel?
I agree that distributing a mixture of closed and open source is a violation of the GPL, but doesn't the GPL guarantee freedom to personally use the software in any way you see fit?
I gots ta ding a ding dang my dang a long ling long
Linux is becoming an operating system that is all about the user. Coming to an end are the days where you need to know how to use shell to use linux. In this world, waiting months and months (and sometimes forver) to get your hardware working is not really acceptable. Linux can not compete with other OS's as long as it is a huge hassle to get your hardware working. Allow proprietary drivers, I want my broadcom wireless mini PCI card working...
or else!
The FSF comes off sounding very Talibanesque at times. Their religious fervor does Linux more harm than good. The oppposite of proprietary drivers, which do much good and virtually no harm.
Nothing to see here. Move along.
I have two problems,
1. I use Nvidia. What else can I do? I have to use the drivers provided by Nvidia.
2. I have a very expensive A3 (Epson GT-1000) scanner. The drivers for it are also proprietary and only available through Epson (Avasys). And they are 32bit only.
That pisses me off because I am stuck running 32bit Suse rather than 64bit just so I can use this scanner. And I'm not just going to chunk out the scanner.
Avasys shows no interest in working with the 64bit world. Questions posed to their support dept and or forum concerning 64bit go unresponded.
I DESPISE the proprietary drivers but there are no other options. You take what you can get. Not all of us are rocket scientists that can write our own drivers and programs.
usability comes about as a result of ideology. You'll have fun times if you want to use newer kernels while you wait for nVidia/ATI/Matrox to slowly roll out the matching kernel module; try to get support from your distro vendor if you've got some weird problem; or, finally, do some hacking to add a feature you want for yourself. Good luck with those closed drivers, you'll need it.
The only third-party IP that Nvidia talked about (to the best of my dated knowledge) was owned by SGI. When SGI were asked, they said basically "we don't think they DO have anything of ours, but if they do, we don't have a problem in GPLing it."
So, why not tell us WHOSE IP is the deal-breaker. Maybe we can persuade them to allow it to be GPLd. Without that, this excuse is just puffery.
I don't think M$ has much to worry about OSS now, it seems the FSF and Stallman are working on an OSS plan for self destruction. It is now just a matter of time. I sometimes think they need a good slap in the back of the head. Those guys should come back to reality and stop sticking their heads so far up their collective asses.
I'm really not familiar with the non-OSS graphics driver situation, but a couple of years ago, you had to go the Nvidia's web site, find the appropriate tarball, download it, patch your current kernel tree with the source "glue-code" supplied, then compile and install the patched kernel. The driver, itself, was distributed as a binary. It was always my feeling that the kernel patch didn't offend the GPL unless the kernel tree would not compile without having the binary installed where it belonged. If the kernel compilation failed because the TRULY proprietary part of the package was missing then you had a licensing problem.
Just my US$0.02
utter rubbish
This is mostly a red herring.
As long as a) the users (e.g. I) load the drivers (say, NVIDIA driver) and
b) said driver doesn't include any GPL material
then it is not in conflict with the GPL. It would be a different matter for drivers distributed with the kernel, but for the scenario above there is no conflict.
If the user is supposed to have freedom to do what they want with the software, then they should have the freedom to use proprietary drivers. PERIOD.
This is a fallacy. Software and hardware are fundamentally different. Software, once written, can be copied a billion times for trivial resources. Hardware, once designed, cannot.
"Useability beats ideology."
:-)
RMS eventually founded the FSF because he couldn't get the source code to a broken printer driver. Learn your history or be doomed to repeat it.
History doesn't change facts, it helps explain them. In this case the fact is RMS is still *not* getting the driver, I guess that makes the FSF a failure.
In any case, useability is still the champ.
"Free Software is great for some things, but occasionally the FSF has to recognize that some proprietary elements are unavoidable."
You could have used this exact sentence in 1990 to claim that GNU Emacs and GCC were pretty neat but we'd always have to use a proprietary kernel.
1990 called again, it said please stop making stuff up about it. In 1990 we had a free and open Unix implementation. Free software existed before Linux.
I don't see a choice.
If Linux doesn't have proprietary 3D graphics drivers, it doesn't have 3D graphics at all at any usable speed. That means a ton of things like games - and professional applications like Flight Simulation (my job!) would be impossible.
Now - I hear two arguments against my view:
1) If we somehow force all drivers to be OpenSourced then nVidia and ATI will cave in and release the sources to their drivers. NOT GOING TO HAPPEN. Both companies are very concerned about clone makers stealing their driver work - and about the release of proprietary algorithms. I've spoken to them both at some length about this and you can be very sure they won't cave in. Linux is a microscopic share of their market - we're lucky to have drivers at all.
2) If we force all drivers to be OpenSourced then we'll just have to write our own drivers for these cards. NOT GOING TO HAPPEN. The details of the 3D hardware's interface isn't documented ANYWHERE - not by nVidia or ATI - these graphics cards are horrifically complex inside - trust me - I used to design 3D hardware. There is no way on earth an OpenSource team without access to the hardware designers would stand a snowballs chance in hell of producing an efficient OpenGL driver. Even if we could - we couldn't come up with new updates on the 6 month product cycle of nVidia and ATI.
So - OpenSourced 3D graphic drivers simply won't happen. Period.
If the religious fanatics manage to license or engineer these drivers out of existance then they are just forcing a TON of loyal Linux users to switch to Windows. Thanks a bunch. Way to go to reward people who took the chance on an OpenSourced OS.
This isn't about religion - this is about end users who want to get real work done in the real world - not in some airy fairy land where dreams come true if you just wish hard enough and believe in yourself.
www.sjbaker.org
Basicly, from my perspective, if I can talk to it and use 100% of the functionality of it from any OS using 100% open code, its "Open Source" enough for me. If it relies on firmware or BIOS roms to do that, thats fine by me. (assuming one can download the firmware to the card correctly from any OS)
> The FSF however, sharply disagrees. 'If the kernel were pure GPL in its license terms...you couldn't link proprietary video drivers into it, whether dynamically or statically.'
I completely understand FSF's position and it makes sense (Exercise researching conjecture left to user). Now excuse me while I install the latest FSF sponsered GPL drivers.
There are plenty of open source licenses available, not just GPL, and they don't all have the same viral requirements. The BSD license is a common example, but there are others, too.
Remember, open source is free as in speech, not free as in bear.
I currently use a Radeon 9250 on my second computer with open source drivers (including hardware accelerated OpenGL). It works great out of the box (on Debian testing) without fiddling and can run Quake3, America's Army and all of the OpenGL screen savers with good performance. Its the most powerful graphics card out there with *open source* drivers.
I belive that it is in the interest of the Free software comunity to use the best possible hardware *with open drivers*. When you get such a card let the manifacturer know that you are willing to get a higher end, more expensive card when it will have *open source* drivers. I hope the X800 's (open source) DRI drivers get there fast because it's next on my list!
Also, slightly off topic, before you buy that Linux unsuported Wifi card, get an rt2x00 based Wifi card it's the only set of 812.11g Wifi cards that have _full_ GPL drivers!
Ever hear of WHQL? What about signed drivers? Microsoft has, for a long time, required you to open your drivers to them in order to make sure they don't crash Windows. Remember the famous instability of 95 and 98? Much of that was due to having no way of ensuring quality drivers. In XP, you get warnings if you install third-party, unsigned drivers. When Trust Computing is complete, you likely won't even be able to run a driver unless its signed. Ironically, in this Microsoft will have achieved what Verisign could not.
I always love to hear this argument. The fact of the matter is, binary only drivers make OSes suck (and crash). Okay, so if you have a microkernel (like the Hurd) they don't crash the system, but they still suck. In general, closed drivers are undebuggable and limit the ability to change kernel internals. In the case of almost every proprietary driver, they are doing this to earn somebody else money. Since when was hobbling the ability to maintain and develop your software a good idea--especially when you are doing it for someone else's profit?
Why are drivers binary-only? Sometimes people were too lazy (or hurried or cheap) to write their own code and bought it from someone else. Other times its patented by someone else. Other times it's to hide deficiencies in your product (i.e. software implementation of "onboard" RAID). Bottom-line, these are all people maneuvering for their own profit. They have nothing to do with making the software WORK. They only help do it from the naive point of view that anything less than full cooperation makes sound software.
For those harping about the GPL being designed to foster open software--not require it--I think you need to read the literature closer. The FSF actually asks you to assign them copyright on your GPLd work so that they can make sure its enforced. In other words, if you decide not to press charges to enforce the GPL, they'd like to be able to do it for you. The GPL is, thus, a tool to force software open. It was designed with the belief that you have the right to tinker with things you pay for. It was designed to create an environment where it was impossible to get productive work done without open sourcing your product unless you were willing to carry the entire burden of developing everything you run, from end-to-end. It is based on being as sound as a proprietary license while having the economic advantage of lowering the costs of all development participants.
Don't construe the above to mean that I don't support it. The fact of the matter is that cooperating fully makes good software and is good business when enough people do it. Larger businesses especially have problems with this because they don't like economics. Specifically, when a market no longer requires them in it (because of commoditization and such), they want to be able to maneuver to stay in it and control it. Of course, that just causes the losses to be subsumed by those companies until you start to see "consolidation" in that market. The GPL just makes it happen up front. In drives the commoditization that creates the savings that make the free market work.
I just love to hear the people whine that their NVidia card doesn't run well, when they decided to buy it. The sad fact is that Linux (and BSDs) has quality drivers for pretty much everyone who cooperates--just like Windows. In a system that has literally hundreds of quality drivers which drive tens of thousands of products, it speaks for itself when a device doesn't work--blame the people you paid money to for not supporting you. They are not willing to do what it takes to give you what you want--a good Linux driver. Don't blame the Linux developers because they insist on having a well-developed, agile product.
I think Mauve has the most RAM. --PHB (Dilbert Comic)
I'm sick of Stallman's decades-long arrogant screed against the slightest incursions into the purity of his mental model. No doubt he'd force everyone to play games in ASCII art if a virally-free video driver weren't available. He wouldn't prefer it, he'd force it.
I'd prefer that Linux drivers be open and free, but if I can have a 99.8% free system "contaminated" with a smidgen of software that gives my machine kick-ass graphics, well, give it to me baby.
I think RMS and the (tiny) handful of other FSF zealots don't understand that what the vast majority of people want is a free platform, not a free universe.
I don't use Linux, so it doesn't much matter to me if it uses proprietary drivers or not. But I do use FreeBSD which has a proprietary driver or two available for it. My answer based on my FreeBSD experience is: "NO FSCKING WAY!"
There are many advantages to Open Source software, and to me, being fully in control of your computer is one of them. But when I used the NVidia driver I was not in control. When it was first announced I was in the process of building a new PC. On the basis of NVidia officially supporting FreeBSD, I decided on a GeForce card to show my reciprocal support. For a few months I was happy. Then the proprietary nature of the driver rose up and bit me. When a new FreeBSD CD set arrived on my doorstep via my subscription, I wasn't able to use it until NVidia updated their driver.
The last straw came when after SIX MONTHS of no updates, I went searching around for reasons. It turned out that NVidia had decided not to update the driver because they were tired of tracking an evolving kernel. They weren't going to release a new Binary Blob(tm) until the 5.x branch was declared stable. While that might make sense on the surface, how come none of the Open Source XFree86/X.org drivers had the same issue? How come none of the Open Source DRI drivers in FreeBSD had the same issue? This was especially painful because the driver KEPT CRASHING the kernel! In twenty five years of using Unix, BSD and Linux, this has been the only time I have seen a kernel crash.
I went to the store and bought a low end Radeon. I am using the Open Source radeon driver, and couldn't be happier. It has never crashed on me, and I never have to wait for someone to get around to syncing it up with an OS upgrade. The transition from FreeBSD 5.x to 6.0 was painless, which is how it should be.
Keep the Binary Blobs(tm) out of my operating system!
Don't blame me, I didn't vote for either of them!
Now we are getting into rights and lic violations and terms on FREE SOFTWARE!?!?
Everyone can fuck off already. I'll damn well link what I want to my kernel WHEN I WANT. FSF can go take a long walk of a short pier.
It is funny that encouraging freedom means that your not free to do as you want. I would love a Linux distro that I could pop in out of the box and have my nvidia 6600 buzz like a bastard as it does in windblowze. I don't have that choice though because the FSF thinks it is protecting my freedom of choice. Kinda reminds me of not being able to just get on a plane and go because someone might blow up something with it and hurt me so I gotta get strip searched and miss the flight because My freedom is too important.
pardon my poor grammer, but i had to reply to this.
you are right those games require a full implemtation of opengl or directx. A hardware accerated version of opengl or directx comes with those drivers. The linux guys don't want that, they just want the hardware interfaces to the gpu, so that they can write their own hardware accerated version of (in the free world) opengl.
It wouldn't take forever like some other people claim either, because linux already has an opengl implemtation (mostly cpu based) Mesa 3d.
What the linux devs want is for the hardware vendors to open their hardware interfaces so that they can write GPU based versions of Mesa 3d.
It's not much to ask.
Kernel modules should be open-source (much the same way that people should be nicer to each other), but they won't likely be, at least for ages (just as with my example).
The open graphics project exists and its very successful. Its just called "Intel Graphics."
You are a very knowledgeable person Mr. Smirl when it comes to graphics so I must ask you- why does everyone ignore Intel?
If all the Intel laptops (with Intel chipsets) work well out of the box, this is larger than the overall Mac market. Why doesn't someone sell it on an AGP board? Why don't more people talk about it? Why is not more work done on the Intel driver?
Open Source Sushi
Since when has the license stopped most people this far? Oh wait, I -dont- download music, and I swear I read that ToU agreement.
Seriously, we can add the driver in, then share details and code for others to do it. Seem's to follow the rules, right? Wait, on second thought, I don't care, my windows computer runs them, and Linux will never win over windows untill it can too. Let's do it!
</rant>
Scott Swezey
Let the ideological folk run their nv drivers, and let those who could care less run their nVidia drivers.
Come on, FSF is not the copyright owner of Linux kernel, what are its rights to disagree on such stuff? Linus (and other kernel developers, of course) has the right to elaborate on the licensing terms, even though GPL was written by FSF!
Because this issue keeps cropping up from time to time ("Huh, I didn't know Intel sold more graphics units than ATI/NVIDIA") here's a link to page listing graphic unit sales market share for 2005.
That exception has not always been there, have all copyright holders agreed to the change?
Perhaps the whole model that Linux uses for drivers is flawed. Why should it 'require' having to 'link' into the core just to provide a driver?
A 'message' model would be preferable. Then this licensing issue would be avoided.
and, yes, it is possible to have even a real-time OS based on a message-passing scheme. It is just a matter of priorities and optimization. After all, every piece of hardware is really passing messages around anyway (even if its only groups of bytes), no reason the software cannot model that.
Btw, the only way Linux will ever have a chance to become a factor in the home use and business market of client computers is to be as easy to install drivers and applications and updates as it is to do so in Windows; and also to have a plethora of easy to use applications. I've still yet to see something easier to do in Linux vs. doing it in Windows, even as a developer.
I own an ACER Aspire 1692WMLi. The wireless driver has firmware that is supplied by Intel, and in the license notice they explicitely say that they guarantee it meets government specifications only when you use their firmware (or approved by them, which is essentially the same).
You can read here:http://ipw2200.sourceforge.net/README.ipw2200
If you use your lappi on an airplane and it doesn't meet government specifications, you are in big legal trouble. Assuming you land;).
So ... I am sorry, but you cannot make the user responsible for a third party driver just because FSF feels it ain't right. It has to be a limit. Besides, making an up-to-date driver for ati cards is THEIR job.
Why doesn't linux just allow proprietary drivers as transitional solutions? In other words, set up part of the codebase to contain throwaway code for proprietary code, simulators, etc. That way, until open source alternatives are available and entered into the permanent part of the codebase, people with that hardware will have a good solution in the meantime. On the other hand, since it's kept off to the side, it will be obvious to everyone contributing to development that no dependencies should be allowed on the transitional part of the codebase from the permanent part (or it, too, becomes transitional by extension).
The danger here is that vast tracts of code will suddenly become "transitional" and we'll no longer have a functioning OS if the transitional part is lopped off and thrown away. However, I get the feeling that the FOSS movement wouldn't let that happen.
but have you considered the following argument: shut up.
...and don't have to deal with stupid shit like this. It might cost a little more (money), but it's worth it (in terms of time wasted dealing with stupid shit).
Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
http://www.workorspoon.com