Nvidia PR Responds To Torvalds' Harsh Words
phoronix.com
phoronix.com
Basically, they recognize that they don't support DRI2/KMS, or libva, or hybrid graphics. And they don't care. They think their stuff works better for them and the customers they care about. And they don't expect this to change.
I guess I can respect that, even if I disagree.
(Then they go into PR mode in the final point, arguing that NVIDIA has contributed lots and lots of Linux patches for the Tegra SoCs, which is obviously true but irrelevant to the controversy.)
This is right in line with 'we support our customers/users' not whatever the Linux kernel guys feel like doing today.
So sure, if "customers/users" includes the only handful of 3D content shops out there running linux toolchains, and not the millions of people buying NVIDIA-enabled laptops, I guess it makes sense. But for everyone else it kinda sucks.
Is it? If my computer boots up directly to X anyway, why do I care about a framebuffer beyond the standard vesa stuff?
PS: If Linus would get off his high horse about closed source drivers, and commit to have at least a somewhat stable ABI, that would do more for hardware support on linux than 1000 years of ranting and moaning, which if anything, will only alienate the hardware makers even more.
... then he would be Microsoft and Apple, and not an Open Source operating system developer, maintainer, producer, and evangelist. All his years of working openly and freely will be squandered and his life's work beholden to closed-source, closed spec device manufacturers.
Live the open source dream if it makes you feel good. I live in a world where if it doesn't work, I couldn't care less about it.
Pragmatism > Dogma
Do you have any examples of situations where this is making us "MORE" beholden to third parties? I honestly don't see many (though in the SoC space, the PVR drivers are a very similar situation).
Nobody I know with an AMD GPU uses the propriety fglrx drivers.
If that's not what you are after, then I don't know what more than working KMS and enough "umph" to run a compositing window manager you could need.
Something that NVIDIA refuses to support :)
Hardly. NVIDIA says they "made a decision to support Linux on our GPUs by leveraging NVIDIA common code, rather than the Linux common infrastructure." HN responder says that's bullshit since they finally support RandR. I point out RandR is not 'Linux common infrastructure' but a Xorg technology and supporting that is very literally "supporting Linux ... by leveraging NVIDIA common code" because the NVIDIA common code is targeting Xorg technologies and not Linux specific ones.
Then you move the point to something completely different.
NVIDIA is clearly not interested in providing any Linux only support. Don't expect them to support anything under Linux that isn't also common to other platforms they support.
(FreeBSD has commited to support for both, btw).
I have an Optimus laptop (Thinkpad W520) and that's not really true. The problem is that you can't run both the Intel and NVidia chips at the same time without it being a PITA. If I want to use my internal display while I'm on the road, I move my NVidia Xorg.conf out of the way and it's fine. I'm not saying it's optimal, but it definitely works.
It is refreshingly blunt, i'll give them that.
So, I'd still take ATI over nVidia due to ATI's much better Open Source drivers with some development done by ATI, though I'd take Intel over ATI for having entirely Open Source drivers with much more direct development from Intel.
And yet, the performance is still an order of magnitude worse than the proprietary driver (last time I bothered to compare them, anyway).
* The architecture of our driver did not fit with the subsystem we were playing in (this was a SCSI module). We worked with the package maintainers, and without a near complete re-write of our code, it would not have been accepted.
* Part of the above design was cause by cross-platform code we had (parts of the driver was shared between Windows, Linux, AIX, others).
* When supporting customers that run older version of a distro, there would be no-way to give them the latest features if the code was part of the kernel. So our latest product offerings would be incompatible with older systems. We would have been at the mercy of RedHat and SUSE to backport our drivers into their older releases. (or would have had to pay them a lot of money to do it).
We had a driver that basically started development in 1997 or so, that there was no-way we were going to rewrite it just to get it into the linux kernel.
For us, it was just way cheaper to supply the drivers outside of the kernel.
While that's certainly fair enough, and rational in economic terms, when a user base reads between the lines that "you're not worth spending the money to do things properly", I can also see it eliciting a more visceral and less rational response such as Linus'. I think that in any case though, money isn't the issue so much as Nvidia wanting to not share their toys.
Unfortunately, "Yeah, so what?" is not the kind of PR you want here. This was an opportunity to go "Yes, that's how it is now, but in the future, we're planning on supporting all this wonderful stuff on Linux!"
Instead, it's an advertisement for ATI/AMD's Linux support.
Linux support is another level of shitty in comparison.
It was? They didn't even address the huge issue that it was Linus, the guy who created Linux, exacting the criticism.
What gets me about Linus' response though is that he's constantly labeling free software advocates as "religious" nuts. Nvidia's stance seems consistent with a certain pragmatism that I'd have thought he was fine with. He's had no aversion to using closed source proprietary software when it suited his purposes (eg. Bitkeeper) But now he's upset that Nvidia don't want to play ball?
Having said that it's nice to see him make such a strong statement that I wholeheartedly agree with, just wish it hadn't been so long in coming.
Linus probably doesn't care if Nvidia wants to keep their GPU _accelerated_ drivers closed for desktop machines.
Nvidia Optimus is what Linus is talking about. It switches between an Intel GMA and an Nvidia GPU "transparently" for power saving reasons. Nvidia gave the whole Linux community the shaft and didn't provide any Linux support at all for those laptops and notebooks.
Laptop and notebook designers generally end up with designs that only work when power saving works correctly, and the failure mode isn't "runs slower," it's "catches fire and destroy things." So the lack of any help from Nvidia is not something that can be ignored - your laptop will be worse than useless if you put Linux on it.
This is why (my guess) Linus is so upset.
That's a typical hardware company's response - deliver only half-baked functionality and leave the debugging to platform integrators. Nvidia reaps the marketing bonus points. Laptop companies have to put in the time to actually get the power savings.
Still, I don't think many people were aware that Linux wasn't (ever * ) going to work on Optimus laptops and notebooks - and Linus' comments have helped raise awareness of the issue.
* Until Linus and Nvidia make up.
Optimus causes headaches to many more people than just the Linux community.
I can only admire the guy for what he has created and accomplished. He is, without dispute, a key figure in the history of modern computing.
And, he can be a real asshole.
I have not watched a lot of his talks, just a few. The two that stick in my memory is one at Google and the one where he, well, makes friends with nVidia.
In the Google case he tells people who are in the room that they are stupid. In the nVidia case he tells the entire company "fuck you". How unbecoming.
While I found both talks to be very interesting, as a professional, I don't take kindly to this kind of behavior. It really diminishes the person in my mind to the level of an immature kid. Sophomoric behavior and jokes have their place and time.
He seems to admit that he is not polite and that he found a need to be direct. OK. Armed with that information one ought to temper childish impulses to engage in that sort of name-calling. One can be very direct and firm in making points and voicing opinion without resorting to diminishing and talking-down to those you are addressing.
Here one of Mark Twains sayings is very appropriate: "It is better to remain silent and be thought a fool than to open one's mouth and remove all doubt."
He should stop and think for a fraction of a second before verbally defecating all over his audience like that. He is and should be smart enough to understand the value of not being a jerk.
Perhaps he should read Dale Carnegie's book or take a course. Far more could be accomplished with nVidia or anyone else if the conversation was professional, civil and with a goal to understand both sides and attempt to find common ground.
I think you are a a stupid asshole. Fuck you! Your work is stupid. Your ideas are stupid and the choices your made are stupid.
Of course, I don't mean that at all. Not even for a microsecond. Now think about how you would have felt if my reply to your post contained that. And if I meant it.
Would you be inclined to have a conversation with me? Or work with me? Or attempt to find common ground? Or even have a discussion where we could continue to disagree yet still be able to explore each others' mental space?
Probably not. There is no excuse in my book for being a jerk in almost any context. No matter who the person might be or their prior and current accomplishments.
"Based on what I learned writing Git the people who wrote Subversion --who, at the time, created a great product-- may not have made the best choices"
and what he said (paraphrasing):
"...what you did is stupid and you guys are stupid..."
The first shows respect and consideration for professionals that built a tool that was well-received and used by thousands to great effect. Yes, as things go, a different approach could have been taken. That is always the case with technology.
The second form, which is the approach he took, shows no respect whatsoever for anyone and utter admiration for his own capabilities.
I don't know about you, but you talk to me like that and good luck gaining my engagement in anything of interest to you. It would be over in a microsecond.
The polite version of your impersonation is "I disagree." which is a worthless comment; the polite version of Linus' is more or less exactly what he said, minus the hand gestures. He actually said something while you did not.
Having strong disagreements is part of life at many levels, not just business. Resorting to name-calling and insults when this happens is a formula guaranteed to not get anyone what they ultimately want. Linus is lucky that he is who he is. Anyone else would not be invited to a second talk, ever, for behaving that way. He gets a pass because he is a rock star.
The distinction here is between publicly deriding someone and having a private argument (with yelling, screaming and name-calling if you'd like). In some circles private arguments can get rather heated and might even descend into name-calling and personal attacks. I am not saying that's OK, but if it is going to happen it should be in a private setting. Once you cross the private-public threshold and deride someone (or an entire organization) in a very public way you are ringing a bell that cannot be un-rung. That is not professional behavior. Period.
This has nothing to do with the use of profanity. Under some circumstances profanity can convey a message far more efficiently than half a page full of sentences. That is not the problem.
What you and others might fail to recognize is that the question he was asked and the opportunity he had was golden. It was an opportunity to connect need with request. Rather than telling nVidia to go fuck themselves he could have taken the opportunity to deliver a mutually beneficial message that could actually produce the desired results. Maybe something like this:
"nVidia produces some of the most amazing graphics hardware in the market. While I am not a gamer I understand what they are doing and have come to appreciate the level of performance and features they put into their products. We, unfortunately, have an issue with regards to the way they've chosen to support <chip name> in Linux. I understand why they are choosing that path but would sure love to re-engage in a discussion in order to see if we can find an approach that would bring to Linux what we need from nVidia without causing them undue support issues. It is also important that you, the audience present here and watching this online engage with nVidia and voice your support for an approach that serves Linux well"
That was seat-of-the-pants but the general idea is that you take the opportunity to build a bridge, not set-off a dynamite charge that destroys it. I guarantee you that such an approach would have resulted in far more engagement than telling them "fuck you!" in the best 15-year-old pimple-faced kid style.
I also don't know if those voicing support for the "fuck you!" approach on this thread have much business experience. This is not a put-down, it's just reality. If you are in your early twenties it might feel like the best approach is this in-your-face-and-very-public approach. Give it another ten years and a few more cuts and bruises and your opinion is likely to change.
Perhaps I've been fortunate. I got into a very professional work environment from about nineteen years old and never looked back. I have never --ever-- had to deal with people who treated any other professional in this manner. Disagreements? Yes. Heated debates? Absolutely. Going for visceral ad-hominem attacks? Never. Bad idea.
Don't believe me? Try it and see how far you get. Remember, you don't have the rock-star pass card.
Your example of rude text boiled down to "I disagree", once you stripped the profanity. Sorry for the confusion.
Anyway, nVidia doesn't really give a shit about integrating better with Linux and I must say that I, if I were in their position, would not either. Their engineers, more than anyone, fully understand everything Linus could have possibly said. They know the issue inside and out already, and their best option simply isn't the best option for everyone else.
Linus knows this, and didn't waste his breath.
It's not about engineering, it's about business and inter-personal relations. Skills that Linus, from the admittedly narrow sample I've seen, does not seem to have mastered at all.
Of course, we can keep playing the "pretend there is no context" game if you want...
The one about manipulation?
> Far more could be accomplished with nVidia or anyone else if the conversation was professional, civil and with a goal to understand both sides and attempt to find common ground.
Yeah, right. Should I point you to the online petitions made to convince nVidia to open source their drivers? Guess what was their result. Nothing.
Having a civil conversation is good. But results are the objective, not the form of discourse.
In other words, I'd take a crude, blunt emotional reaction, if it were in fact useful, over eloquent pontification that doesn't result in anything.
Furthermore, the irony is that Nvidia is taking a practical approach, whereas it is Linus that is being idealistic, much like your own position.
So until other programmers stop being giant assholes, I find the rhetoric surrounding Linus' impoliteness to be ridiculous at best, and hypocritical at worst. Linus is simply doing what is necessary to get brick-headed morons to listen to him.
This is not about not being polite. This is about PUBLICLY deriding people. That's bad manners, to say the least.
If you really think he's a fool, you know nothing of the situation. Linus has been working on nVidia support on Linux, so he does know what he's talking about. He has been frustrated by nVidia's lack of cooperation and he got their attention.
Far more could be accomplished with nVidia if they actually worked with the Linux community. "Civility" has nothing to do with it.
I stopped buying anything Nvidia - all my machines are AMD or Intel only. It's also very easy to avoid Tegra based Androids.
Meanwhile, Windows, Solaris, and FreeBSD users generally have no problems between kernel updates.
My CPU was literally running hotter from the radiated heat from the GPU due to the driver not doing something right.
Things seem to be cooler with the official driver. Anybody else seeing this?
Linus claims to be pragmatic. So I'm a little surprised he went off like this on Nvidia on a point of idealogical purity. It's actually not clear to me what his complaint against Nvidia not publishing their GPU specs is. Nvidia has pretty consistently updated their drivers, so personally I don't care that they're not open source.
The proprietary drivers likely won't ever interact well with the ecosystem due to their closed-source nature (although the situation could certainly be improved), while the open-source drivers could do better talking to the GPU if they had specifications and not just reverse-engineered info.
NVidia, should just do what they did before: make things work for the [Linux] consumer. Just make a proprietary/open source/open core/semi open source driver that just works with Optimus hardware without having to hack stuff. It's 2012, video should just work.
I hope that folks at Nvidia took note of this, at least.
You can see developers replying on the nvidia forums regarding bugs, asking for bug reports etc.[1]. So you will probably be alright if you work there. If you go into management however... (gives you the evil eye) ;)
[1]: http://www.nvnews.net/vbulletin/showthread.php?s=6ee372b9c78...
Linus is certainly temperamental, but you'd have a hard time convincing anyone he's less that a world-class developer, and critical to the linux community.
Having this in mind, I can't really imagine how can he have an "inflated view of their own talent or importance". I would say he is even quite modest...
http://www.tech.slashdot.org/story/08/05/21/2136243/Open-Sou...
AMD aren't far behind, and since they picked up ATI (Radeon graphics), the Radeon support is also quite good.
S3 were making some noises about being very solidly behind Linux as of 4-5 years ago (bought me a round of drinks at a Linux conference, so their support is demonstrably liquid, if not solid). I've had pretty good experience with older Matrox chipsets, no idea where they are now.
My experience is largely desktop, server, and some light video viewing. Hard-core gamers may have other complaints, but my understanding is that you'll probably end up on Windows or a dedicated gaming platform in that case anyway.
Recently, there have been some questions raised about our lack of support for our Optimus notebook technology. When we launched our Optimus notebook technology, it was with support for Windows 7 only. The open source community rallied to work around this with support from the Bumblebee Open Source Project http://bumblebee-project.org/. And as a result, we've recently made Installer and readme changes in our R295 drivers that were designed to make interaction with Bumblebee easier.
While we understand that some people would prefer us to provide detailed documentation on all of our GPU internals, or be more active in Linux kernel community development discussions, we have made a decision to support Linux on our GPUs by leveraging NVIDIA common code, rather than the Linux common infrastructure. While this may not please everyone, it does allow us to provide the most consistent GPU experience to our customers, regardless of platform or operating system.
As a result:
1) Linux end users benefit from same-day support for new GPUs , OpenGL version and extension parity between NVIDIA Windows and NVIDIA Linux support, and OpenGL performance parity between NVIDIA Windows and NVIDIA Linux.
2) We support a wide variety of GPUs on Linux, including our latest GeForce, Quadro, and Tesla-class GPUs, for both desktop and notebook platforms. Our drivers for these platforms are updated regularly, with seven updates released so far this year for Linux alone. The latest Linux drivers can be downloaded from www.nvidia.com/object/unix.html.
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.
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.