So I recently laid out about $260+shipping for a Trim-Slice Value plus fit-VGA adapter from CompuLab. This is a compact desktop computer based on the much-hyped NVIDIA Tegra 2 System-on-a-Chip (SoC). Sporting two Cortex-A9 processors running at 1GHz, it seemed like a more attractive product than existing ARM-based development boards, such as the Cortex-A8 based BeagleBoard or the diminutive Gumstix boards.
After learning that Linux and U-Boot had been ported to the Trim-Slice and reading about CompuLab’s commitment to open source, I was very excited about this system as an ARM-based target for low-level boot loader and operating system development projects.
However, my excitement quickly changed to dismay this week, when I received my Trim-Slice and set out to gather the tools needed for low-level software development. What I found is that while CompuLab may be committed to open source, NVIDIA clearly is not.
It turns out that, unlike most commercially-available processors, manuals for the Tegra 2 are not publicly available on the Internet or elsewhere. NVIDIA only makes this documentation available to their commercial “partners/customers.” This pretty much dashes all hopes of using the Trim-Slice for low-level development, unless all you want to do is tweak the existing U-Boot or Linux kernel.
As I see it, Linux for the Tegra 2 (L4T) exists mainly to create the illusion of openness around what is essentially a closed system. I have no problem with closed systems, when marketed as such. What I find misleading and frustrating is that this processor is integrated into products that are marketed as open systems.
These days, with whole systems integrated on a single chip, closed systems are more closed than ever before. Before SoCs, it was often possible to reverse engineer much of the system architecture by examining the design of the logic board, which often included a large number of components with readily-available specifications.
As it stands, it appears unlikely that operating systems other than Linux could be ported to the Tegra 2 without the direct involvement of NVIDIA, since the only source of information on the processor is the Linux kernel source code. Linux kernel source code is not a substitute for proper hardware documentation. Source code is neither a complete nor reliable source of hardware information, not to mention the copyright problems that would arise due the code being under GPL.
Bottom line: If you’re looking for a truly open system, look to something other than the Tegra 2.
Related posts:
- Paranoia Abounds You may or may not have noticed that RepTIDE and...
- An Open Letter To Steve Jobs RE: iPad Naming On behalf of Fujitsu (PDF), Siemens Aktiengesellschaft, and Coconut Grove...



3 Comments
So, not to piss on your parade because I generally agree that things (both software and hardware) should be more open but a few points.
1. Unless you have been living under a rock (rock = OS X, Windows) it should come as no surprise to you that anything NVIDIA (or ATI/AMD for that matter) is not, never has been, and is not likely to ever be “open”. Linux/BSD developers have been struggling with creating non-proprietary drivers for their video hardware for more than a decade.
2. “Open-source” != “Open-platform/hardware”. While Trim-Slice seems to be committed to open-source I don’t see anywhere that states (and I will admit, I didn’t look really hard) that they are open-platform. In fact on the linked page they state “Members gain access to a private developer’s zone and are the first to receive pre-release drivers and distributions.” To me that is an indication that their open-source developer program isn’t aimed at low-level development. They are expecting you to use provided drivers.
Like I said, I don’t disagree with your frustration, but really, I think in this case a simple Google search for any information related to development for any piece of NVIDIA hardware would have made it pretty obvious you were on your own. Either way, I hardly think it’s Trim-Slice’s fault, they don’t control what NVIDIA does or allows them to do.
It’s not really a parade…I just want to put up a warning to others who might be wondering whether this is a good system for OS-level projects.
To your points:
1. I’m aware of the past binary-only graphics driver issues. I just didn’t expect that this would be a problem with the Tegra 2 SoC as a whole, with the exception of the NVIDIA “secret sauce” within the graphics subsystem, which I did not expect would be publicly documented. The documentation for the ARM cores is available from ARM Ltd. The other system components are pretty typical. So outside of the graphics subsystem, I wouldn’t expect that NVIDIA would have much to gain by withholding the technical details that would allow non-Linux OSes to support the Tegra SoC. Further, I always had the impression that the Tegra 2 was an open platform from all the talk I hear about Android devices being open and the Tegra 2 being used in those devices. I hadn’t heard of any uproar in the Linux community about Tegra 2 documentation being unavailable. On the contrary, all I could find was fan-boy-esque reviews by the tech blogs.
2. I think that’s easier for you to discern in the light of what I’ve found, than it was when I was researching this. I got the impression that it was intended to be an open platform from that page. If it’s not, then it is misleading, at best. I read “open-source” to be all-inclusive, not just Linux apps. The fact that developer units are available with a JTAG interface gives the impression that low-level software development is anticipated. If other operating system ports are not anticipated, they should clarify that and say “CompuLab is committed to the _Linux_ community.” From what I’ve read in the forums, though, I don’t think that’s the case. I still have the impression they’d like it to be open, but, as you say, it’s mostly NVIDIA’s fault (though I still hold Trim-Slice responsible for not being up-front about the reality of the situation in their advertising material). P.S. I requested and was immediately granted access to the “private developer’s zone”; the Tegra 2 information is not available there, either. There’s not much in there at all; it gives you access to the binary-only graphics driver packages released by NVIDIA, and that’s about it.
That said, from recent discussion with the TS product manager in the forums, it appears that NVIDIA is working to produce a technical reference manual for the Tegra 2 that will eventually be publicly available.
Now my only gripe is that they refuse to sell me a JTAG board / FFC cable without also buying the top end model, even though my board has the required connector and the posted reference manual says “The connector is compatible with the FFC cable (CompuLab P/N 410X60240) available from CompuLab.” That was going to be a whole separate post, but I don’t think I have the energy for it.
AMD/ATI paradigm is changing, they released some specifications for graphic chipsets. You can check it out on their site, and yes, it is much more than nothing. I think they finally got it, to be able to sell they must help open source.
Post a Comment