Nvidia Engineer Asks How the Company Can Improve Linux Support
sfcrazy writes "It seems that recent comments made by Linus Torvalds have made the people at NVIDIA take Linux more seriously. Recently Nvidia employee Stephen Warren asked in the Kernel Summit mailing list what could be done differently to make Linux support better. 'In a Google+ comment, Linus noted that we have mainly been contributing patches for Tegra SoC infra-structure details. I'm curious what other areas people might expect me/NVIDIA to contribute to. I assume the issue is mainly the lack of open support for the graphics-related parts of our HW, but perhaps there's some expectation that we'd also start helping out some core area of the kernel too? Would that kind of thing help our image even if we didn't open up our HW?'"
Firstly, deal with the goddamn shitfucking Optimus hardware that's out there!!!!!!
BTW we aren't asking them to open up the HW. We are asking them to document the interfaces to the hardware. Just like the PCI interface they use has been documented and like the entire PC spec they have been leeching off of and almost every thing else in the world of computing has opened up. This attitude just isn't acceptable any more. Period. Even Microsoft is starting to wake up to that fact.
nVidia is violating somebody's patents. I don't know which ones. They don't know which ones. It's really not possible for them to know which patents they're violating, and it could be that they're actually not violating anything, but it's probably a safe bet that they are. That's how broken our patent system is.
The flip side of this is, whoever holds those patents that nVidia is violating also doesn't know that nVidia is violating their patents. However, if nVidia were to release the specifications and source code that we all want them to, it might become easier for somebody to recognize that nVidia has unknowingly violated their patent, at which point nVidia might be very screwed. Or maybe not, who the hell knows? In any case, a series of patent infringement lawsuits could be very very bad, and could potentially destroy the company. The only defense nVidia has against this is 1) building up a patent warchest of their own, so that if somebody sues them, nVidia can look for patents they own that the other company is violating and work out a trade, and 2) shrouding their hardware in mystery, so nobody knows how it works and therefore nobody can figure out if it's infringing on someone's patent or not. Note that #1 is not possible against a patent troll that doesn't actually produce anything, so #2 is really all they've got.
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
AC may be referring to the firmware blobs without which newer AMD chips are good for little more than spartan 2d... That said, you really end up picking your poison with firmware. Some vendors include enough flash to store the blob, some demand that the kernel hand them the blob. There are exceptional cases, where the firmware is OSS, or where the vendor is a real asshole and forbids the blob to be distributed(for no obvious reason, since somebody always whips up a script that grabs the windows driver from the vendor site and gouges the firmware out of that.) In this unfortunate vein, it is probably worth noting that Intel is better about not making the firmware stuff visible, but AMD has historically been overwhelmingly nicer about coreboot vs. BIOS.
This is utterly wrong. It's telling that you posted as an AC, and I'm assuming that's because you're not a developer involved in any open source work on this issue, and you don't have the first clue about how these things actually work.
However, you do sound like a user with an incredibly exaggerated sense of entitlement, or perhaps a college freshman with wild-eyed ideas that every line of code on the planet should be forcibly "freed." If the code for something hasn't already been written, I presume you're of the view that companies should be forced to pay developers to write it, and of course they should be sure to call you every day for your personal stamp of approval on the last 24 hours of coding. Naturally, the resulting code, which you didn't pay for and didn't write a single line of, must be licensed in precise accordance with your personal opinions on freedom, right?
Let me be absolutely clear on this: the core developers in the open source community working on this stuff want the specs. Just like anything and everything else that open source code was been written for, even back before the term "open source" was even in common usage, precise hardware specifications allow developers to write software that properly interfaces with the specified hardware.
I will be the first to stand up and strongly advocate for open hardware specifications. That said, the absurdly entitled position you're taking does far more harm than good in the community at large. In short, kindly shut the fuck up and stop ranting about things you have no understand of, and no honest stake in.
Write failed: Broken pipe
Agreed. They should help this project. While the opinions of readers here clearly matters to *some* degree, I'd like to think NVIDIA would care about my take. As I'm right now designing and building a GPGPU compute system. And while it won't get in the Linpack this year, it genuinely might in a few years from now. Right now (I broke away to write this) I'm pawing over the OpenCL vs CUDA options AGAIN, to weigh up which to go for. Right now OpenCL is pulling me strongest, simply because I know I could move to something else if I had to. I don't want to. NVIDIA apear to be leading the race to me, for stable, enterprise ready, server standard GPUs. I prefer CUDA.
So guys, I prefer your products, I could spend hundreds of thousands, maybe million some day, but I'm nervous enough to choose a lesser option in order to leave myself an escape path - purely because your lack of openness at the interface with the hardware worries me. I don't want the hardware opened, I want its API. The lowest level software interface to it (and preferably the code to your supported drivers). If you opened up I'd know I could always get a driver that worked if I needed to move OS. Or that I could tweek for performance in the area I need it. etc... Open up. Why not? I've given you a bloody good reason to. Haven't I?
Because you can - or because you should?
But whose fault is that when Torvalds flat out refuses to allow a hardware ABI that EVERYONE ELSE has? Solaris, BSD, Windows, OSX, hell even OS/2 has a fricking ABI now and the ONLY OS that doesn't is Linux. So why should Nvidia or anybody else jump through hoops to support a broken design?
You can use Win2K drivers on XP, you can use Vista drivers on win 7 and 8, that's over a decade of support for a driver. That means that in all likelihood the hardware will be long dead before you can no longer run it on your choice of Windows OS.
I'm personally using a 2008 Vista driver on my fully updated Win 7 simply because it interacts better with the software I prefer to use, yet on Linux its fully expected that driver simply won't work without a recompile or major futzing, that's just fucked up folks, and even one of the Red Hat developers says the current system simply isn't sustainable, you have too few qualified people trying to support too much and the QA and QC simply isn't there because of it.
I can tell you that as a retailer that is why I'll sell a system with XP despite XP being creaky as hell now, simply because I can't even take a 4 year old Linux and upgrade it to current without shit breaking. The entire driver subsystem in Linux is a God awful mess and if this finally gets people to talk about it, instead of just accepting fixes and forum hunts as par for the course? let me be the first to say i'm ALL for it. there is no damned reason why companies like Nvidia and AMD should have to keep releasing drivers for old hardware simply because Torvalds ego won't let him see the current system doesn't work. And PLEASE don't say it would encourage binary blobs because in case you ain't notice? they ALREADY DO THAT NOW, you just have shittier support.
So don't sweep it under the rug folks, this is simply a symptom of a MUCH larger problem, and that is the current driver model simply isn't sustainable. You can get by with it in server and embedded because hardware changes there are practically non existent and positively glacial, hell many servers still use Rage II for GPUs for the love of Pete, but to gain in the consumer market you need to be able to keep up with the constantly changing hardware and the current model simply doesn't work. Its always behind the curve, always way behind, hell by the time things are properly supported they usually aren't being sold in retail anymore. this really needs to change folks, and the only way it'll happen is if enough people get fed up with the status quo and complain. You can and DO deserve better fellas.
ACs don't waste your time replying, your posts are never seen by me.