NVIDIA To Publicly Release Some Tegra GPU Documentation
An anonymous reader writes "It was revealed today during the annual X.Org Developers' Conference in Germany that NVIDIA will be publicly releasing Tegra graphics programming documentation. Initially this will cover their Tegra 2D engine but it's thought they might also be providing 3D engine documentation too. A slide shown at the conference says NVIDIA is committed to open-source. NVIDIA also allegedly has supplied documentation under NDA to one Nouveau developer and taken other covertly supportive steps. These actions come after NVIDIA has been notoriously unfriendly to open-source and months after Linus Torvalds pubilcly slammed the NVIDIA Linux support."
no, a NDA just means that he can't tell anyone else why the code works the way it does.
Wasnt the Linus shaming them for not supporting Optimus (which would help a lot of netbooks and laptops) and not about Tegra (which works but is not opensource, and hence makes custom ROMs difficult)
That depends what the NDA covers. It might cover just saying they gave him the document, it might cover him showing anyone the document, it might cover him telling anyone how code made from the document works, it might cover him not telling anyone how NVIDIA makes its pancakes. An NDA can cover a multitude of things.
Correct me if I'm wrong, but doesn't that mean cryptic, undocumented code which, if that particular developer quits, dies or is otherwise unable to work on the driver, becomes a black box? It is still incredibly open-source unfriendly.
GPUs can have completely open drivers while remaining quite closed on the hardware side. The one thing they're worried about, their precious shader compilers -- aren't even really needed. Give us an instruction reference to target and we'll make our own damned compiler, and after a while it'll be even better than the proprietary one. It's difficult to believe that it's taking so long to get documentation for something so basic.
They don't provide hardware programming specs. Nor open source drivers. Intel and AMD do both.
How is NVIDIA unfriendly toward open source. They have the only high-end cards that work consistently on both Linux and FreeBSD. They've been maintaining their drivers for open source operating systems for years.
Right. Tell that to my GeForce FX. Or to a GeForce 6xxx. Or to an integrated 7xxx chipset. Neither Nouveau nor the blob work on anything GTK3 and NVIDIA already said they won't be fixing the blob anytime soon. Compare that with AMD - the open driver is already at near performance parity with the blob on their cards from the same period (r300). But AMD isn't a great example. Look at how Intel publishes their drivers and read what the folks from Valve are saying about how easy that makes everything for developers.
we will see if they really do release useful documentation or if this is just smoke and mirrors to try to limit the damage from Linus comments.
I suspect its just a marketing stunt to try to damage control their android clients (that is why they will release info only about the tegra chip), if not they would also announce the release of docs for the other cards (even if small parts, 2D only).
Even for damage control, they took away too long, people that didnt knew/cared about nvidia open source position, learn from on of the top leaders that NVIDIA sucks, and if a leader points to a major problem, everyone looks at it.
Even if this is really a new policy, they still have a long way to help the 3D development and catch up the Intel and AMD.
Not until NVIDIA really supports the Linux and other open source OS with open drivers and documentations i will buy another nvidia card, nor recommend it... even in tablets (ARM have many closed parts, but at least MALI 400 have already a open drive in the forge)
Higuita
But isn't it at least good of them to provide a driver in the first place?
Getting HW documentation under NDA used to be a rather common thing for Linux driver developers and it's still not unusual. The NDA will say something to the effect of "You can't spread this doc, but feel free to build an OSS driver and talk about how it works".
Not when that driver doesn't play nicely with the kernel. It's like giving somebody an engine for their car that occasionally breaks down, but not allowing them to open the hood and fix it.
You are not completely wrong for complicated hardware, but for things like sensors and stuff it doesn't need to be unmaintainable. Few if any of those NDAs also come with and demands to not write clear code and comment it.
You might be thinking of Nvidias old "Open Source" 2D drivers which where written by Nvidia and then showed through a code obfuscator before it was shipped.
It is probably not a bad thing.
Back in the day, I did FreeBSD drivers / platform support for DEC Alphas. I would occasionally get hardware and/or docs under NDA from DEC. The NDA basically said I could write open source drivers, but I could not share the documentation. This is how a lot of Linux / BSD hardware support still works.