5 ms·
One thing I guess I don't understand is why Nvidia's own drivers are closed source to begin with. What do they gain by it? Is it that open source drivers would
by icambron 13y ago
One thing I guess I don't understand is why Nvidia's own drivers are closed source to begin with. What do they gain by it? Is it that open source drivers would make their hardware easier to reverse engineer? Is it that the drivers themselves are an important piece of IP, and competitors would learn all these cool tricks they use in their drivers? Neither of those fit my model of the role and value of drivers. It seems like they'd just want to maximize the usefulness of the hardware they sell. But I'm obviously missing something.
Edit: Thanks for the responses. That's quite a variety answers.
- mh- 13y agomore likely: IP encumbrances in code (or specifications) that they've licensed (or licensed access to).
- cookiecaper 13y agoThis is the story they always use when asked. They claim that the board contains proprietary components licensed from third parties, and that it would violate their licensing agreement if the code pertaining to those components was released. This is a very convenient PR move because it shifts all the blame onto groups of unnamed entities, and tends to place the burden on the open-source advocate to get all of these unnamed entities to modify their licensing agreements.
- rosser 13y agoAnd that makes it untrue ... how, again?
- joosters 13y agoNo-one said it was outright untrue, but neither has any company ever detailed which 3rd parties are responsible, so there's no way of finding out just how big a problem it really is.
- takluyver 13y agoThe grandparent post doesn't say that the story is untrue. It implies a certain amount of scepticism, which is probably warranted: Nvidia must have some amount of leverage to negotiate such terms with its suppliers, so if such terms do exist, it's because Nvidia has accepted them. Of course there are other factors they have to consider in those agreements, but that's a more complex story.
- cookiecaper 13y agoAs the others said, it's not that it's necessarily factually untrue, it's just a cop out. If the company cares about open-source, they can neogiate with suppliers directly and refuse to use components with incompatible licensing agreements. The party line statement is structured to make nVidia appear helpless and as if the burden is upon the open-source advocate to get the component vendors to allow their code to go open, but this is not correct. If nVidia cared about open-source, they'd use their clout to make sure they got what they wanted.
- michaelbuckbee 13y agoI'd always assumed it was because they were tweaking things under the hood to specifically target benchmark tests.
- mhurron 13y agoThat's been found several times with both nVidia and AMD/ATI in the past without needing to see the driver sources.
- bni 13y agoThe nVidia proprietary driver (same codebase both for Windows and Linux) is chock full of optimizations for specific game exes. Today games are the benchmarks, and optimizing for that in the same way I think is very reasonable. This is not "cheating", it is what makes the graphics in todays games possible at a resonable framerate.
- syncopate 13y agoI'd say NVidia use closed source mostly to push Cuda instead of people trying to use openCL. E.g. their OpenCL driver imposes 3GB memory limits (or at least used to in the past) for kernels but with Cuda they will enable 64bit if necessary (on the same gpu hardware).
- dman 13y agoCouple of guesses a) If the drivers were open patent trolls and competitors would sue. b) I have heard stories about some graphics vendors who have a lot of duplicated code in their drivers for supporting different generations of cards. Instead of building abstractions that achieve generality theyve succumbed to the copy paste rabbit hole. c) If we all saw the mess that lives in the drivers none of us would be okay with it running it as a kernel module. d) There are questionable optimizations that vendors would be caught on.
- angersock 13y agoa) and c) seem likely. Also, if folks had the source, they'd likely start doing optimizations for particular cards and drivers--that being the case, there would be a really gnarly backwards-compatibility issues that would start to plague vendors.
- tedunangst 13y agoThese problems almost entirely disappear by providing documentation. Nobody that I know is literally asking for the source to the Windows driver.
- johntb86 13y agoYes, then all they'd have to do is hire a bunch of people to write documentation, like AMD's done for their open source driver. To the extent that they have documentation currently, it's likely wrong, incomplete (because the driver guys can just ask the hardware guys what's up), and it's got various trade secrets and future device plans in it.
- qznc 13y agoe) legal department requires too many changes/check (no swear comments, proper licence headers, ...) so it is too much work f) convoluted build process which is impossible to recreate outside NVidia g) some code is licenced from somebody else h) obvious NSA backdoor built in
- zanny 13y ago
- sliverstorm 13y agodrivers themselves are an important piece of IP I think it's this. From what I've been told, the line between software (driver) and hardware (graphics card/chip) is blurry, and moves around from generation to generation. The "graphics processing model" is only partly executed in hardware; the rest is in software.
- drewcrawford 13y agoDisclosure: I very briefly worked for a competitor. A) Drivers reveal a surprising amount of "secret sauce" for a GPU. The "public-facing" interface to a GPU is something like HLSL or GLSL, but the real interface is some proprietary ISA. The manufacturers are slowly moving in this area, but the culture of the ISA being proprietary remains. That leads to things like implementation details getting inserted into ISA docs, or code comments, or driver architecture designs, because they're for internal use only anyway. This philosophy is slowly changing, but it's still the case quite a bit. B) There's much less difference than you would expect between a $500 gaming GPU and a $2,000 workstation GPU. It's totally plausible that you are one FOSS driver away from a much more expensive GPU. That is a problem for everybody, including the gamers who want to keep buying $500 GPUs. C) There is a VERY complicated balance of power between OEMs (who control the purse), Intel (who sometimes competes and sometimes complements the video card manufacturers) and Microsoft (for better or for worse, a de facto standards body) and increasingly, new kinds of competitors like PowerVR. So this is just a hypothetical, but one way it could go down is like this: NVidia decides to fully embrace FOSS. Microsoft gets pissy and tries to write them out of the standard. NVidia forced to lower prices to get PC makers to buy. Apple swoops in and places a huge order of the now-cheap parts. Intel gets pissy that Apple is shipping too many Nvidia GPUs per Intel GPU, raises Apple's CPU pricing to cover the loss. The price of Macs goes up driving some customers to iPads. PowerVR's royalty fees double, and since they don't have to manage any inventory, they are increasingly more attractive to investors than traditional manufacturers like NVidia. NVidia's stock price falls, and some C-level forgoes a vacation in Europe.
- Dylan16807 13y ago> B) There's much less difference than you would expect between a $500 gaming GPU and a $2,000 workstation GPU. It's totally plausible that you are one FOSS driver away from a much more expensive GPU. That is a problem for everybody, including the gamers who want to keep buying $500 GPUs. I wasn't aware that there was a difference at all. Haven't there been cases of changing a single resistor to switch the card's mode?
- H3g3m0n 13y ago
- Jasper_ 13y agoThe Windows driver and Linux driver are based on the same codebase, and NVidia is (rightly so) afraid of security issues in their drivers that could allow somebody to hack somebody's computer remotely with a special TF2 map or somebody.