Slashdot Mirror


Torvalds Slams NVIDIA's Linux Support

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?"

9 of 663 comments (clear)

  1. Re:THEN YOU DO IT MISTER HIGH AND MIGHTY !! by houstonbofh · · Score: 5, Interesting

    It does tick me off a bit... NVIDIA was the FIRST graphics company to really come out and support Linux across the entire line. They have consistently made binary drivers in a realistic time frame when new hardware comes out. While all the rest were saying BS about licensing and proprietary codecs, Nvidia just made the damn drivers. Now that is not good enough.

  2. Re:Problems? Really? by jedidiah · · Score: 4, Interesting

    > 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.

    Yeah, and they solved that problem. An entire module rebuild facility for kernel upgrades was probably developed just for Nvidia.

    That benefits ATI blob drivers too. This is a good thing since you are unlikely to get suitable performance (if you care about that sort of thing) without the blob driver.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  3. Re:Alot better than ATI by jmorris42 · · Score: 4, Interesting

    > OMFG NOOOOO there is no possible way that NVIDIA could operate like every other chip maker on the face of the planet.

    No, we want them TO operate like 'every other chip maker' and get with the program. Name another major chip vendor who hasn't figured out that getting into the Linux kernel is a required checkoff for market success. Doubly so for any product used in the enterprise vs the fanboi market. NVidia's CUDA is about the entire list these days, the last major holdout.

    A few still maintain a desperate final stand in the embedded market but few new vendors go the closed route and every year brings another of the dead enders over to the open camp. First to fall were the storage products, then ethernet and cpu makers. Wifi is holding out on the blobs due to fear of the spectrum regulators but most now support an open driver for the kernel to firmware interface.

    --
    Democrat delenda est
  4. In defence of Linus by Anonymous Coward · · Score: 5, Interesting

    I like Linus. He speaks his mind, and that is good. He does not strive to be a politically correct suck-up like most of the soulless corporate speaking heads you see all over the place.

    He has every right to say "Nvidia, fuck you". How should his message be sugar-coated? Should he write a 500-page NY Times bestselling book about the matter? Hold a seminar? Issue a press release? Have a meeting with Nvidia CEO, CTO and CIO, presenting empty Powerpoint fluff and wanking around the issue in such abstract terms that it can be interpreted in any which way, after which everyone thinks they've done their part but nothing happens as a result? No. It suffices with three small words. Why waste more time and effort? To not hurt someone's feelings? Don't be such a baby.

    I think part of how Linus comes through as he does is a cultural thing. Although he has lived in the USA a lot, he's still a Finn. If you need to deliver a message to someone who is not behaving, you deliver a message, wrapping it up in a pink box with a greeting card full of hearts is pointless. And let's face it, Nvidia hasn't been a model citizen - if you're a dick, don't be surprised that others are dicks towards you.

    And you ask: what incentives does Nvidia have to support Linux? Well, how about not making life hard for the people who pay actual real money for Nvidia's products? And not making life hard for the people who try to support the Nvidia products on a great OS on their free time?

  5. Re:THEN YOU DO IT MISTER HIGH AND MIGHTY !! by 0123456 · · Score: 4, Interesting

    It is stupid, keeping the specs secret is a lose/lose for everyone.

    When I worked for a chip company, we weren't allowed to release specs.

    Why? Guess.

    Patents. We had no idea whether we were violating some obscure patent that no-one had ever heard of, and we weren't willing to put the specs out there where any troll could sue us for millions.

  6. Re:THEN YOU DO IT MISTER HIGH AND MIGHTY !! by drsmithy · · Score: 4, Interesting

    So that's why hardware on Windows isn't supported from one major release to the next?

    No, that's because they're major releases, when it's OK for the ABI to change. Again, something that every other remotely OS manages quite well.

    Like anything else, what you are talking about sounds great in theory but doesn't actaully work out in practice. So the situation with the alternatives is not nearly as superior as one would be led to believe.

    Yes it does, and yes it is. Drivers breaking between minor revisions within a major release is very uncommon on pretty much every platform except Linux.

    Heck, it's not unusual to see drivers working across even major revisions.

    Every other major OS does not in fact have a "stable driver ABI".

    Windows, OS X (more recent versions, at least), Solaris, FreeBSD, etc. It's a struggle to find any remotely major OS other than Linux without stable ABIs.

  7. Re:Problems? Really? by hairyfeet · · Score: 5, Interesting

    Have you tried the FOSS drivers? Because you really shouldn't complain when AMD did what the community asked them to do and handed over the specs, or did everyone forget how many times we've heard "Just open up the specs and we'll support the hardware" on this very forum and others? AMD took that one step farther by actually hiring developers to assist the FOSS driver devs in getting up to speed, and from what I've been reading they've been coming along nicely, although focus has naturally been a little heavy on the APUs since so many of them are out there.

    This DOES highlight what i consider to be a major failing in Linux for quite some time, the fact that its damned near impossible to JUST get security updates, as package A needs kernel B and depends on packages E-G so to keep the thing updated you end up with an "all or nothing" so you can't just update say the XBMC software without changing graphics drivers and a bunch of other shit. People can scream bloody murder all they want but THIS IS WHY a hardware ABI is a GOOD thing, because if I want to keep my 3 year old graphics drivers while being fully patched and running the latest of everything else on Windows? not a problem, I just don't have to update the graphics driver. this is also why AMD's support phase isn't a problem on Windows, as one can simply stick with the last driver and be fine for the life of the system and after 4 years they've squeezed all the power they are gonna out of a chip. Again like it or not the ONLY REASON that that Nvidia or AMD have to keep releasing new drivers for old hardware in Linux is because you simply can't use the old drivers with new kernels or the whole thing falls down.

    So I don't see how the community has any right to complain about AMD, you got exactly what you asked for, all the specs opened and handed to you on a silver platter. AMD simply has a hell of a lot more on its plate than just graphics so continuing to support 4+ year old chips on an OS with maybe 5% market tops is simply a waste of resources. if you want to complain pitch a fit at Torvalds for making driver support such a damned mess, even one of the big Red hat developers says the current way of doing things simply isn't sustainable, that a single group can't control 20,000 packages and drivers and keep it working, and recommends an ABI and a much more stripped down design that allows you to concentrate on the core while letting those that sell the hardware provide drivers. I wonder how much money Nvidia has blown keeping a team of devs around to do nothing but constantly update the Linux drivers when Torvalds constantly breaks the damned drivers with kernel fiddling? bet it isn't cheap, not cheap at all.

    If handing you the full specs like you asked for STILL isn't enough? Maybe its time to look in the mirror and consider that maybe, just maybe, you're doing things the wrong way. There should be no damned reason why you can't take the last release that AMD made for that HD3200 and have it run perfectly on the latest distro and the fact that you stand here and admit that it doesn't work just shows what is wrong with linux in a nutshell. After all how do you expect the smaller hardware guys to support you if the big guys have to pay entire teams to constantly fix the damned things just to make the drivers work?

    --
    ACs don't waste your time replying, your posts are never seen by me.
  8. Re:Which is why I find it doubly funny by Kjella · · Score: 5, Interesting

    Basically it is a really complex problem, and of course each new version of the graphics hardware brings in a new setup to deal with.

    I think particularly the last part. Unlike CPUs that have to be 99.9% the same to support already compiled binary code, graphics drivers only care about the DirectX/OpenGL layer. Everything about how you accelerate those commands is being rewritten constantly. For example the AMD OSS drivers cover three very different architectures, VLIW5, VLIW4 and GCN. And within each architecture you have different generations with different ways of doing things and instruction sets. The hardware API is changing because they're working closely with the driver team, who are the only ones talking to the hardware - until you try writing an OSS driver. Third party chips like HDMI change both suppliers and versions so the hardware API changes, without code changes practically nothing works on a new card. There's a lot of upkeep.

    The other part is that the generic code is woefully behind the times, regardless of the driver code. Mesa still only supports OpenGL 3.0, which was released in July 2008 and that support only came first this year - at that point 5.5 years behind the specification. So if you want to run recent OpenGL code you need closed source drivers because the whole stack is missing, not just the driver code. Basically even if AMD is doing the same bits as AMD does for Windows, nobody's doing the OpenGL equivalent of Microsoft's work on DirectX. Or well obviously some are working on it, but not enough to keep up.

    The last part which makes sharing code between the open and closed source driver hard is DRM. AMD simply can't let the open source driver have any code that would make it easy to poke at what the closed source driver is doing like for example patch it to dump a BluRay to disk (despite AACS, BD+ and HDMI all being broken). Same goes for audio and PAP. Even just keeping the DRM bits in a little blob by itself would be painting a big sign saying "reverse engineer this". This means things have to go back and forth with the lawyers all the time, and you need this information because of what I wrote in the beginning.

    On the bright side Intel seems to want to use more of their own graphics in coming Atoms - google "Intel Valley View" for more - because PowerVR has been the absolutely worst of the bunch when it comes to Linux support - and pretty terrible at Windows support too from what I gather. And at least according to AMD their OSS support is getting better with each generation, even though it has a long way to go...

    --
    Live today, because you never know what tomorrow brings
  9. Re:Once upon a time by symbolset · · Score: 5, Interesting

    I was looking for an excuse to expand on this already overlong story but didn't want to be rude and self-reply. Thanks for giving the opportunity.

    One must be mindful that these offers were all carrot and no stick. The developers came with a plausible story: we have experience and insight into the big company's software, as many of us came from there. We know how to pass validation. We have the inside track to getting on the CD, and can speed your way to market. We can use our secret ways to optimize it because we have special insight we can't share even with you. All we ask (other than pay) is that the interfaces become private between us. We will help you develop your hardware so that the hardware interfaces presented are optimal for interfacing with the software, and we don't want to share that work with others for no pay, which is fair, right? They had good stuff to offer too: the benefits of some deep research into compositing that the hardware vendors couln't get some other way - but it always came with this catch. And it seemed like such a little catch at the time since there were no credible challengers to the big company's ware. And it seemed quite reasonable to work together and not share with outsiders. But the devil is in the details.

    Only rarely would the stick come out, in reference to some other company: "oh, that seems to be a smart way to think. So-and-so thought so." So-and-so being a dead company who failed to come around to the "right" way of thinking. The threat implied was never stated outright.

    Later, when hardware vendors want more, they get more committed. Implement that new hardware feature in the OS game engine rendering interface? Sure.. but there's more cost than just money. Want the standard user interface to leverage high-end blurring, transparency and shadow features... sure.. but how that works has to remain private between us. That requires a specially committed level of partnership. Along the way there were more patents to incorporate and license, and a stronger bond to build until the hardware manufacturer is committed to the big vendor's software and none other - in a way they can't be free of even if they want to be. These aren't just patents and copyrights: they're trade secrets too, and those are immortal. Each is as much to blame as the other, as they used each other to mutual advantage. There's enough dirt in there to get mud all over everybody and nobody wants that.

    Every now and then some PFY trying to implement a feature for X will call up the hardware vendor hoping for some help. "So I've got some app in the debugger, and I can see it load a texture in the buffer and trigger the interrupt that submits it to your hardware. But there are mode-setting things in here that have been deserialized and I can't see which one goes first, or the right grammar for the call so when it doesn't crash it looks like crap. Throw me a bone. Feed me just a tiny little hint please, I'm dying here." These calls used to be fielded by actual developers who might be conflicted and want to say the easy truth but would instead give the same bored answer every time: "sorry, but that's a trade secret." And never would they say the big secret: "and it's not our trade secret so we'll never be able to answer these questions." Now it's probably handled by some flunky in Bangalore who couldn't give the right answer if he wanted to. It might as well be a recording - but they still want to pretend that they care.

    This is all in the desktop and laptop arena of course. Servers are different. The big software company didn't have tyranny over server vendors like they did over desktops. Servers had to support Unix at first, and then Novell, and then Linux - to the point where no server company could survive or even be taken seriously with servers that could only run the big company's software - though they did try, notably with Broadcom network chipsets. The special features of the software/hardware interface just weren't as importa

    --
    Help stamp out iliturcy.