As a young engineer, I first understood the importance of good documentation thanks to an incomplete Holtek MCU datasheet that made us waste weeks of development, and the value open source software thanks to Sigma Designs’ SDK that was full of binary blobs with our applications often crashing inside those, leading to software development delays, especially since we had access to limited support. More recently, if you ever worked with the most popular Chinese processors found in ARM Linux development board, usually made by Allwinner, Amlogic, or Rockchip, you must have gone through roadblocks due to a lack of documentation and software support. So far, Allwinner is purely relying on linux-sunxi community and “leaks” of their documentation and SDKs, while Amlogic has had their “open linux” microsite for several years, but you won’t find complete documentation like technical reference manual, schematics, and part of the source code requires you to sign an SLA. I’ve heard people who signed the later, still have problem with accessing the source due to lacking username/password though. But that’s still better than nothing, and probably explains why Amlogic is the has been the preferred ARM target for Kodi in recent years. The company also contracted Bay Libre to add support for Amlogic processors in mainline Linux.
Rockchip was very much like Allwinner at the beginning, but as the company worked with Google on Chromebooks, they started to push code to mainline linux and u-boot, and last year, they also created a Rockchip Github account and Wiki on Wikidot, where you could find some information about the processors. The company has now launched their own open source microsite on their own website: opensource.rock-chips.com. The new website will replace Wikidot Wiki for new processors, and for now they have hardware documentation for RK3288, RK3328 and RK3399, including the technical reference manual, datasheet, and a “guide” to design schematics and PCB layouts. The later mostly consists of PDF schematics of their reference platform. That’s progress, but I don’t understand why an SoC company would not release the full hardware design for their own board.
You’ll find links to source code for u-boot, Coreboot, ARM Trusted Firmware, and Linux on the website, as well as software development guides and tools, including a Linux porting guides, BSP module user guides, graphics and multimedia user guides (GPU/VPU/ISP), and tools like Rockusb abd Rkdeveloptool.
They also have a dedicated email address opensource [at] rock-chips.com for people who want to provide feedback about the website. This kind of initiative with a public release of hardware and software documentation and source code, benefits both customers, especially smaller companies, and Rockchip themselves, since they may not need to deploy as many field application engineers (FAE) to sort out issues, and their customers have better chances of successfully completing their projects.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
make gpu open source, then “shut up and take my money”
@hex
They probably can’t open it because they are infringing patents and don’t want to get caught 🙁
The GPU is made by ARM, go complain to them. Rockchip has no control over this.
@Jon
You answered first
They are Mali GPU, do not the drivers come from Arm with the licence of GPU?
@theguyuk
Driver, yes, but that doesn’t mean the ARM partners get the source code.
In fact, almost all ARM based SoC’s, regardless of their target market/use, have some proprietary parts that there is no blob free code for. This ranges from GPUs to various hardware accelerators for video playback, I/O, encryption etc.
So far there is not a single open source GPU for any ARM SoC, as there’s simply too much money and R&D that has gone into developing these things and the companies don’t want to make it easy for their competitors to “borrow” what they’ve done, even if it’s the worst GPU maker out there (not point fingers at ARM here).
Sadly this is the world we live in, everyone wants patents so they can survive lawsuits from their competitors over something petty that they might’ve inadvertently copied without willingly having done so. So once the lawsuit comes, they try to dig up as much crap on the competition so they can counter sue them. As such, these companies keeps things as close to their chest as possible and you get binary blobs.
ARM has never licensed anyone to give out their Mali driver source code. Rockchip can only hand out binaries. This is true for every vendor using ARM Mali. So don’t complain to the chip vendors, go complain to ARM, Inc.
And besides, once you got this source you’d quickly conclude that you didn’t want it. GPU drivers are hugely complex and difficult to work on.
GPU drivers are closed source to try and keep the patent trolls under control. The patent mess around these things is ridiculous. All of the GPU designers are infringing on each other’s patents. But the GPU designers appear to have an implicit agreement to not all sue each other. Outside of the GPU community there are 1000’s of patents owned by various trolls which they could try to apply to GPUs. Even with closed hardware and drivers these trolls still try.
A core problem with these troll patents is that they are granted on things that have nothing to do with GPUs and then the owners will try and twist their patents to convince a jury that the patents covers things the original inventor never conceived of. For example twisting a patent on the circuit of a Hayes modem to apply against a GPU when GPUs hadn’t even been invented when the patent was first filed. Give me $500,000 and I’ll go away they always say.
If I recall correct ARM licenced GPU technology from AMD. ARM also bought Falanx ( 2006 Falanx (now called ARM Norway), a developer of 3D graphics accelerators and SOISIC, who specialise in developing silicon-on-insulator physical IP ) according to wikipedia.
So it is a complex situation. Qualcomm’s Adreno was a acquired AMD GPU originally. ( The core was initially developed under the Imageon brand name by ATI Technologies, which was acquired by AMD in 2006 )
Please complain to the chip vendors about missing GPU documentation or drivers. Do not follow that BS advice of John Smirl’s. If somebody sells something, he is responsible for every component. If he licenses crap that he does not control himself, he must be blamed for it, not (nessessarily) the one who sold him the component.
The big question here is will the available documentation assist the likes of Kodi to implement full HW support?
If yes, then about time too and with AMLogic killing the RK market would make some sense.
If not then I’m not so sure that it will be of any real benefit.
Have Rockchip finally listened?
The “documentation” for Kodi to implement hardware acceleration was already available. I used the libmpp on Rockchip github to go from “zero to hardware acceleration” in my own projects. The only documentation issue I had was with the Linux Kernel DRM subsystem (its a train wreck).
As I mentioned in a different post, if you want 4K@60 UHD playback then use a different SoC. The lack of AFBC support is an impediment on Rockchip reaching 60fps currently.
> and part of the source code requires you to sign an SLA
I am pretty sure you mean NDA (non-disclosure agreement). SLA is service level agreement, and doesn’t make much sense for accessing documentation unless printed in disappearing ink. 😉
@random certainty
I see you have never worked in the real world. I would suggest you look up the term “trade secret” and consider why what you propose is virtually impossible.
@Mum
Not sure, but at least one developers mentioned he signed “Amlogic’s SLA” : http://www.cnx-software.com/2015/08/31/tronfy-mxiv-telos-review/#comment-442678
@random certainty
Random, have you heard the phrase ‘Tilting at windmills’? I wish you luck in getting the Mali source code.
I think this site works better when people collaborate towards solutions rather than falling into combative discussion.
@theguyuk
I agree. And by the way it’s a shame that once there’s a good news about more doc being available, people find the way to fight and complain. It doesn’t even give a good image of the community who permanently requests such documentation. So kudos to Rockchip for improving here.
Thanks on Jon Smirl explain the MALI situation. SoC vendor not allow to release the source code due to the confidential agreement arrangement with the IP provider. Howewevr, with the MALI driver release, the open source developers already make a good progress in their implementation.
Originally I plan to forward this post to Rockchip folks, I hold back due to negative comments and don’t want to discourage them. Lets give some encouragement as @willy and @theguyuk pointed out.
@TL Lim
Even if it’s a good news; does rockchip will take the responsability to have choosen arm mali , and follow each and every kernel (or at least le LTS ones) to offer the rights modules “hassle-free” ?
Let’s say at least 5 years after they put the product as “EOL” ?
I’ve yet to see one integrator to offer any security update and up2date system 2 or 3 years after the launch of the product. So after eol …
The trouble with choosing NDA-loving company, is that they don’t follow their end of the bargain. “Closed source, and only with our antedeluvian unmaintened version”.
So I could totally understand anyone who actually want to use the soc to play/encode video and/or using any display to ask “What about the graphic card? What about following the new kernels and updates ? ”
Intel and amd have gpu with decent open source GPU. Seems that theirs patents are’nt really any trouble open source.
Personally, I’ve had enough trouble with trying the closed source blob and I’m ready to pay an extra to have “hassle free” hardware. So no arm gpu for me if I need to have any form of display or video decoding.
+1
* and this is somehow sterile, all parties have reasonable arguments on their side, it is just the way things are.
TL Lim:
Why not forward this post to the Rockchip folks?
It is good for them if they can understand all the different perspectives and angles.
There is truth when one says:
” Please complain to the chip vendors about missing GPU documentation or drivers. (…) If somebody sells something, he is responsible for every component. If he licenses crap that he does not control himself, he must be blamed for it, not (nessessarily) the one who sold him the component. ”
As a matter of fact, this responsibility from the “last” seller in the chain is even law in many countries.
^ I think everybody is pretty aware of this inclination of the “FOSS community” to bitch about evil corporations constantly. no matter the topic was about company openness.
PS. I really am happy that Rockchip is gonna supply documentation. for me it means I only have to find money for getting rk3399 board for my project. xD
@bria
Bria, if you want something that is going to work for twenty years buy an x86 box. The ARM world is simply not at the same maturity level that we see with Intel processors. ARM vendors are improving, but they still have a long ways to go. Give ARM another ten years and it should be on par with Intel. But if you are looking for minimal hassles today — buy an x86 box.
On the other hand, if you are willing to put up with the mess of today’s ARM SOCs, they are a great value for the dollar.
BTW, I am very happy right now if ARM SOC vendors get their kernel and drivers checked into the mainline Linux tree. That is the first step towards security and stability and I’m very happy when vendors do it. I also believe that over the long run these SOC vendors are going to come to understand that it is actually less work to get everything into mainline than it is to stay out of tree. Step two after getting mainlined is to get a process in place to push out updated kernels.
Hope it will be much less than 10 years… but I can not see it happening easily.
Part of Intel’s success was the huge market the IBM PC had opened for them.
Maybe that’s what ARM needs, a big name or a big product, to push things forward?
Pity MIPS (Loongson) has not been able to join the party (yet?)
Allwinner is not known for great software support, but look at the $9 CHIP using Allwinner R8/A13 with NEON acceleration, and mainlining their CHIP OS, with support from Free Electrons.
Since Nov2016 Kodi 16.1 works fine with 720p on the single core, with 1080p capabilities. Hopefully their new GR8 R8 and dual core based boards won’t be too expensive. They now claim to support 3D games like Quake.
Someone has to have the vision to spend money and effort.
@Athar
As you mentioned, Next Things Co. paid Free Electrons to support the processor and board in mainline Linux. That’s something that should really happen at the SoC vendor’s initiative for their processors, and evaluation boards, so that all their customers can built products with recent and secure Linux and U-boot versions.
@cnxsoft
You are right in principle.
In practice most SoC vendors will not bother to help out small board vendors who don’t represent big markets and who get cheap deals on excess inventory ( then compete on less than $1-2 margins.)
Such SoC vendors keep their tools and code to themselves, to be used in much bigger tablet and phone markets.
But then at least board vendors have lessons to learn from CHIP types. The surprise to me is that CHIP is not mentioned enough on this blog 🙂