Slashdot is powered by your submissions, so send in your scoop


Forgot your password?

Alan Cox to NVIDIA: You Can't Use DMA-BUF 946

DMA-BUF is a recent kernel feature that allows multiple GPUs to quickly copy data into each others' framebuffers. A use case would be the NVIDIA Optimus that pairs a fast GPU with an Intel integrated GPU, where the NVIDIA GPU writes into the Intel framebuffer when it is active. But, NVIDIA won't be able to use this infrastructure because it's GPL. Alan Cox replied on LKML to a request from one of their engineers to mark the API non-GPL: "NAK. This needs at the very least the approval of all rights holders for the files concerned and all code exposed by this change. Also I'd note if you are trying to do this for the purpose of combining it with proprietary code then you are still in my view as a (and the view of many other) rights holder to the kernel likely to be in breach of the GPL requirements for a derivative work. You may consider that formal notification of my viewpoint. Your corporate legal team can explain to you why the fact you are now aware of my view is important to them." The rest of the thread is worth a read (a guy from RedHat agrees that this code is GPL and cannot become non-GPL without relicensing from a major subset of graphics system contributors). This has a ripple effect: it means that all of the ARM SoC GPU drivers can't use it either, and it may prevent any proprietary drivers for the proposed DRI version 3.
This discussion has been archived. No new comments can be posted.

Alan Cox to NVIDIA: You Can't Use DMA-BUF

