Posted
by
timothyon Sunday June 17, 2012 @10:48AM
from the first-person-digital dept.

New submitter jppiiroinen writes "Linus Torvalds received the Millennium prize last week for his work on Linux operating system. He was already in Finland, so Aalto University arranged a talk session with him (video). During the Q&A, a person asks why NVIDIA does not play well with Linux. Torvalds explained shortly that NVIDIA has been one of the worst companies to work with Linux project — which makes it even worse that NVIDIA ships a high number of chips for Android devices (which use Linux inside). Torvalds even summarized that ('Nvidia, f*** you!') in a playful manner. What has been your experience on NVIDIA drivers with Linux?"

AMD provides specifications and a small developer team that actually works on open source drivers.Intel provides open source drivers.

NVIDIA makes good binary drivers, but those have problems when a new kernel version comes out with changed interfaces:Only NVIDIA can adapt them, and until they get around to it, NVIDIA may not work with the latest kernel version.

Linus did give Nvidia the bird and a "fuck you" but he never slammed the quality of the Nvidia's hardware. His gripe with Nvidia is how hard it is for Linux to work with the company since they only provide a binary blob driver which makes bug fixing for it dependent on Nvidia's whims. Plus they refuse to even provide specs and API's for their hardware which make writing open drivers much more difficult and time-consuming because of having to reverse-engineer everthing to get a workable driver. In this case, Linus is absolutely correct.

I think you and many here misunderstood what Linus was talking about. Linux specifically said NVIDIA is one of the worst companies with whom they worked. Period. There is no need to bring up ATI into the table. There is no need to bring up that your card has always worked beautifully. This is talking about his and the kernel maintainer's experience in dealing with hardware vendors, something that we ourselves never have to deal with. Their proprietary drivers may be the best ever but that has nothing to do with!

If the kernel maintainers have a question about the hardware, they can't ask NVIDIA they have to test and reverse engineer to find the answer whereas with other companies, they may get an answer directly from the manufacturer. Get it? "...NVIDIA just made the damn drivers. Now that is not good enough." Not from a kernel maintainer's or Stallman's point of view, I'm pretty sure.

"Top notch" might be overstating it a bit, there are still a few instances where they seem to be lacking. For instance, Windows users who have SLI [wikipedia.org] and multiple monitors have been able to enable SLI and use both of their monitors at the same time since about 2008. But under Linux, no dice [nvidia.com].

So if I had two monitors (which I do), and two Nvidia GPUs in SLI mode (which I do), and I wanted to run some 3D app that took advantage of SLI, I would have to: reconfigure X to disable my second monitor and enable SLI, restart X, play the game/use the app I wanted, when I was done I would have to reconfigure X again to enable my second monitor and disable SLI, restart X again, and reopen all my apps. Hardly ideal.

Why should Nvidia subscribe to the projects "goals and visions"? Thats the projects concern, not theirs.

NVidia isn't required to, as you put it, "subscribe to the projects goals and visions".

But Linus Torvalds is also not required to enjoy or approve of NVidia's policies, particularly when they generate bad publicity for Linus Torvalds' project and also cause a number of people to complain to Linus Torvalds about a problem which he didn't caused nor can he do anything at all about it. Hence, a very appropriate and sorely required "Fuck you, NVidia".

I don't know about the NVIDIA/Android problems but on the desktop NVIDIA has always been waaaaaay better than ATI. That may have changed in recent years, I don't know because I stopped buying ATI stuff a long time ago.

So, you've no idea what you're talking about. Good to know.

What I know is when nvidia came out, I was seeing thousands of posts from people desperately seeking answers on how to get them to work, and thousands more on how to make their X Window survive upgrades. Nvidia is the reason they came up with the mantra, "Don't use a GUI package manager!", because if it upgrades X, it'll kill the pkg. mgr. doing it.

Meanwhile, I've been using ATI for more than a decade with zero problems past their initial teething stage. However, I don't care about 3D, gaming, Wine, or MS Windows. I have no trouble playing DVDs, youtube, or flash. IF I think there's anything wonky going on with video support, I run "X -configure" as root and the wonkiness disappears.

> If it costs them money to support Linux and they're damned if they do, damned if they don't, then what incentive is there to continue even supporting them at all?

It doesn't.I think people nowadays just don't understand what Linux is anymore.This discussion has nothing to do with desktop, performance or even servers.Nowadays, Linux is shipped on 900000 phones every days and that's a very lucrative business.Nvidia has a share of this with its Tegra chips but their way of supporting it makes it a pain in the ass for others inside the kernel development community.From that point, Linux complaining is totally fair. PR is basically his only weapon.

If nVidia does not make drivers for someone else's OS who, how do they make it for? They don't have their own OS. Their entire business relies on someone else's OS. So does nVidia make drivers for Windows and OS X or not?

