NVIDIA Responds To Linus Torvalds
jones_supa writes "NVIDIA's PR department has issued a statement following the harsh comments by Linus Torvalds last week where he referred to the graphics company as the single worst company he's ever dealt with, called them out on not supporting Optimus, and other issues. Basically the company replied they're committed to Linux using their proprietary driver that is largely common across platforms, and this allows for same-day Linux support with full OpenGL implementation. They also say that they're active in ARM Linux for Tegra and support a wide range of hardware under Linux. Despite having not made any commitment to better support Optimus under Linux nor providing technical assistance to the Nouveau community, NVIDIA assures us that 'at the end of the day, providing a consistent GPU experience across multiple platforms for all of our customers continues to be one of our key goals.'"
Basically the company replied they're committed to Linux using their proprietary driver that is largely common across platforms, and this allows for same-day Linux support with full OpenGL implementation. They also say that they're active in ARM Linux for Tegra and support a wide range of hardware under Linux. Despite having not made any commitment to better support Optimus under Linux nor providing technical assistance to the Nouveau community, NVIDIA assures us that 'at the end of the day, providing a consistent GPU experience across multiple platforms for all of our customers continues to be one of our key goals.
Posting anonymously because some people are _incredibly_ opinionated on this subject, but not everybody has the opinion that everything linux related must be open source. Linus Torvalds, while a visionary and certainly one of the most technologically-minded people of our age, disagrees with this, and that's too bad. Just because Linus Torvalds thinks you're doing it wrong doesn't necessarily mean you are.
Cheers.
Most common excuse for don't open the source for drivers is IP. But most part of times, the real reason is users will see there is no difference in hardware between standard and platinum cards.
I think Torvalds less critical of closed source drivers and more critical of closed specs. Nouveau would be improved greatly if Nvidia provided more transparency on the hardware.
They should have blasted him for not having a consistent set of APIs and changing things, often for little benefit, which break binary compatibility and make supporting Linux in all it's variants a mighty task.
Sure, Linus made Linux and uses it to push his agenda (i.e. that of FOSS), but when Commercial software houses struggle to keep up with the changes, I don't think he should be blaming them. Instead he should look more at what Linux can do to help non-FOSS software exist on the platform without needing a full time 10 man team just to keep up with the ports.
They're saying "providing a consistent GPU experience across multiple platforms for all of our customers continues to be one of our key goals".
So, my interpretation of that is:
"If we released the drivers as open source, then people might figure out how to optimize and tune the Linux drivers. This could result in a better GPU experience on Linux than under Windows. That would embarrass us. To ensure a consistent experience across platforms, we therefore must prevent others from tinkering with the drivers, which mandates closed source."
Does anyone else read it that way?
It is positive sign that they care enough about the Linux community to bother to have their PR department give the usual empty corporate zero content response.
90% of the code used in the Linux driver is shared with the Windows driver, that was a claim made by one of their developers on their forums I read a year or so ago. Open sourcing the code is out of the question as all of that code isn't just from internal employees, as getting everyone who has written lines of code to agree to their code being available under a open source licence would be a huge task. Documentation would be great, there's the issue of IP though there. To be fair to Nvidia, they actively support Linux, I've used their cards for years and have never had much of an issue, in the old days, it was just a matter of shutting X11 and running their installer, it built the kernel module and you were good to go. Nowadays every distro I've used has the packages ready out of the box. I think Linus pain comes simply from running pre release kernels and expecting them to be supported before their even released! Nvidia normally provide patches in these situations anyway so I don't understand what Linus really wants them to do.
what!? Did you even read their statement?
3) We are a very active participant in the ARM Linux kernel. For the latest 3.4 ARM kernel – the next-gen kernel to be used on future Linux, Android, and Chrome distributions – NVIDIA ranks second in terms of total lines changed and fourth in terms of number of changesets for all employers or organizations.
(emphasis mine)
Unless you yourself are even more active in Linux then they are, it would be more appropriate for them to say to you ... Fuck You.
Basically they're confirming Linus' words, not denying them. Linus never said that they don't make good drivers. He said that they suck at doing open source, which is an objective truth. Their response is that they do that because they don't want to invest resources to specifically support Linux. Which is exactly what Linus was upset about.
I haven't had an NVIDIA driver work the same in Linux as it does in windows. Ever. Random screen blanking (nouveau driver), weird X errors (poly request too large or internal Xlib length error) and re-compiles every time there is a system kernel update. In comparison, all you need to do in Windows to get the NVIDIA driver working is hold down the enter key with a stapler while it's installing. Accept all the defaults. reboot. it's working.
At "the end of the day" this is not consistency, it's crapsistency.
Join the Slashcott! Feb 10 thru Feb 17!
These days I have a GTX460 and I get tearing all the damn time. I have turned off compositing, I have turned it on, I have switched to xfce I have tried gnome3.
I hear the Open driver would fix this. If you can't even stop the tearing, then let someone else write your drivers.
Open source software in general has (among others) some practical advantages:
With a closed source driver, those 2 options are thrown in the trash. This is especially important for hardware drivers, if there's no way to patch drivers to work with newer versions of an OS (or another OS), then no further driver releases basically means: "throw away your graphics card".
The net result may work fine for many people, but it tells me NVIDIA puts their roadmap before their user's roadmap(s). I read that as marketing, not user support.
So, maybe we could get Bay State voters interested in open other things?
Yeah, you're right, who's this Linux Torvalds to judge who contributes to the Linux kernel and who doesn't.
it's common for perfect chips to be marketed lower than what they can actually do.
You do realize that the whatsit where the defect is doesn't actually work, right?
For one thing, perfect chips get marked as defective if there aren't enough defective chips to meet the demand for low-end hardware. For another, there are probably only a small number of bins of numbers of defects. If there are models with 48, 64, and 96 working whatsits, and 63 of them work, it'll be sold as a 48, and drivers won't be able to use 15 of the working whatsits.
So ATi opens up, and the community COMPLETELY failed to deliver a usable solution. WTH should Nvidia care? The FOSS community has already shown that they can't do it. Mod me down if you want, but I speak the truth. We failed. As long as Nvidia continues to provide a driver that works, and works well (which it does), then I will always use Nvidia cards.
I have nothing clever to put here...
Openly bashing NVIDIA for doing things their way is wrong, because it's their product, and, therefore, their decision.
The right to make a decision does not include the right not to be criticised for the descision one make.
As a former NVIDIA buy and a long time AMD owner I must respond to your ignorance AC. AMD over the last 2 years have release drivers as stable as I've ever had. Even better than NVIDIA's. Oh and they have community support for Linux with specs that they are willing to share. But go on with your ignorant bashing of a quality company with very strong cost effective products.
because it's their product, and, therefore, their decision.
As long as they don't sell it. Once they sold their products to millions of user, they are also responsible for that what they are selling has no built-in secrets what so ever.
NVIDIA sells hardware. That's one market. NVIDIA distribute software. That's an other. Not releasing the information about their hardware creates a situation where NVIDIA (an the rest of the hardware market virtually) is abusing its market leading position on one market, to sniffle the other. All this because of contracts all around between Microsoft, the gaming industry and so on. For fuck sake, that's my fucking video card, I'd like to know how to use it. I didn't by with a computer, and I could use it in a completely different architecture. No, they narrow the market choices, to control not the product, but the customers, so they can get juicy extra money through anti-competition deals from software companies.
No, I'm happy to openly bash them repeatedly for making a choice that sucks. Yes, it's their choice to make. If I didn't think that, I would be advocating they be sued to force them to make a different choice. Otherwise, I'm expressing my opinion of their awful and stupid choice. And I should be perfectly free to do that. It's not like freedom is a one-way street here.
Need a Python, C++, Unix, Linux develop
I wouldn't call Linus's off-the-cuff speech "bashing". While his exact words were "Fuck you, nVidia" it was in a jovial sort of way. Americans might not understand, but for most English speakers (especially Brits and non-natives) "Fuck you" is not always incredibly harsh.
His main criticism was, they were making a lot of money off Linux (selling chips to run Android), and were being difficult to work with.
Also, it was an off-the-cuff remark. He's not a Presidential candidate or CEO, he's a programmer. Some people talk in a way that PR flacks don't, and if they are well known it causes a bit of a PR shitstorm. The media reports their "rant", instead of the 49 other minutes before it, in which they were speaking quite insightfully.
Seriously, everyone knows about the Tanenbaum–Torvalds "flame war", in which Linus came up with such withering remarks as "linux still beats the :-)", and sprouted fanatical anti-free-software rhetoric like "For the true hacker, not having source code is fatal, but for people who just want a UNIX system, there are many alternatives (albeit not free)".
pants of minix in almost all areas", and Andrew shot back with things like "You would not get a high grade for such a design
Strong stuff.
I guess people are more interested in shit-slinging (or even pretending that there was shit-slinging) than the technical points these guys raise.
I've heard Linus is a bit mean at times (rejecting patches? refusing to mentor new contributors?), but the idea that he's an angry angry man seems to be more myth than anything.
I don't know.... Right now, I think both AMD and nVidia have pretty good handles on how to produce graphics boards consumers think are worthwhile. They could start copying every single innovation that each other formerly had as "company secrets", to the point where both brands of board performed absolutely identically in benchmark tests -- and STILL, I suspect they'd both sell about the same number of boards as before.
The real problem is, the marketplace has consolidated so much, you really only have these two companies as your choices for a 3D accelerated video chipset. Intel is trying to work their way in as a 3rd. player with accelerated, yet integrated, graphics chipsets -- but truthfully? I doubt they'll seriously chase after the high-performance graphics market in any serious way. For them, it's more lucrative to offer decent/usable levels of performance for the typical user and compete on having a lower price.
Once upon a time, we had choices from companies like Matrox, Diamond, Hercules, Trident .... Not so much anymore.
Everyone is upset NVIDIA doesn't give away all it's secrets. There hard earned property. that they built. Why not go the more open route and create one set of driver standards for video cards. VESA -- everyone knows the standard and its up to the manufacturer to optimize their side and on the consumer side you get what you asked for.
This is actually a battle over special features -- my hardware can do some pretty sweet stuff, but I wanna control how you can access that stuff. the concept from above still applies, but there is no incentive for the hardware designer to devote resources (people and the salaries they have to pay those people) to help you bang out that new framework.
I love open source, but it's built on peoples free time. Companies have to justify how something makes them money. Saying this will build product sales in a 10% market share is not enough. So come halfway and get the framework done and they will optimize their side. This is the best of both world I get a product and they stay behind their doors, but it's a blackbox I can use.
They all think there is secret sauce in their product with some genuine trade secret level information.
In reality, having seen the secret sauce from a 3rd party perspective a few times, it turns out that often times the competitor is doing it basically the same way. So the only people being hurt by not publishing the hardware specifications (as was the normal state of things until the late 1990's) are the hackers and budding engineers trying to make the product better in some way.
In the case of graphics companies, it seems they are somewhat justified for not releasing the source to the proprietary drivers, as that is such a huge part of their performance work (aka sometimes the games aren't faster because the hardware is faster, they are faster because the driver is using a better algorithm, or has more micro optimization). Not releasing the hardware specs is just silly, because at this point, a big portion of the graphics chips are understood well enough that releasing information on mode setting or shader setup is more like filling in the details, rather than giving away any secrets.
The Optimus stuff is a prime example, its basically just going to be information on enabling/disabling parts of the chip or setting power envelops for certain functions. The real secret sauce is how to use that information. I have a similar issue with my little NAS box at home based on a guru plug. Marvell claims to be open source friendly, and gives away specifications that look good until you actually try to do something like power down an unused sata port. Then your SOL without the NDA, because knowing the register which controls the power gating is some kind of secret....
Mostly, what is being hidden is the fact that the emperor has no cloths.
It makes the Linux and open source communities look bad when the man who has essentially become the face of it all is publicly throwing childish profanities at a major company for not offering software to Linux users in the way that he thinks they should. If we want help from other hardware manufacturers down the road then we should at least appear somewhat civilized. I enjoy using Linux but don't appreciate that this is how my best interests are being represented.
It's enough of a miracle that nVidia has thrown a bone to Linux users at all. I have always appreciated that they have taken the time and effort to make Windows alternatives more viable. I would really rather not bite that hand...
/* No Comment */
It's certainly not impossible to do, but there's a huge difficulty. Computer architectures today involve a lot different bits and pieces from different manufacturers. To get all the pieces from completely new manufacturers who are willing to give all the specs, I mean, ALL THE SPECS is pretty hard given that most of the existing companies are involved in some market distorting practices, such as patents, holding back the manuals, and copyright and other bullshit.
Even worse, because we already have a billion-magnitude user base who have gadgets and computers based on standards which come these dodgy practices, a completely new architecture would be doomed to fail because the market is saturated in terms of available options that consumers are willing to choose. You have to serve millions of legacy apps and if the new brand fails any of that, the system will not last long. I mean, you can see here and elsewhere that the consumer culture of technology is deliberately was kept in the dark, and now the darkness dictates not any rational sense. So, when somebody considers a new phone, don't give a shit about the actual technical issues or the software maintainability on the really long run, only the cool factor and the possibility of running the Angry Birds. Symptomatic to our age, the consumer age, where everything made for throwing away in order to generate false growth. Anyway, a completely open architecture would be enormous advance in our life time, but it must measure up to the currently existing technologies right away, or will phase out without a trace.
There's what they say... And then there's the code.
If they're really contributing as much as they claim, then why is the mainline cpuidle support for Tegra in 3.4 so piss-poor compared to that of their own forked 2.6.36 branch? Where's the documentation on their CPU's idle/power management capabilities? Why is the Tegra code so badly branched that devices running Android 4.0 on Tegra are running 2.6.39 instead of the officially recommended 3.0.8?
retrorocket.o not found, launch anyway?
First off, Nvidia are buttheads. They are. But they also have a right to make money. Apple, EA games, Sony, Intel, and on an on - they all operate this way, as does 99% of business. Where Nvidia is wrong is, well, where can I go out and pay $5 or $10 for a driver from them that works? You see, part of it is that the companies say that they offer a proprietary driver but I can't actually go out and BUY it from them or obtain it from them.
But this brings up the other side of the dirty coin, as it were. That the Linux (in particular) community seems to have a major issue with paying for anything. I have zero issue with paying small fees. I do it all the time. I pay for my sandwich at lunch, my gas in my car, and well, pretty much everything in life. I just want a solution and to move on to the dozen other things that that I have to do during my day. So there's this great divide. They often don't even deal with issues or fix things at all, because it requires paying "the man" or using their code. ie - if it's not free and 100% open-source, we won't touch it at all.
It's just as bad as Windows. They have effectively decided that you're SOL and stuck with their vision of 100% free or it's impossible to obtain view of their OS (which while open-source, is controlled on most Distros by a group of whingey, anal buttheads that might as well be CEOs at a typical software company, since they control the project with an iron fist) And this filters down to the forums and "help" groups that are as useful as a wet rag most of the time. Yes, the people mean well, but it's always "just install this". Without any explanation or documentation. Instead of mentioning the exact codecs you need to buy, they just will say "there is no package for that". No link - it's this attitude that if it's not 100% free, we don't even mention it or link to it.
This idiocy is most apparent with "projects" like Wine. There has been a long-standing mouse driver issue that never gets discussed, fixed, or worked on. Because the code to make it work, is proprietary and there is no work-around (requires paying Microsoft a small fee, and their code is the only way to make it work properly). Cedega had a version of the driver that worked. Cedega went out of business, and as an end-user, stuff just stopped working a few months ago. The mouse driver(among other things like sound drivers and so on) and is effectively locked away as it's Cedega's proprietary (and legally protected) code. Wine won't release it.(yes, these are the same people) The official response over at Wine is "there is no fix". There is an actual fix, but they refuse to release it or make it available for a small fee.
They whine about everything having to be open-source to the point of acting like it's a holy war, and yet when there's money involved, the same people don't act any different than Nvidia.
Me, I just want to pay my fee and get on with my life.
Ah, hang on. I can remember when the railways were de-nationalised in this country. The morons who got the control suddenly decided that people who used bicycles were going to have to pay for their tickets and their bike's space on the train.
So the people who had bikes had a choice, use the bike or use the car.
Uh, so the bikes take up space that could otherwise be used by paying passengers, but you don't think you should pay more? So if someone rides the train but doesn't take a bike with them, they should subsidize those who do by paying the same?
You're either using a poor analogy to make your point or you don't seem willing to acknowledge the concept of paying for what you use. Unlike the railroads, nVidia is in competition and is trying to keep a competitive edge. We may disagree with them on how they are doing that, and we are free to criticize them. They are free to ignore us, and we are free to take our business elsewhere.
I can mend the break of day, heal a broken heart, and provide temporary relief to nymphomaniacs.
Yeah, it's clearly the aliens teaming up with the Illuminati to suppress linux graphics drivers.
This space intentionally left blank
Did it occur to anyone that optimus (as written) won't work on Linux.
Well to be more precise, the way Nvidia does optimus in Windows won't work on Linux, and thus can't work with their strategy of "rebuild the same driver as on Windows and throw some shitty wrapper module in between".
Basically you have to have hardware carveout memory shared between the two graphics units (nvidia and intel integrated) and that memory model doesn't mesh with the linux driver memory model
Indeed. The linux kernel has a way to do such routing from card to card. It works. Even to the point that it's possible to do crazy stuff like ouput 3D on an external USB LCD display pannel, which was accelerated by the GPU card inside the computer (as long as the GPU card has an opensource drivers). There are even some prelimilinary support in GIT repositories to get the Nouveau drivers (done only by reverse engineering, without Nvidia help) to do exactly that: route the Nvidia's ouput through the onboard Intel GPU.
But no, Nvidia doesn't play nicely and collaborate with this technologies, they prefere to do their things their way even if it doesn't work for optimus.
(and maybe even the open source intel integrated driver).
Indeed, on Linux Intel officially use an opensource drivers which was written by Thungsten graphics and which runs on Mesa (for older hardware) or Gallium3D (for newer hardware). Nvidia doesn't want to spend the effort playing nicely with those.
Also you have to (virually) unplug the graphics which means state-save and state restore which isn't just limited to the graphics, but the PCIe hot-plug driver as well.
Tha'ts what "switheroo" is for and it works (although that a restart of the X server might be needed for now, Works on Wayland too). the PCIe hot-pluging has been present since long time in the Linux kernel (in fact, Linux tend to have more support for crazy attempts at hotplugin. Including bat shit crazy stuff like hot-plugin not electrically-hotpluggable interfaces like IDE, or even replacing live memory modules. Of course there's a risk of crashing a controller or frying electronics, but from the software side the abilities are here).
No doubt nvidia got these working on windows with great effort, but there's no such infrastructure in Linux to fit their driver into, and there's little incentive for nvidia to do this work {...} So if the linux community would just provide the infrastructure for Optimus for the nvidia driver,
There are the necessary infrastructures. They are currently used with more or less success for opensource drivers, including for Nouveau. It's just that Nvidia prefers doing things their way, which is among other using their own in-house facilities instead of playing along with what everybody else is doing and refuses to collaborate with kernel developers in order to find a solution to have support for what interface they need between the in-kernel facilities and their own driver.
This is really bad, because for some optimus configuration, this can mean no display AT ALL. (At least not without switching to Nouveau once the specifics get reverse engineered).
you might just see that feature pop-up in their closed source driver.
No, you won't. Because their official position is:
Basically the company replied they're committed to Linux using their proprietary driver that is largely common across platforms
Translating from PR-Speak to geek-english: they reuse their windows code as-is and only slap a crappy adaptor module in between. They prefere doing things their way, because it's easier for them, and don't want to play nicely and collaborate with kernel development to use the facilities that everyone else is using.
They might start to offer optimus, if there a too big buyer pressure on them, in which case, they'll jus
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I'm going to third this opinion. I make my living writing and maintaining Linux-based 3D simulators for the FAA. We use only nVidia cards, and only the proprietary driver, as we just can't get the performance out of nouveau or ATI's joke of a driver.
Hell, I remember at my last job when we got our first 8800GTX, and the Windows driver was completely borked (couldn't disable vsync, control FSAA, anything), but the six month old Linux driver we were using gave us 150fps on a dual-channel setup to drive the HMD, right out of the box without any tweaking. nVidia's on the right track, their universal Linux driver is pretty much always fast and rock-solid.
That being said, I have a Radeon on my home PC (Windows box used for gaming), so I'm not using nVidia at work by choice. We don't have the luxury of choice.
Maxim: People cannot follow directions.
Increases in truth directly with the length of time spent explaining them