Comments Filter:
  • by Anonymous Coward on Thursday October 11, 2012 @03:39PM (#41622323)

    Seriously. Freedom and GPL are two very, very different things. No matter how much you try to turn and twist it around, freedom never comes with a "but".

    add.: captcha is "harmless" - oh, the irony.

  • Sigh (Score:1, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @03:39PM (#41622325)
    Thus, continuing to push Linux into irrelevance. You whine that the Graphics chip maker need to provide better support for Linux, but it's the wrong kind of support.
  • Re:And this is why (Score:5, Insightful)

    by justforgetme ( 1814588 ) on Thursday October 11, 2012 @03:41PM (#41622337) Homepage

    If it leads to vendor GPU drivers being developed in the open then I'm in!

    Why were you upset again?

  • Re:And this is why (Score:5, Insightful)

    by AuMatar ( 183847 ) on Thursday October 11, 2012 @03:41PM (#41622339)

    No, this is why it's GOOD, and why many developers, myself included, will not work on non-GPL projects. Without the GPL, they would have taken this code and added it to their proprietary code bases and we'd never have seen future improvements of it. That's not a good thing, ever.

  • by quasius ( 1075773 ) on Thursday October 11, 2012 @03:42PM (#41622363)
    Well, I guess that's yet another way to make sure Linux stays niche in desktop use forever.
  • Re:So? (Score:5, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @03:44PM (#41622373)

    And this is why graphics support will always be a third class citizen on linux.

  • by Pope Raymond Lama ( 57277 ) <gwidion&mpc,com,br> on Thursday October 11, 2012 @03:44PM (#41622377) Homepage

    They woul dhave a bad time coming along anyway, since they can't be compatible with the secure boot (UEFI) way of working (workaround if one prefers), that is being adopted by major distributions: all Kernel level code, and X11 code, will have to be signed to work out of the box in a UEFI restricted boot environment. And any distro that would sign binary code coming from NVIDIA or whoever else would be mad.

    It may be we get some months across a new "no working 3d drivers" dark ages on the Linux desktop, but one way or the other, the time for proprietary drivers is past.

  • by JDG1980 ( 2438906 ) on Thursday October 11, 2012 @03:44PM (#41622379)

    Am I missing something? Isn't this going to hurt Linux a lot more than it is going to hurt nVidia? Sure, it would be great if nVidia open-sourced their driver code, but it's pretty clear that this is not going to happen. What effect will this have other than to make Linux drivers for nVidia cards of inferior quality?

    For Linux the religion, this is a triumph. For Linux the operating system, it is a major setback.

  • Face Reality: (Score:4, Insightful)

    by CajunArson ( 465943 ) on Thursday October 11, 2012 @03:45PM (#41622401) Journal

    While Linus got lots of publicity for mouthing off at Nvidia over Optimus support, the truth is that just recently released server 1.13 that has initial support for Optimus-like technologies and it would not have mattered one bit what license Nvidia used for its driver code.

    The cold hard truth is: Nvidia isn't going to GPL its drivers and it couldn't do so even if it wanted to. Nvidia's developers *have* been trying to help out with adding code to the kernel for DMA-BUF that will be GPL and will help other pieces of hardware in addition to Nvidia hardware. There will probably have to be a compromise at some point on this even if the idealogical purists get their panties in a knot over it.

  • by AliasMarlowe ( 1042386 ) on Thursday October 11, 2012 @03:45PM (#41622405) Journal
    Actually, he's telling them that they can use DMA-BUF in their video drivers. And so can anyone else, provided those drivers are released under GPL.
  • by Anonymous Coward on Thursday October 11, 2012 @03:47PM (#41622429)

    There, fixed it for you.

  • Re:And this is why (Score:4, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @03:47PM (#41622431)

    They simply won't use it at all, and thus graphics support on linux lags further and further behind.
    Grats on the ideological win though!

  • by Ignacio ( 1465 ) on Thursday October 11, 2012 @03:49PM (#41622451)

    Okay, so it's not freedom then. It's quasi-freedom. But at least no one has the freedom to take my quasi-freedom away. If they want in then they have to add to the pool of quasi-freedom instead of taking anything away.

  • Re:And this is why (Score:5, Insightful)

    by D. Taylor ( 53947 ) on Thursday October 11, 2012 @03:51PM (#41622485) Homepage
    No, they would have called this API from their proprietary binary blob drivers, not copied or modified the code implementing it.
  • Re:And this is why (Score:5, Insightful)

    by Serious Callers Only ( 1022605 ) on Thursday October 11, 2012 @03:52PM (#41622493)

    And if it leads hardware vendors to avoid writing sophisticated drivers for Linux (a far more likely outcome), what then?

    Why would nvidia want to deal with fanatics like this when they can just ignore them?

  • Re:And this is why (Score:4, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @03:53PM (#41622507)

    If it leads to vendor GPU drivers being developed in the open then I'm in!

    Spoilers: It wont.

  • Re:And this is why (Score:3, Insightful)

    by irwiss ( 1122399 ) on Thursday October 11, 2012 @03:53PM (#41622511)

    ATI driver being open is the reason it's so stable and leaves nvidia in the dust performance wise, right? Oh wait

  • Re:And this is why (Score:4, Insightful)

    by Baloroth ( 2370816 ) on Thursday October 11, 2012 @03:54PM (#41622527)

    If it leads to vendor GPU drivers being developed in the open then I'm in!

    Why were you upset again?

    ...because it won't, and never will, and because this is the Linux community attempting to force Nvidia to develop open-source drivers, which is just about the exact opposite of freedom. Or at least, that is what it looks like to me (hard to say, since IANAL nor do I work on the Linux kernel), and therefore is what it will look like to a lot of people. And it's why graphics on Linux sucks, forcing people to use Windows instead.

    Linux's greatest enemy is quite often itself. Which is fine, if you only ever want to use it on a server... but if you want it to be a serious competitor to Windows, it won't be. Ever. There will never be a "year of Linux on the desktop", not so long as these kinds of restrictions exist.

  • Re:Face Reality: (Score:5, Insightful)

    by amorsen ( 7485 ) <> on Thursday October 11, 2012 @03:54PM (#41622537)

    Nvidia isn't going to GPL its drivers and it couldn't do so even if it wanted to.

    Of course Nvidia could GPL its drivers. That "they can't do it" been said ever since the first proprietary Nvidia Linux driver, and back then it was blamed on non-specified technology licensed from SGI. SGI then stated publicly that they had absolutely no problem with their technology ending up in a GPL'd Linux driver.

    It is just a pitiful excuse. Luckily, between "secure boot" and this, the excuse will not last much longer. Then it will be either GPL or nothing at all.

  • by Patch86 ( 1465427 ) on Thursday October 11, 2012 @03:54PM (#41622539)

    If this were BSD, Alan Cox would have had his hard work stolen from him against his will, and he wouldn't have been able to do anything about it. Nvidia could have taken his code and released it in their binary blobs, and he'd never see any benefit from it again.

    So why is that a reason for him to go BSD instead of GPL?

  • Re:And this is why (Score:5, Insightful)

    by fredprado ( 2569351 ) on Thursday October 11, 2012 @03:58PM (#41622597)
    Apparently they think it is worth it, as they have been doing it for a while. It is all a matter of who has the power. The tech company that wants the market or the consumers. In this case it is the consumers (or fanatics if you prefer).

    Bowing to the will of tech companies is the best way to have very disgusting stuff pushed into your throat.
  • Re:And this is why (Score:5, Insightful)

    by D. Taylor ( 53947 ) on Thursday October 11, 2012 @03:58PM (#41622601) Homepage
    That is not correct. If the symbol is marked EXPORT_SYMBOL_GPL then only GPL-licenced modules can use that symbol (i.e. call the API). They are already unable to include the code in their proprietary driver, as the code is released under the GPL which already prohibits them copying the code into a non-GPL-compatible codebase.
  • by Chris Mattern ( 191822 ) on Thursday October 11, 2012 @04:02PM (#41622655)

    Actually, he's telling them that they can use DMA-BUF in their video drivers. And so can anyone else, provided those drivers are released under GPL.

    Which requires that everything *else* in the driver be compatible with the GPL. Which...they aren't. So they can't.

  • Re:Honest Question (Score:5, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @04:04PM (#41622681)

    I appreciate how you used the term "competitive edge" three times in such a short post. Oh, wait, no, I meant "I am nauseated by how". Don't they teach marketing shills anything in terms of subtlety any more?

    Anyway, you seem to be asserting that Nvidia's "competitive edge" is completely software-related. As in, the hardware — the actual graphics-computing stuff they sell, mind you — is somehow less important than the exact underpinnings of the drivers. This is an assertion that makes no sense to kernel developers. The drivers are just there to provide a way for the OS to communicate with the hardware. The hardware is supposed to be the magical part here.

    In my opinion, the ridiculously secretive nature of Nvidia, especially in the face of their major competitors opening up their drivers, is highly suspicious. After all, I thought they sold video cards, not drivers. It makes me think they're hiding Bad Things(tm) in the drivers. Unlicensed IP, perhaps? Evidence that their "value" models of video cards are actually the "premium" cards with drivers that shut down certain features? Crappy code? Or maybe just a behind-the-times product manager?

  • Re:Hmmm... (Score:3, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @04:10PM (#41622763)
    This isn't about just the interface, but the code in the kernel that does the stuff that is exposed/called through the interface. They're of course free to re-implement that on their own w/o using any GPL'd code - but it's a bit more work than a Hello World! ...
  • by MtHuurne ( 602934 ) on Thursday October 11, 2012 @04:11PM (#41622779) Homepage

    Intel releases their drivers as GPL, I don't see why NVIDIA couldn't do the same. They choose not to.

    Now, there might be sublicensed code in the driver that NVIDIA doesn't own, so maybe they cannot release it under GPL tomorrow, but it would be feasible as a long term project.

  • by Kjella ( 173770 ) on Thursday October 11, 2012 @04:12PM (#41622795) Homepage

    And any distro that would sign binary code coming from NVIDIA or whoever else would be mad.

    Sometimes I wonder what reality Slashdot lives in, a distro signing a nVidia driver would be no different than say Microsoft signing a nVidia driver. Of course the puritan distributions won't but they don't ship proprietary code anyway, it's not like Ubuntu would "vouch" more for nVidia than Microsoft does. If the nVidia code is full of shitty security holes that's not really the distro's problem as long as it's "genuine" nVidia code.

  • Re:Honest Question (Score:5, Insightful)

    by Bill, Shooter of Bul ( 629286 ) on Thursday October 11, 2012 @04:14PM (#41622831) Journal

    How much of a "competitive edge" is really in their driver? And what kind of IP would be "open sourced"? This is GPL V2 we are talking about, they don't have to abandon any patents covered by the code or anything.

    Intel and AMD actually do open source drivers for linux. Those can make use of the wizbang. Who is at a competitive edge in that case? The one that makes a driver that can use the wizbang, or the one who cant*?

    Note there is a non Nvidia sponsered open source driver for their cards. They are more than welecome to add any whizbang they want with that.

  • Re:And this is why (Score:5, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @04:15PM (#41622835)

    Okay, great, if the world was perfect you'd have a great day! Yay!

    But, what if this change means that nVidia and all ARM graphics drivers come up with their own non-GPL kernel API, it would probably not be compatible with DMA-BUF, and that means that the graphics drivers in the Linux kernel - both open source and not - would pick and choose which buffer sharing mechanism they support/use, leaving the rest out in the cold. This situation just so happens to negate the ENTIRE purpose DMA-BUF was created for, namely, to act as a SINGLE way for ALL drivers to share and pass buffers around. So, instead of creating a BETTER situation where all graphics drivers are compatible with each other (even the proprietary ones), we have a crappy situation that we've continued to have since day one - proprietary and open source graphics driver not playing nice with each other.

    It's even in your short term and long term best interests to get everybody to use DMA-BUF, because the faster that happens the easier it is to use Linux, the more people start to use Linux, and Linux users slowly start to become more and more relevant to driver manufacturers to the point that, like Mac users, they become a profitable segment of the computer using population (note that this is both for desktop users with nVidia cards, or short term uses, and all ARM drivers for embedded devices which are becoming more popular, or long term uses), and graphics developers start to support them as best they can (read: supporting open source driver development).

    While this is happening - in other words, while the world is ruled by proprietary graphics drivers because the open source ones suck (as is currently the case, and although it's improving is likely to continue to be the case for at least another two years), you can have your Left 4 Dead 2 on Linux with the proprietary nVidia driver that it needs, you can have lower power usage on all Linux laptops because Intel and nVidia cards can share buffers and therefore change which card is actively processing depending on what is running, and you can actually have useful drivers for all embedded devices until open source graphics drivers are available (whenever that happens, as it is barely on the radar of developers at this point).

    So, you (and Alan Cox) can be complete dicks about this and hold the Linux desktop and Linux embedded devices with decent drivers back for years because nobody bothers to support such a tiny market with open source drivers, or you can allow proprietary graphics card manufacturers to keep their hold on graphics drivers for a few years and keep the vast majority of users happy because they have a device that works well enough (even though it doesn't have open source graphics drivers) UNTIL the community develops open source drivers themselves.

    So, what's more important to you, possibly helping proprietary vendors temporarily and helping desktop and embedded users out tremendously for the next few years; or keeping your kernel untainted by proprietary crap, unhelpful to proprietary vendors, and keeping the kernel the same mess it has always been, and pissing off the vast majority of desktop and embedded users for years?

    I would argue that Valve is only porting Steam and their games to Linux because the nVidia graphics drivers exist (because their games require OpenGL 4+, which isn't supported, and will not be support for years, by open source drivers). And yet, them porting their AAA title games is going to tremendously help Linux break out of its insignificant shell on the desktop - which will drive adoption, drive demand for Linux, and ultimately drive the demand for open source drivers anyway.

    So, take a deep breath, calm down, and just accept the fact that allowing something to be temporarily imperfect in your world is a good trade off to make to have a much better world a few years from now.

    Furthermore, DRI3 (the userspace API) will become dependent on DMA-BUF once it is developed, which means that DMA-BUF will become a usersp

  • Re:And this is why (Score:3, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @04:15PM (#41622843)

    Bowing to the will of tech companies is the best way to have very disgusting stuff pushed into your throat.

    You need to chose your fights carefully. If this was about forcing a 10G network adapter to release it's code as GPL, I would have supported it 100%. No NIC vendor can afford to ignore the Linux server market.

    On graphics though, Linux has very little leverage. The mere fact that nVidia delivers a huge blob that barely works is a big red flag. Adobe dropping Flash is another. Beggars can't be choosers. So even if you support the ideology, it's a lame move to further it, you amplifying the snowball effect against Linux. I can accept it's technically unfeasible to gather all those approvals. But to reject on ideological grounds is like trading a queen for a pawn.

  • Re:Translation (Score:4, Insightful)

    by pavon ( 30274 ) on Thursday October 11, 2012 @04:15PM (#41622847)

    No, that isn't the implication. Whether they are in violation of copyright or not depends on whether their drivers are a derivative work of Linux, and if so whether fair use would allow them anyway. Both of these things are decided by courts not by the copyright holder. The significance of his notification is in determining whether the infringement is willful or not, and thus eligible for stronger penalties.

  • Re:So? (Score:5, Insightful)

    by Anonymous Coward on Thursday October 11, 2012 @04:16PM (#41622861)

    Are you hating or just misinformed? NVIDIA ranks second in terms of total lines changed for the ARM kernel, and fourth in terms of number of changesets for all employers or organizations. That's sharing.

    The only thing they don't share is their graphics drivers - which seems like a fair trade overall. nVidia has licensed patented code which they couldn't share even if they wanted to.

    NVIDIA will likely just build their own DMA memcpy routine - because copying memory is SOOO unique.

    Full disclosure: I develop (unrelated) proprietary kernel modules, I'm very familiar with the licensing, patent and copyright issues and we work within the GPL limits defined by the kernel team.

  • by Jeremiah Cornelius ( 137 ) on Thursday October 11, 2012 @04:21PM (#41622929) Homepage Journal

    Implicit in this is the proposition that GPL IS GOOD FOR INNOVATION.

    You better make a flippin' good GPU, and invest there. If you depend on drivers to add value, and you fail to deliver on this? Someone is free to improve or replace your driver.

    Meanwhile, the other guys compete with a level playing field.

    This is promotion of innovation over obfuscation.

  • by KiloByte ( 825081 ) on Thursday October 11, 2012 @04:22PM (#41622957)

    User programs, not in-kernel drivers.

  • Re:And this is why (Score:5, Insightful)

    by clarkn0va ( 807617 ) <> on Thursday October 11, 2012 @04:24PM (#41622979) Homepage
    GPL licensors demand that others don't redistribute GPL code as their own. Proprietary licensors demand that others don't use their code at all without their express permission, full stop. Who's the fanatic here?
  • by oPless ( 63249 ) on Thursday October 11, 2012 @04:26PM (#41623005) Journal

    PSST, this is an API called marked in such a way that only GPL modules are allowed to call it.

    It's a deliberate act of douchbaggery by kernel developers to force manufacturers to open source their drivers, not to steal code from the kernel.

  • Re:So? (Score:5, Insightful)

    by peppepz ( 1311345 ) on Thursday October 11, 2012 @04:28PM (#41623041)
    No, this is why linux exists in the first place.
  • Re:And this is why (Score:2, Insightful)

    by u64 ( 1450711 ) on Thursday October 11, 2012 @04:30PM (#41623059) Homepage

    Nothing *forces* Nvidia to write drivers at all. It's their own choice.

    GPL is a protection against abuse. The only freedom-restriction is that people are disallowed to abuse the freedoms granted by GPL.

    Nvidias propriatary software *IS* the exact opposite of freedom for anyone silly enough to use it.

    As for quality of software being better on Windows, that's sadly true sometimes. GPL won't change, it's practically set in stone to guarantee freedom. Nvidia however, can choose to create free drivers, just as many others do. Blame Nvidia for failing to meet the costumers needs.

    (IANAL, but i think i'm in the ballpark)

  • Re:And this is why (Score:5, Insightful)

    by PlusFiveTroll ( 754249 ) on Thursday October 11, 2012 @04:30PM (#41623065) Homepage

    Linux has a license (GPL) that states some requirements on what you can and can't do with it, this license is wrote that way so the code will remain free. This is an ideological ideal and not a business ideal, therefore they clash. It protects against companies like Microsoft doing 'Embrace, Extend, Extinguish". Evidently you like the idea of a world where a few patent holders control our computing technology. True freedom is also allowing the biggest, baddest, and meanest to set the law. True freedom is allowing business interests to take chunks of Linux wrap them up in binaries and keep them hidden away from everyone the community that built it. True freedom is a person busting in to a house with a gun, killing everybody, and taking what they want without any worry of law.

    The GPL is preventing that corporate psychopath from taking what he wants with his power and instead establishes a level playing field.

    It seems odd you want 'Linux' to become Microsoft to beat Microsoft, I don't see how anybody gains anything in the end.

  • Re:Honest Question (Score:5, Insightful)

    by Yvanhoe ( 564877 ) on Thursday October 11, 2012 @04:31PM (#41623071) Journal
    Well, we do want an open source system, for a variety of legitimate reasons. NVIDIA's edge is in hardware design, not software design. I, for one, would be happy that they provided an open source driver that give me access to all the 1 year old functionalities of their cards. That would not make them lose any edge.

    Also, a thing that NVIDIA probably fails to realize is that open sourcing their drivers will result in far more developers on it, therefore will probably raise their quality.

    I honestly doubt that ATI could get an edge from looking at the code of NVIDIA's drivers. Maybe some small marginal improvement but nothing that would improve their hardware.

    I think that this argument has been mainly FUD. Linux developers are a small population but they are opinion leaders in the market. The first company that goes open source will probably receive a popularity boost that will offset the little "edge" that they fear losing. Right now, this is Intel, despite very inferior hardwares, that is becoming more popular because of their 100% open source drivers.
  • Re:Android on ARM (Score:5, Insightful)

    by Wesley Felter ( 138342 ) <> on Thursday October 11, 2012 @04:32PM (#41623091) Homepage

    Android developers don't care about desktop Linux and are willing to fork anything that gets in their way. They've done it before.

    Android will end up with 3D that works fine; it will just be based on different APIs than desktop Linux.

  • Re:And this is why (Score:4, Insightful)

    by Rockoon ( 1252108 ) on Thursday October 11, 2012 @04:32PM (#41623095)

    The Ivy Bridge GPUs are pretty serious.

    According to Intel and fanboys, sure. Not according to benchmarks.

    My current video card was released in late 2007 and was ~$250 upon release so wasnt even top notch at the time, and I significantly down-clock it to keep its fan quiet.

    It still delivers nearly twice the FPS as Intels flagship HD 4000 Ivy. So we are talking about a down-clocked 5 year old mid-range video card that is still beating up Intels greatest offering ever.

    Try again, fanboy.

  • Re:And this is why (Score:2, Insightful)

    by davydagger ( 2566757 ) on Thursday October 11, 2012 @04:33PM (#41623113)
    "...because it won't, and never will, and because this is the Linux community attempting to force Nvidia to develop open-source drivers"

    laughable. we keep on hearing how open source/free softwar developers are incompetitant nin-compoop basement dwellers. Except when corporations want to use Free software in their closed source programs, then its the Free software authors making breakthroughs who are wrong. See if these closed source lackies are so better, why don't they just re-implement the ideas from scratch like FOSS does with priopretary software.

    "which is just about the exact opposite of freedom".
    The only "freedom" we are taking away from nvidia is the freedom to take other people's freedom away. Irony?

    What needs to happen is nvidia needs to open source its drivers, like intel does. Intel drivers are far more stable. even open source nouveau drivers are far more stable(albiet feature incomplete, poor 3d performance, no power management, no OpenCL support). The very least is nVidia can release the specs to the noveau team so they can make a feature complete driver.
  • by MickyTheIdiot ( 1032226 ) on Thursday October 11, 2012 @04:34PM (#41623131) Homepage Journal

    Please don't echo the Microsoft buffoonery of calling the GPL "viral".

    If it's viral it's a virus you choose to contract.

  • by DarwinSurvivor ( 1752106 ) on Thursday October 11, 2012 @04:34PM (#41623137)
    Also, from what I understand in the GPL, that notice isn't an excemption added to the GPL, it is a notice that simply clarifies what is already in there.
  • Re:And this is why (Score:3, Insightful)

    by peppepz ( 1311345 ) on Thursday October 11, 2012 @04:39PM (#41623209)
    Because those fanatics happen to have written a seriously good kernel, which is being used by millions of people and hundreds of successful commercial companies.

    NVIDIA are the outliers here, everyone else is doing the good thing.

  • by IBitOBear ( 410965 ) on Thursday October 11, 2012 @04:39PM (#41623215) Homepage Journal

    Linux developers are not trying to "force" anybody to do anything. Nvidia is trying to force the linux community to accept their unacceptable "super secret" blob into the kernel agains the linux community's development and participatation standards.

    If I showed up on your doorstep and said "you have to let me use your bathroom and your kitchen, but I am not going to wash my hands or put on pants" you would not be "forcing" me to (anything) by saying that my intended pantless, unwashed use of your facilities was unacceptable.

    The Linux community is telling nvidia "we use soap and pants here, if you won't do likewise, we don't feel like accomodating you."

    Nvidia _knows_ they want in, otherwise they wouldent be trying to get in, Linux Don't Care if they come or not, but if they come they need pants...

    Requiring someone to meet minimum standards for participation is not "forcing them" to do anything,

    No pants, no access is not an unreasonable position.

  • Re:And this is why (Score:3, Insightful)

    by ddt ( 14627 ) <> on Thursday October 11, 2012 @04:40PM (#41623223) Homepage

    The reason they won't go open source is that it exposes them to patent lawsuits, frivolous or otherwise.

    There will come a time when we either have reformed patent law, or we have a widely accepted binary ABI like x86 or arm7 but for GPU's, and that'll be the end of this nonsense with the closed source drivers.

  • by TheRaven64 ( 641858 ) on Thursday October 11, 2012 @04:42PM (#41623265) Journal
    Intel did not release their drivers under the GPL. Intel implemented new drivers from scratch. Relicensing existing code is really hard for something like a graphics driver, which contains code licensed from third parties. Oh, and they're under an MIT license like the rest of X11 and the DRI infrastructure, not the GPL.
  • Re:And this is why (Score:5, Insightful)

    by aristotle-dude ( 626586 ) on Thursday October 11, 2012 @04:48PM (#41623349)

    If it leads to vendor GPU drivers being developed in the open then I'm in!

    Why were you upset again?

    Because everyone was arguing that APIs are not copyrightable in the Oracle vs. Google case but somehow you think that they should be GPL? GPL is built on copyright law which means that you are saying that Oracle was right and that an API can be copyright protected.

    Don't be a hypocrite. You either believe that APIs are copyrightable which means that Google should pay Oracle or you don't. If you don't then you cannot say that they are protected by GPL.

  • by jedidiah ( 1196 ) on Thursday October 11, 2012 @04:50PM (#41623381) Homepage

    > rather than the usual GPL zealot approach of Plagiarism-then-shouting-innovation.

    In truth, that pretty much describes the entire industry and creative efforts in general.

    Bitching about "innovation" generally is a smokescreen to excuse abusive, anti-competitive, and monopolistic business practices.

  • Re:And this is why (Score:5, Insightful)

    by Kjella ( 173770 ) on Thursday October 11, 2012 @04:53PM (#41623421) Homepage

    I have a feeling this is very much a "you can't eat you cake and have it too" situation... Linux has managed to badger many companies into eventually providing open source drivers for their various sound cards and network cards and raid controllers and wifi cards and whatnot. I admit, I have used the nVidia drivers quite a bit I'm glad it's not two dozen binary blobs around an open source mini-kernel, which is almost certainly what would have happened if Linux had a well defined ABI from the start. Graphics cards have by far been the hardest since they're huge drivers on top of a quickly changing and complex hardware, far exceeding anything else but they're also now almost alone in needing binary drivers.

    Intel's driver are open source as always while their performance is starting to not suck horribly, AMD's open source efforts are ongoing, even nVidia has said they'd release some tidbits of 2D specifications at least. If you're going for the quick win of give me binaries and give them to me now, why pick this specific point in Linux history? Linux on the desktop is not growing, but it's not dying either and if you include Android then it's absolutely not dying on mobile. With the latest Mesa release Intel is up to OpenGL 3.1 support (3.0 on most other cards) and that's 3.5 years behind the standard - and full Open GL ES 2.0 support. Great? No. That terrible? Also no. Linux has persisted and procrastinated against the allure of binary drivers for 20 years now, if they do it a decade more I think the last pieces will fall in place.

    And for a number of reason I still don't think it'll be YotLD, all open source drivers or not.

  • by TFAFalcon ( 1839122 ) on Thursday October 11, 2012 @04:56PM (#41623459)

    Well DMA-BUF (what this article is about) seems to be pretty innovative. And it is covered by GPL.

  • Re:And this is why (Score:4, Insightful)

    by Richard_at_work ( 517087 ) <> on Thursday October 11, 2012 @04:57PM (#41623463)

    Your argument is a bit off - this isn't about Nvidia wanting to use "Free software" in their "closed source programmes", it's about Nvidia wanting to use an advertised feature of the Linux kernel platform to enhance performance *on Linux*. Nvidia already have access to similar functionality on Windows and OSX (or will soon) - they won't be taking anything from Linux to Windows or OSX if they used the feature Linux advertises.

    All this is doing is hurting ongoing performance on Linux, and people are trying to blame Nvidia because of it.

  • by PeterBrett ( 780946 ) on Thursday October 11, 2012 @05:03PM (#41623557) Homepage

    "Please comply with the very permissive licence that we chose to licence our code under" does not amount to a religious argument.

  • Re:And this is why (Score:4, Insightful)

    by Serious Callers Only ( 1022605 ) on Thursday October 11, 2012 @05:03PM (#41623563)

    The one who tries to insist all code in the world should use their preferred license.

  • Re:And this is why (Score:4, Insightful)

    by ByteSlicer ( 735276 ) on Thursday October 11, 2012 @05:04PM (#41623581)

    APIs GPL only? Seriously guys, WHAT THE FUCK?

    That's not what's happening at all.
    The basic fact is: the Linux kernel sources are GPL licensed. This was an early decision by Linus, and no amount of wishing will change that. There are just to many contributors that would have to approve a re-license.

    Now, the GPL is very clear regarding derived work: if you distribute such a work, it needs to have a GPL-compatible license and provide sources.

    What constitutes a derived work for a kernel? Basically, calling any code from the kernel would create a derived work, so the Linux license contains exemptions for user space code that calls the kernel through the public interface.
    However, in this case the nVidia driver would call an internal kernel function, that is not exempted, so this would create a GPL derived work. The function is so low level that it would create an intimate bond between the Linux kernel and the nVidia binary driver.

    Even if the Linux maintainers would allow this, anyone that wrote any part of Linux could start a court case against nVidia for breach of license. Would that be a better outcome?

  • Re:And this is why (Score:5, Insightful)

    by diegocg ( 1680514 ) on Thursday October 11, 2012 @05:06PM (#41623621)

    Right, because promoting open source GPL-compatible drivers didn't work for Linux.

    Oh, wait, it worked. The Linux hardware support is overall quite good (with many hardware manufacturers working with upstream to contribute drivers). In fact, Nvidia is a minority - Intel has the biggest market share [] in graphic chips (avobe 50%), AMD/ATI is second. Both have contributed open source drivers which are getting better and better.

  • Re:And this is why (Score:1, Insightful)

    by h4rr4r ( 612664 ) on Thursday October 11, 2012 @05:14PM (#41623745)

    Oh noes, you had to write your own code instead of taking others hardwork as your own with no intent to contribute back. What a big problem.

    You would not have sent any patches to the BSD project, that is why BSD is lagging so far behind. Everyone wants to take and take.

  • Re:And this is why (Score:5, Insightful)

    by Svartalf ( 2997 ) on Thursday October 11, 2012 @05:16PM (#41623769) Homepage

    Heh... There's other uses for a GPU and they're not graphics.

    Ever wondered why AMD opened up most of their programming info? Stop and contemplate why they did that and offer off-and-on assistance in the FOSS driver stack at their expense. It's not because of them being altruistic. It's not because they see more than a nascent market for games.

    It's because of the same thing you pointed out. That 10G card is important to supercompute clusters. So's the GPU. I honestly wish people would step back and quit thinking with the blinders you just espoused just now.

  • Hmmm (Score:5, Insightful)

    by AdmV0rl0n ( 98366 ) on Thursday October 11, 2012 @05:26PM (#41623891) Homepage Journal

    I've never really understood so much of the background on this. I really don't. Nvidia are probably *the only* fucking company that really went the whole way and really release the right 'kind of ' full drivers for Linux. Yes, they are closed source binary. Yes, they are proprietry. Yes, they don't comply with religious level political idealogy. But they contribute in a less than optimal way to your platform.

    And your platform, at least in the short and medium term would be vastly shittier without their efforts.

    So, next you publicly go viral dropping a bucket of shit over them. Their response has been moderatly to try to come in and talk, make changes and be more of a interactive unit with you. I bet that the devs inside the company are probably very pro making progress but face real world limits of legal and other things that they themselves are not empowered to fundamentally change.

    I'm not surprised at Alan's answer - but here is my raw take on this. What would have been the better way forward was to take their request and frame it globally to that group of people and put Nvidia's request forward. I appreciate that many would likely answer no, and I appreciate this would perhaps not be what Nvidia wanted, but it would have opened a bridge for interaction and perhaps longer term bridge building. Instead, they get a fuck you, fuck your company, and do this our way or the highway.; What were Nvidia trying to do? Provide an answer to the problem they had a bucket of shit thrown over them in public about. ie - trying to solve a problem they were abused about.

    The benefit of doing this is fixing something in linux - albeit with a closed driver that people asked for. Linux users asked for this. Linux Kernal people bitched about it. Linux coders refusing to help provide this moves this off being a purely Nvidia are a bunch of fucks to shooting your own platform in both feet.

    I don't fucking get it. These bits of code I presume are already fully in Linux. Sat there in daylight .Refusing to let Nvidia use them to help you do something_you_asked for is demented. Or rather - let me reframe that - Its really lame to not engage in a process to find a way forward instead of ramming the ideology down the throat of a vendor who is a closed source bunch - but have come to try and engage with you on a problem.

    Let me put it more plainly. Linux needs Nvidia more than Nvidia needs linux - but together you make something that is symbiotic. You think your mythical Ubuintu tablets are going to surface on the very proprietry ARM platform by not getting down and working with people like Nvidia on problems. Linux won't run 'well' on their platform without their help. You want to be there? Take your heads out of your asses.

    As much as Linux gets hobbled by closed source folks not playing the game, its just as hobbled by killing off their interactions and opportunities by being too hard headed about the religio-political idealogy.

    And a fucking note to the Intel GPU Linux fanboys. The drivers have almost always been shit. And the hardware is low end garbage. I'll take a Linux box with Nvidia GPU *EVERY fucking time over intel gfx. Every time.

  • by Svartalf ( 2997 ) on Thursday October 11, 2012 @05:34PM (#41624017) Homepage

    No, it's not.

    You and everyone KEEP presuming the only space at stake here. There's another and they want to play in this space badly because it's big-bucks for them or they wouldn't have done it in the first place. (Hint: There was no good reason for the Linux drivers they've made to date- because there really wasn't a market for those end-user drivers (these are treated as such by the community, but they're not really for the consumer market...) until recently in the first place.

    Think engineering workstations (early reasons...seriously, for both AMD and NVidia...) and supercomputing clusters using GPGPU computation (There's a reason for the opening of AMD's stuff...that's part of that.).

    If they want to play in that space...they're going to have to change attitudes, much like AMD did.

  • Re:And this is why (Score:4, Insightful)

    by F.Ultra ( 1673484 ) on Thursday October 11, 2012 @05:39PM (#41624087)
    But this is not about the API, it's about linking your code with GPL licensed parts of the Linux kernel. This is nothing like Oracle vs Google.
  • by bug1 ( 96678 ) on Thursday October 11, 2012 @05:59PM (#41624323)

    It was in a niche in 1991 when it was released, now its used in probably a billion devices around the globe, tv, media players, phones, and yes Desktops.

    And you think that the Linux Kernel people, standing up for their Legal RIGHTS against a bullyboy corporation that uses IP as a tool of oppression is bad, and will hold back Linux.

    What do you think Software Freedom is all about, serving the mighty corporation ?

  • by LaughingRadish ( 2694765 ) on Thursday October 11, 2012 @06:19PM (#41624563) Journal
    Can you guess how I know you've never worked in a non-Windows shop?
  • by schnell ( 163007 ) <me.schnell@net> on Thursday October 11, 2012 @06:32PM (#41624689) Homepage

    now [Linux is] used in probably a billion devices around the globe ... phones

    I hope you aren't talking about Android here. Android should no more count towards "Linux" marketshare than OS X should count towards "BSD Unix" marketshare. It's in there all right, but all the parts that make it what people want to use are put on top by somebody else.

  • by jcdr ( 178250 ) on Thursday October 11, 2012 @06:37PM (#41624747)

    The GPU is no anymore a peripheral device, it's more and more integrated on the same die as the CPU. Intel, AMD or ARM have plans to lowering the difference even more on how GPU and CPU will exchange data and will view the rest of the system. Basically, the CPU cores and GPU cores will share the same location into the architecture. This move is not so different from the integration of the FPU core into the CPU that have existed back to the 80486/68040 days. About ten years before the FPU integration, the FPU chips was a lucrative business: this part was so expensive that it was an option that only a few can buy. Not anymore, FPU less CPU are now only found in the lower part of the ARM embedded market. There is no x86_64 chip without FPU by the design of the instruction set. GPU is the next core to get the same integration.

    What this means ?

    First, since Nvidia don't own a licence to build x86_64 chip, the game is actually already over for them. There known that since the failed merge talk with AMD and explain why there focus on the high end and ARM chips since this time. This also explain why Linus Torvalds "fuck you Nvidia" response was focused on the Tegra ARM SoC despite the fact that the original question was about a x86_64 laptop.

    Secondly, Intel and AMD known that sooner or later, the GPU core will be so integrated with the CPU core that there cannot be managed anymore by only a driver to do in a efficient way there new roles aside of the graphic display. The trigger point will probably be when the GPU will passe on the CPU side of the MMU (or something that look like this). At this stage the paging management for the GPU will be almost impracticable from within a driver to cooperate efficiently with the core operating system, not counting the brainfuck crap in case there are not developed by closely related peoples. This don't automatically say that GPU driver will cease to exist for some graphic aspect, but the GPUCPU part will end up into the kernel for the most critical aspects. It's easy to see why on Linux, access to the GPU from a proprietary driver is really not an option for the future (even if the current issue is only about DMA sharing data between devices).

  • by Trogre ( 513942 ) on Thursday October 11, 2012 @06:52PM (#41624907) Homepage

    If we're calling licences such as the GPL "viral" then we should refer to proprietary closed-source licences as "dead-end".

  • Re:And this is why (Score:4, Insightful)

    by Jah-Wren Ryel ( 80510 ) on Thursday October 11, 2012 @07:39PM (#41625351)

    The reason they won't go open source is that it exposes them to patent lawsuits, frivolous or otherwise.

    I've been hearing that for probably a decade. I used to believe it, I don't any more. The reason for my change is that AMD/ATI and Intel don't seem to have had any significant problems in that regard with their open source gpu drivers.

    So, either Nvidia explicitly knows they are violating some patents (and haven't don't anything about it for ~10 years) in which case they are deliberately sitting on a ticking time bomb anyway, or it is just misdirection.

  • by mrchaotica ( 681592 ) * on Thursday October 11, 2012 @09:34PM (#41626241)

    You may argue that the GPL is the big dog in FOSS, but looking around at the various large FOSS projects out there, Linux is the only major GPL'ed software.

    So you've never heard of GCC, or the GNU userland utilities that most Linuxes and BSDs (including OS X) use, or the Busybox userland utilities that all the rest of the (embedded, etc.) Linuxes use? All that's GPL, and (IMHO) more important than the Linux kernel (even though I'm not one of those folks who cares about calling it "GNU/Linux").

  • by MtHuurne ( 602934 ) on Thursday October 11, 2012 @09:59PM (#41626373) Homepage

    Dear /., this is an example of naivete and idealism:

    Naive? Maybe. I'm not an industry insider, so please educate me if I make incorrect assumptions or overlook important issues.

    Idealism? No. I'm typing this on my PC that runs NVIDIA's proprietary Linux driver. I'm saying NVIDIA could release an open source driver, not that they should. (*)

    NVIDIA for one is nowhere near the size or capacity of Intel, in terms of development, ability to make, influence, dominate markets, set platforms... Secondly, who wants to bet who has more patents, strings and connections, and ways to leverage force in the event that all cards are laid bare?

    In a battle with a patent troll, your own patent portfolio, market dominance etc doesn't matter, only that you have a good legal team and deep enough pockets. In a patent battle with a competitor, I don't think open drivers make that much of a difference, since the opponent will have enough expertise to demonstrate patent infringement even without the driver source code.

    Anyway, as far as the GPL is concerned, if it's version 2, then they probably wouldn't have to worry:

    The Linux kernel is licensed under GPLv2 and that is unlikely to change.

    they COULD build inter-operable code and simply...not distribute the GPL code in question, and leave it to the user to download their driver, like, you know, they already do.

    This discussion is not about NVIDIA distributing GPL-ed kernel code, it's about which functions a non-GPL driver is allowed to call. The view of the kernel maintainers seems to be that loading a module makes that code part of the kernel, not a separate program and it is therefore bound to licensing rules set by the kernel. If this is not true, then there is no difference between EXPORT_SYMBOL and EXPORT_SYMBOL_GPL and there is also no need to change the declaration of the dma-buf symbols.

    (*) I would like them to release an open source driver, but I know it's not likely to happen. NVIDIA's driver is designed to run the same code on many platforms, I think there was a presentation that said 90% of the code is platform independent. This approach makes it harder to integrate with Linux though, since NVIDIA has their own solutions for things that Linux and Xorg solve in a different way. So even if the driver source is opened, it would be a lot of work to make the driver integrate well with the existing open source graphics infrastructure. And if that is achieved, NVIDIA would be facing two driver source trees to maintain instead of one, although the Linux-specific one would be considerably smaller than the generic one.

  • Re:Honest Question (Score:5, Insightful)

    by dudpixel ( 1429789 ) on Thursday October 11, 2012 @11:08PM (#41626753)

    I disagree. AMD has had open source drivers (and specs) for years now, and the quality is still terrible. Intel has open source drivers and I still wouldn't choose Intel graphics for anything serious.

    Sure, if all you want is a picture on your screen, then even the nouveau driver will get you there. But if you want fast graphics, like you get on windows, then this licensing crap is just another way of ensuring it won't come to linux.

    If NVIDIA started only offering its binary driver on BSD, windows and OSX, I think it's more likely that Linux users (particularly commercial ones) would switch to another OS, than switch to another graphics card manufacturer.

    If the quality of the other drivers/hardware was better, then that might not be the case, but AFAIC(oncerned) AMD's drivers are a bit flaky (even on windows) and intel's hardware has yet to come near the performance of AMD/NVIDIA.

  • Re:Honest Question (Score:5, Insightful)

    by nut ( 19435 ) on Friday October 12, 2012 @07:22AM (#41629147) Homepage

    I read once (I think in a post on slashdot a couple of years back) that many hardware manufacturers keep their device drivers proprietary in order to hide the details of the hardware implementation.
    And that this is not so much to maintain, "a competitive edge," as to protect themselves from patent lawsuits from their competitors.

    So my reference is possibly not the most reliable, but my point is that they might not be hiding stuff just to screw over consumers. There are many other possible reasons.

"The number of Unix installations has grown to 10, with more expected." -- The Unix Programmer's Manual, 2nd Edition, June, 1972