Slashdot Mirror


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?"

31 of 704 comments (clear)

  1. Come on by liliafan · · Score: 5, Insightful
    Obviously it would be nice if nvidia and ATI would open their drivers, the opensource community would benefit hugely from such a move, I also think the chip makers would benefit from it in terms of code improvements and fresh ideas....I don't see it happening anytime soon though, there has been calls in the past for drivers to be opened and it hasn't happened yet.

    As for this statement:

    For Nvidia, intellectual property is a secondary issue. "It's so hard to write a graphics driver that open-sourcing it would not help," said Andrew Fear, Nvidia's software product manager. In addition, customers aren't asking for open-source drivers, he said.


    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)
    1. Re:Come on by Ravenscall · · Score: 4, Insightful

      There have been dozens of calls over the years for drivers to be open sourced!

      And they ship millions of units per year. So while every few years a few thousand people may clamor for them to change thier business models and practices (which is expensive to thier eyes), millions more happily use thier products without a problem.

      What do you think thier course of action would be here? They could lose every Linux customer they have, and it would probably not adversely affect thier bottom line too much.

      --
      You say you want a revolution....
    2. Re:Come on by Halo1 · · Score: 4, Insightful
      And now with proper formatting:

      Previously, they used other arguments:


      From: Jon Smirl
      Date: Mon, 25 Oct 2004 23:55:58 -0400

      After talking to representatives of both companies, it seems that the
      patent system has completely perverted the IP situation between them.
      But are staying secret because of fear of being sued by the other for
      infringement. This is exactly the opposite of what full disclosure of
      patents was supposed to achieve.

      I wish they could just get together and agree not to sue each other
      over stupid things like register designs and programming models. The
      designs are horrible on both cards due to accumulation of historical
      cruft. Save the lawsuits for the core of the engines if you really
      have to sue each other.

      --
      Jon Smirl

      --
      Donate free food here
    3. Re:Come on by TheLinuxSRC · · Score: 4, Interesting

      I think the point NVidia is making is that the driver is a big part of the package they're selling. A buggy driver will make the entire package, including the hardware, look bad.

      You obviously never used the early versions of NVidia's Linux (and later FreeBSD and Solaris) drivers. No one expects any software to be 100% bug free (yes, I know there are exceptions to that but on the whole this is true). And if you counter this; I offer up ATI's drivers, including their Windows drivers, as repost. I have yet to have an ATI product that did not suffer miserably from driver problems under any OS.

      If writing a graphics driver is indeed very complex, the chance of FOSS developers including bugs is quite realistic. The simple fact that FOSS developers have not been able to produce good GPU drivers despite reverse-engineering demonstrates the level of complexity involved.

      Do you know anything about reverse engineering? It is a hack no matter how you look at it. You are trying to guess what something does by observing it. How can this be compared to knowing what something does because you have the documentation right in front of you. Nice troll. Or not.

      Such version would come at the expense of NVidia's reputation; if ATI keeps their drivers closed, ATI will have the more stable package in the typical consumers' eye.

      How did you come to that conclusion?

    4. Re:Come on by walt-sjc · · Score: 3, Insightful

      Nvidia already needs documentation in order to write drivers. Releasing documentation that they already have would cost them VERY VERY little.

      Futhermore, nvidia could choose to release docs for their cards which are no longer "state of the art" which would allow the community to take over maintainance and not give away "secrets" to their competitors (once the cards are out for 6 months or so, there are no "secrets" anymore that would harm their ability to compete.)

      To continue to withhold docs for older cards / hardware is POINTLESS and hurtful.

    5. Re:Come on by Bitsy+Boffin · · Score: 4, Insightful
      You are very naieve. For Nvidia to open source thier code would cost them a significant amount of time, money and quite possibly customers if they didn't do it right. Just off the top of my head...

      • Paying an army of lawyers to ensure that they CAN release in the first place. I'd bet that they don't have clean rights to distribute the source to everything in thier code, bet they licence some stuff.
      • Paying more lawyers and consultants to work out the best licence, or more probably write thier own.
      • Paying thier developers to clean up the code base before release, package it, setup version control access for the public.
      • Paying thier developers while they now unquestionably spend time liasing with the new open source developers.
      • Paying thier support staff when people using modified drivers ring up because stuff isn't working.
      • ...


      There IS a cost for companies to release closed source code to the open source world, it's significant, and in terms of support it can be ongoing (and if they put thier foot down and refuse to support modified code then they look bad to thier customers who don't know any better).
      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    6. Re:Come on by networkBoy · · Score: 3, Insightful

      Most important:
      GPUs are predominately massive FPGAs with a highly specialized IO ring (at least they were when I was in the field). The driver essentially loads the array when the card boots. Opening that portion of the driver opend your design to the competitor. Similar things in some chipsets.
      I personally would be happy with a well supported binary driver over a half assed open one.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    7. Re:Come on by Dr.+Evil · · Score: 3, Interesting

      I won't be buying or recommending any more ATI products unless they show a marked improvement in the quality of their drivers. Both for Windows and Linux.

      Open sourcing the drivers might make me consider going back to their products.

    8. Re:Come on by ??? · · Score: 3, Interesting
      For Nvidia, intellectual property is a secondary issue. "It's so hard to write a graphics driver that open-sourcing it would not help," said Andrew Fear, Nvidia's software product manager. In addition, customers aren't asking for open-source drivers, he said.

      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.
      Or maybe it's just code for "We haven't got documentation for this stuff, and rely on the collective experience of our developers over generations of the product to keep writing drivers. Driver writing is not a revenue center but a cost center for us, and in order to contain costs, we're not going to make the upfront investment required to throw our developers at documenting this stuff to the point where we won't be embarassed."

      Intellectual property issues like cross-patent licensing and 3rd party code could be addressed relatively cheaply when compared to addressing systematic deficiencies in documentation and code style. Such an effort would turn the cost structure of a hardware company on its head.

      Yes, they would ultimately experience an advantage from having unpaid volunteers improving their code. However, in order for those volunteers to improve the stuff, the stuff's already got to be in good shape anyway.
    9. Re:Come on by printman · · Score: 3, Insightful

      In many cases, hardware vendors simply do not produce the kind of documentation that you would need. The hardware and software developers work together, so there is a lot of undocumented internal knowledge that goes into those drivers.

      Also, in many cases there is technology or code that is licensed and *can't* be released as open source because the people that own it don't want it released.

      Finally, even if the developers want to do open source, their management may not (yet) be on board with open source.

      Given time and good experiences, I think most hardware vendors will provide open source drivers. We just need to encourage them to do this rather than beating them over the head with it! :)

      --
      I print, therefore I am.
    10. Re:Come on by NutscrapeSucks · · Score: 4, Insightful

      So, what are the video card's products? Are they the hardware cards or the drivers?

      A huge chunk of it is drivers. Frequently you will see new driver releases that massively improve performance in certain games without diminishing visual quality. That's all "proprietary" software R&D that no sane company is going to publish for their competitiors. And then you have "professional" cards where literally the only difference is drivers certification.

      Anyway, there's a giant difference in video drivers and (say) ethernet drivers in terms of the importance of driver R&D.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
  2. Why not? by tomstdenis · · Score: 4, Insightful

    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.
  3. Sometimes by Ravenscall · · Score: 3, Insightful

    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....
    1. Re:Sometimes by Billosaur · · Score: 4, Insightful
      Useability beats ideology.

      There you have it. If Linux systems ever want to develop greater market penetration and actually challenge the dominance of Windows, they need to to be able to handle all the same things, including video. I say, use the proprietary drivers until approrpiate ones can be reverse engineered, then dump them for the open source versions. If more and more people begin to use Linux systems, eventually the graphics systems manufacturers are going to have to cave to market forces and support the open source system.

      --
      GetOuttaMySpace - The Anti-Social Network
    2. Re:Sometimes by Just+Some+Guy · · Score: 5, Insightful
      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.

      --
      Dewey, what part of this looks like authorities should be involved?
  4. Wrong way around by Whiney+Mac+Fanboy · · Score: 3, Insightful
    From the TFA:
    "If Linux expects broader vendor support, the community needs to capitulate to proprietary software involvement," said Raven Zachary, an analyst at The 451 Group.
    Zachary gets this the wrong way round - instead, he should say:
    "If vendors expects broader Linux support, they needs to capitulate to free software needs"
    This is (yet) another way Linus has misunderstood a legal, rather then technical challenge (along with GPL v3 & the bitkeeper fiasco).

    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.
    1. Re:Wrong way around by tomstdenis · · Score: 3, Interesting

      You're missing the capitalistic incentive.

      Nvidias and ATIs "value proposition" is the hardware. The driver is just a required evil.

      Opening up the driver projects would mean they could get OSS loving hippies to do all the grunt MTRR/PAT/Register/MMIO/OpenGL hackery for them and they could concentrate on the actual hardware.

      It's like AMD or Intel selling an OS. And saying "you must use this OS with this processor". That trick didn't fan out to well for IBM (System/360 anyone?) and wouldn't work for x86 processors either.

      Why are GPUs any different?

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:Wrong way around by jdcook · · Score: 4, Insightful
      "It's like AMD or Intel selling an OS. And saying 'you must use this OS with this processor'. That trick didn't fan out to well for IBM (System/360 anyone?) and wouldn't work for x86 processors either."

      Yeah, nobody, not AMD, not Intel, NOBODY would want to repeat the s/360 debacle. Domintaing an industry for decades, tens of billions in sales. Really. Who wants that?

      --
      Q:How many libertarians does it take to stop a Panzer division? A:None. Obviously market forces will take care of it.
  5. As others have pointed out... by agraupe · · Score: 4, Insightful

    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.

  6. Open by Moby+Cock · · Score: 4, Insightful

    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.

  7. The kernel should offer API's, no more and no less by scsirob · · Score: 4, Insightful

    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
  8. Open Graphics Project by Theovon · · Score: 5, Informative

    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.

    1. Re:Open Graphics Project by ledow · · Score: 3, Insightful

      OGP seems a brilliant idea but without significant financial backing from a major player (nVidia, ATI, IBM, someone like that), it's basically just a hobby project. Who is going to back a piece of electronics on which they have no IP and which ANYONE, even say nVidia or ATI or some bloke on eBay, could copy and sell?

      I hate IP issues as much as the next slashdotter but I really can't see this taking off.

      LinuxBIOS has taken off in a TINY way because it allows large Linux-dependent companies to boot their machines faster for a tiny piece of free code that they can stick on a £5 flash chip themselves with a £100 device.

      OpenCores and the like haven't because the designs are fantastic but to actually put them into hardware in any bulk way costs an awful lot of money.

      OGP is basically a large OpenCore project that relies on being able to manufacture cards that are built with some VERY expensive components, for a final price which may be way more than any average graphics card on the market but yet can't outperform that average card. And there's no way to reduce that cost even if you were to assemble it yourself (in fact, it would probably cost more).

      And then you have, say, 10,000 units of these cards that you sell at just over cost (literally, because any more and people would laugh at the price tag). The profit you would make would be nowhere near enough to justify the effort, to secure the next batch or to convince some investor to plant millions into the scheme.

      And in the end you get a few thousand people who are happy running an open system that costs them much, much more in terms of time, effort and money than **any** card on the market.

      It's not going to change the world and it's REALLY NOT going to be available anytime soon in any shop (even the ones who stock every obscure component known to man etc.) for anyone to even notice it exists. By the time it gets there, it's going to be obsolete. By the time the new, improved model is released, it will also be obsolete.

      Then you have legal problems like what if nVidia decides it hold a patent on something (hardware patents are much easier to enforce than software)? What if the cards explode in someone's machine? The disclaimers are all well and good but the slightest bad press will kill the entire project stone dead.

      And in the end a graphics card is just a graphics card. Those that need the fancy 3D are gamers (who don't care about binaries) or 3D professionals (who wouldn't touch stuff like OGP with no warranties, no performance advantage, etc.).

  9. Not in my kernel by ettlz · · Score: 5, Interesting

    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.

  10. Who cares? The kernel license has an exemption. by Anonymous Coward · · Score: 3, Insightful

    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).

  11. Re:Well, since it's a proprietary card... by nagora · · Score: 3, Insightful
    This is why you'd want the video drivers written by the OEMs.

    Not true. I want OEMs to write the drivers because they have the specs in front of them. Networking drivers have shown many times that releasing the spec to OS programmers often results in better drivers than the OEMs. There's no reason to assume the same can't happen with video drivers.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  12. Re:If you're going to be picky, hardware's not ope by jonwil · · Score: 4, Insightful

    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.

  13. Snappy Answers to Stupid Questions by npsimons · · Score: 4, Insightful

    Q: Should [GNU/]Linux Use Proprietary Drivers?

    A: No.


    A little more seriously, let me just repost part of a comment that really illustrates the veracity of this answer:


    And really, I don't know when you started to use [GNU/]Linux, but when I
    started (pre-1.0) we didn't have video drivers. We wrote them ourselves.
    We chose the freedom of [GNU/]Linux over the convenience of binary-only
    platforms with working drivers. It shames me that so many of the current
    generation of [GNU/]Linux users don't understand what the world before
    [GNU/]Linux was like. It was hell. Closed source binary-only drivers
    everywhere. Buggy code that you couldn't fix. [GNU/]Linux changed all
    that. Finally we have source and freedom and rights. Finally there's
    something to be proud of; an entirely open source operating system built
    through the sweat and tears of 1000s of volunteers. And you would
    sacrifice all that for slightly faster 3D graphics? I can't comprehend
    your state of mind. Your priorities are completely foreign to me.

    (seen on slashdot, not said by me)
  14. Or buy VIA by metamatic · · Score: 4, Informative

    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
  15. GPL over the users by Enrique1218 · · Score: 4, Insightful

    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
  16. Well .. by Anonymous Coward · · Score: 3, Insightful

    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 ?