Nvidia drivers were actually the driving force behind the concept of kernel tainting where an oops dump reports that non-free modules were in use. Nvidia drivers were creating a huge number of oops reports that couldn't be debugged due to being closed source.

This story starts more than a decade ago. There was a hugely popular software vendor concerned that maybe one day people might choose to not use their software. They had vast sums of money and controlled access to the immediate future for software and hardware vendors alike.

Foreseeing a potential difficult future they chose to defend themselves in a particular way. They formed subsidiaries they controlled and gave them patents, and filled them with developers skilled in the finer (and secret) nuances of how to interact with their software, and they kept them informed with advance knowledge of how it would work in the future.

These subsidiaries approached hardware designers with a simple message: they would accept the patented technologies and use them; they would let the subsidiaries write the drivers that had special hooks into the software; they would do this under non-disclosure and never tell - or they wouldn't. If they accepted they would not be able to publish open specifications about how their own hardware worked because that would be exclusively cross-licensed with the subsidiaries in exchange for access to the patents. The hardware makers who wouldn't play along wouldn't get as good compatibility with the big company's software, nor inclusion in their distribution CD and OEM images. The refusers would be plagued with difficult installation, buggy drivers and unhappy customers and fail in the market. The software would change in ways the refusers could not predict, but the accepters could. Some accepted, and some refused. Those who accepted survived, those who refused mostly died.

This has continued to the present day and as the hardware has evolved the agreements persist in ways that are now not removable.

Nobody involved in Linux wants hardware manufacturers to write the device drivers for them. They only want open and clear specifications for how the hardware works so they can make their own drivers. They aren't going to get that from NVidia, nor ATI, nor any others whose technology is intertwined with this compromise from yesteryear. This boon is now beyond their ability to grant without starting again from the beginning.

Nonetheless, they aren't sisu-fueled supermen and there's a reason that during the Cold War they made serious compromises with Moscow.

Ah finnlandisierung meine freunde.

Seriously, Cold War time wasn't all that bad time for us. It was hard, but not completely bad. I know it well as I'm old enough to remember it well since sixties. We did have homie-russians some time that tried hard to influece and mostly they succeeded to get people self-sensor telling truth about many matters what people really thought about eastern neighbour that is what finlandization wich is german invented term of the time describes. We lost part of Karelia true, we did lost Petsamo too up north, and we got Stalins advisors (valvontakomissio ie. supervisory comission) to look after that the war criminal prosecution went on direction they wished. Hanko peninsula, the south tip, was a short time also rented for Russian military base, but it did not last long before they left. Supervisory comission left quite soon after the war criminal prosecution was over. Surely KGB had is's men Russian embassy but so did many other western and eastern block embassies too.

We also paid heavy compensation to USSR, but luckily that also rapidly helped build our factories to produce goods that later took us from agricultural society to a modern industrialized nation. Once compensations were paid it was nothing much but just playing with sordino after that. We have saying that if you are made to sleep next to bear, better not make too much noise to wake-up. it It was open secret how screwed USSR was, and besides politicians in officials and trade negotiations jokes were kept aside otherwise russians were laughingstock of everyone. And they were not only in Finland, ask anyone from Baltic countries or anyone from Poland, it was same there. Ofcourse there were communist minded minority, being communist here is not criminal offense, but they never got large support in elections and besides only a very minor fraction of them actually wished we would merge with USSR. Finally they got the clue after USSR dissolved and disappeared from political map.

We did quite a bit bilateral trade with USSR and that provided work to many on our side and russians got some industrial products we produced, that was the good part of it to both sides. If you still remember those two MIR mini-subs Russians used couple of years ago to visti Nort pole, those were built on that time.

After Cold War it suddenly stopped for some time and that was greatly contributing the recession early nineties, then bit trade continued with Russian Federation now with currency. There have been and will be challenges next to Russia as any neighboring country can tell. Finland has managed quite well not to kick russian bear ass too much and often to wake it up wrong foot and hopefully it remains that as well. Not all USSR/Russian neighbors did not manage as well, unfortunately for them.

I don;t think you can argue that Linux's design is fundamentally poorly done...the USB subsystem for example was originally written for USB 1.0 devices (basically mice, keyboards and serial ports); usb 2.0 and 3.0 didn't even exist then. The redesign for 3.0 changed the implementation of 1.0, as did all the power-management stuff for laptops. Yes, other OSes can cope, but Linux can go one better!

Also, I don't buy your argument about not always having access to a compiler: everyone does: I'm not arguing that the end user should recompile (though they can), but that it's easy enough for the person doing the porting.

You also rather miss the point about syscalls: there are plenty of things that would ideally be changed - but it's impractical to do so, because it would need a coordinated change across *all* of thousands of different userspace programs, run by different projects - and a coordinated deployment across millions of machines. However, keeping the kernel drivers synchronised and updated in parallel is easy: they're all in the same git tree.