From a pure technical point of view Torvalds is completely right with his statements. NVIDIA works on their own, so it's obvious a linux kernel dev is "angry" about this. Also, they behave as if they had more secrets than the Vatican City.
This said, NVIDIA's blob is infinite times better than both AMD catalyst and OSS driver put together so still, AMD should be shamed of theirselfs (either NVIDIA gets fucked or not by Torvalds).
As much as I'd like to see the nvidia driver blob opened up (and I really really do), I simply don't see it happening. Over the years the company has been buying out/incorporating smaller companies for their own closed code, and for all I know the driver may still have parts merely licensed for use. Java had similar issues, aye? They had to rewrite parts to be able to provide a functioning OpenJDK. Likewise Intel is stuck with those chipsets with integrated PowerVR graphics that they can't do anything about, since it's not their product.
Sadly it's not the linux team at the wheel, and the notion that opening your driver source is equavilent to "giving away your trade secrets" is still very dominant. I concede to some of the arguments there (eg. Carmack's 0x5f3759df), but I still think that the huge influx of developers/eyeballs would improve the driver performance and stability across the board, to an extent greatly overshadowing the hurt pride from "they took the tricks we used to stay ahead". I'd readily argue that you would get more for less.
That said, I'm far from being part of the kernel team, but as an end user I aim for Nvidia cards over their competitors' when I need discrete graphics. I very rarely have technical issues with the blob, and when I do I can't directly place the blame on that specific driver as I tend to run a fairly bleeding-edge software stack. Even if the backtrace shows the crash happening in nvidia_glx.so, I can't look closer to see whose fault it is.
At all other times, I aim for Intel.
Every company has its faults. Intel doesn't produce hi end GPUs, Nvidia refuses to give any info (i don't think anyone expects them to open the blob), and AMD produces a blob that is buggy. And then its the open graphic developers who are not enough (in terms of numbers) to produce a driver that will even suit the pro crowd. Also there is some documentation missing .
As a consumer its up to you to decide where you ll spend your money. it depends on your needs.
its funny how in about 2-3 years public oppinion of nvidiaa has turned from "best hardware vendor support" (i dont think anyone really thought it was the best since it was proprietary, but the graphics driver is a very noticible and important componant of the desktop and therefore stuck to the front of your mind rather than say a wifi driver) to "omg they SUUUUCK burn them with a chemical fire".
their linux support and stance hasnt changed, and only very few parts of their driver are missing. ya the optimus seems to be a vary visible sore thumb and their developers have made mention of efforts to try to fix that, but its a very invasive thing to do that touches many compnants that nvidia doesnt have much to do with. also the xrandr stuff, i dont ever use so i dont know how horrible that really is, but thats a common complaint. finaly while sli seems to be supported, im n ot to shure if it really works or gives any advantage in linux. of course, its not like there is all that much demand for it even in the windows world, in the linux world, i dont see you needing 3 geforce gtx690's to play quake 3.
what it really does come down to right now, amd has either crappy closed source drivers that may run that game with decent framerates but its hard to work with, sucks for anything other than games, and has a bad history of crashes and bugs, and im pretty shure most things the nvidia driver lacks the amd driver lacks plus more. amd does have an open source driver and there is some backing from amd, but lets be honest, there isnt much support really coming from them, a handful of devs is nothing to go praising them as the open source saviors like so many people like to try and do. the driver is really good for how short of development time it had and the huge scope it has. and for the things that really matter like 2d and desktop integration it beats the pants off the closed driver. so the guys that work on this driver really do deserve some praise for their work, but its pretty obvious amd isnt really all that serious about it, they just threw some money at it to make people shut up.
intel, well, they have had opensource drivers from the getgo, yay, but, until a couple of years ago, who cared. thier really controbutions are to the mesa top level api's and implementations. without that, we would still be in the stone age. intel hardware was pretty much unimportant for decent opengl performance since it was so weak it wouldnt really matter, but, right now, they are actualy producing lower mid range capable hardware that is good enough to run most comercial games on decent settings. so now performance is important, and intel is focusing on that. it only gets a little frustrating though, when you see intel often does their own thing and doesnt follow the trend other drivers may be going. like how they still make a classic driver rather than a gallium driver, and they dont do exa they do their own x acxeleration. some people dont care about that, i personaly like the idea of gallium and what that structure advertises it brings. but, whatever, thats not all that frustrating in comparison to when you compare the windows driver to the linux driver, windows has a higher opengl level and much better performance, it doesnt realy make much sense.
for nvidia, the opensource nouveau driver is cool, it gets some stuff done and from what ive seen performance of the low end cards (like my geforce 8400gs) is on par with the blob. its when you get higher than low end where you see the performance gap between the open and closed drivers. the open source nvidia driver, with its lack of nvidia support, is a really interesting accomplishment. i think it is just about as successful as the open source amd driver, yet it has verry little funding (fedora has a dev on it). that said, i do think it has a lot to do with nvidia and how they design their hardware, im no expert at it, but it seems that ati has had some complaints about the complexity of their recent graphics cards where as nvidia has had some prais about their simpler to program for designes. usualy nvidia moves a lot more stuff into the hardware rather than implementing it in the driver. the nvidia blob, while under huge attack nowadays, does deserve a lot of credit for linux gaming from 2000-present.
before the xbox 360 and ps3 came out and essentialy murdered pc gamign in its sleep. linux was getting some attention from major game companies who were finding themselves very proffitable and had some money to throw around for publicity. linux support was one of those. not all games came to linux, it was still only a handful, but still, it was some AAA and second rate games that would in one from or another (downloadble linux installer for windows version, specific linux version release) or would take care not to screw with wine support (i think blizzard did this, their games were pretty wine friendly). they all were 3d games that would require 3d acceleration and more so than what intel was gunna put out. they would never have come out for linux if it wasn't for the nvidia blob. im sorry, but its true. many of them would specificaly state nvidia binary driver and even wine stated its 3d suport was built around the nvidia blob. from 2000-2008 it simply came down to if you want to game under linux you buy a nvidia card and install the blob.
we now have more options, and we are lucky we do because open source devs now have control over what hardware will be suppported and what driver capabilities we will have. a lot of work went into our current linux gpu support and it has come from both the open source and closed source sides. just a few years ago everyone would praise nvidia because of their wonderful linux support and now people have huge rants and raves about them even though they still provide the best opengl support for linux. you can get up on stage and say "fuck you nvidia" but you are not really helping the situation, i really doubt that will fix anything, what incentives do they as a company have to change their current policy's? its still just as easy for them to continue their current binary support, and their is no major advantage for supporting the opensource driver.
Remember everyone, the key words are dealt with. Nvidia is the worst company linux has dealt with because its a company that actively supports linux and does not cooperate at all. You could argue that Gigabyte is the worst, but they give so little attention to linux that isn't really a "deal" with them, they're just simply dismissive. VIA cares and is agreeable to help out linux but they just don't have the resources; that doesn't make them bad to deal with, that just makes them unreliable. AMD is sorta in the same way, I'm sure if they didn't recently support the open source drivers they would be on-par of linus' hate list because although AMD has notably crappier drivers, they aren't nearly as secretive about them. AMD also supports openCL, whereas nvidia keeps pushing CUDA.
I'd have to agree with Michael though, I don't think I would say Nvidia is the worst company linux has dealt with, however, I can't think of anyone who is worse. Even microsoft is better - they contribute toward the kernel.
Well obviously there's no love between the kernel devs and NVidia as proprietary drivers are nothing but a hassle for them, this is an ongoing saga which I think affected Linus pushing Nouveau out of staging and into mainline (obviously the great quality work by the Nouveau devs had alot to do with this aswell).
And let's be clear, NVidia doesn't care at all for Linux, the only reason they supply a quality driver for it is because Linux is big in 3D/SFX and GPU based number crunching.
That said, this is hardly news for NVidia so this statement by Linus means absolutely nothing in the grander scheme of things. Personally I'm happy that my increasingly meager GPU needs and the increased performance of cpu-built-in gpu's means I'll likely be able to ditch discrete graphic cards altogether with my next hardware upgrade.
Well nvidia hardware on desktop systems works usally really well - at least with binary drivers. But i think Linus thinks more about Optimus support. When nvidia's own developers are not allowed to help oss developers and no specs are provided this is definitely a bad signal. Informer it was easy to recommend good hardware for Linux, but since Core i cpus are used for laptops with Optimus support that definitely changed. When you consider all pros against cons you can not buy laptops with nvidia - only when you are 100% sure that you can select the gfx chip in the bios/uefi setup. The bumblebee project is interesting but far away from being usefull for everybody. Next thing which nvidia devs could really help is the reclocking support for nouveau, other parts do not seem to be too problematic to reverse engineer but this does not work fully stable since years. With low speed firmware defaults thats even more performance critical than on ati hardware, there you have got mainly the other problem especially on laptops that the chips run way too hot/fast by default. I really think that nvidia should change their attitude a bit, the drivers for dedicated cards work really well but for the much more interesting laptop systems they really have to do something. When a new Linux user is not able to get it running the way he expects he maybe only uses Linux in a vm or not at all.