Since Allwinner has joined the Linaro Digital Home Group earlier this year, many people, including myself, have wondered what it means in terms of Linux support, and the engagement with the open source community. Following up on an idea from a regular reader, I’ve decided to asked a few questions to Ben-El Baz, marketing manager at Allwinner, and Linaro contact for Allwinner, which he kindly answered, and accepted to be published on CNX Software.
- CNXSoft: Why did Allwinner decide to join Linaro, and especially the Digital Home Group?
Allwinner: One of our company’s goals is to be a technology leader. It’s ambitious but not too far-fetched given the background of our leadership and engineering team. There’s an extremely talented group of guys behind the scenes here!Leading is difficult unless you’re involved in collaborative organizations like Linaro that work on new technology. Joining Linaro is an opportunity for us to grow and develop new technology together with other leading companies. We’ve actually been trying to find the right time to join Linaro for over a year. The Home Group was a perfect entry point; since the end of last year we’ve invested more resources into our home entertainment (OTT) division. Our roadmap has added many new home sector-specific SoCs as well.
Joining Linaro is also a continuation of our open strategy. We’ve tried to be as open as possible since joining the app processor space; we were one of the first low-cost vendors to fully support the open source hardware community through partners like CubieTech, OLinuXino, pcDuino, Merrii, and more. I’m sure I’m forgetting someone, please don’t be mad!
- CNXSoft: There are three levels of membership for companies at Linaro: Core member, Club member, and Group member. AllWinner joined Linaro as a Group member, which as I understand is a limited membership, and leads to several questions:
- Will Allwinner primarily have an observatory role in the Digital Home Group, or will the company be actively engaged?
Allwinner: Joining an international, collaborative engineering organization is new to us. We’ve mostly been observing up to this point, but we’re trying to get more involved. Getting more involved means our engineers more closely following Linaro’s roadmap and thinking about new projects we could bring into the Home group. We’ve already brought up some ideas within the group. - Will the work done in the Digital Home Group focus mainly on higher level applications, or will some work be done on the kernel and drivers as well, specifically to the parts relating to Allwinner, or in other words will there be engineers at Linaro working on code specific to Allwinner?
Allwinner: Still doing work planning. Happy to share more details after Connect. Have already done some ground work to support upcoming projects though. Welcome any ideas from the community as well.
- Will Allwinner primarily have an observatory role in the Digital Home Group, or will the company be actively engaged?
- CNXSoft: I understand there’s no Allwinner Landing Team at Linaro, so there won’t be engineering builds targeting Allwinner hardware released by Linaro. Does Allwinner plan to eventually put more resources into Linaro?
Allwinner: We’re more resource-limited compared to other larger Linaro members but still able to make appropriate engineering commitments. We’re thinking about increasing our contribution over time – this type of collaboration is still very new to us.
- CNXSoft: Do you expect the Linaro membership to affect the way the company approaches open source development? For example, like many silicon vendors, Allwinner develop their own SDK (Linux,U-boot, etc..) in house, and release a vendor tree to direct customers, but it appears many companies are seeing the benefit of committing code to mainline (kernel.org), and there’s a clear trend in that direction. Now Allwinner mainline support is mainly performed by linux-sunxi community, so I’m wondering if Allwinner has any interest in getting involved in this area?
Allwinner: I think there will always be a split software support focus – one towards productization and one towards mainline Linux support. Recently we started a more formal engagement with the linux-sunxi community; hopefully this will enable us to better support developers. Mainlining is important to us but needs some focus. It’d help to hear what the community wants. Which Allwinner SoCs would you like to see with mainline support? With which modules supported? In which kernel version (realistically!)? Why?
They also told me more details should be available after Linaro Connect USA next month.
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
“Which Allwinner SoCs would you like to see with mainline support? With which modules supported? In which kernel version (realistically!)? Why?”
The Allwinner CPUs all have fairly similar devices. So instead of supporting SPI on the A10 you write an Allwinner SPI driver that includes the small adjustments to support the slight variations between the CPUs. So there should be a single device driver for each peripheral that is used in common over all of the CPUs. But if the SPI controller for the A80 is some completely different IP it would have a different driver.
You also don’t support a kernel ‘version’ in mainline. Mainline is always progressing and your drivers will appear in all of the future kernel releases once they are included in mainline. That’s the big difference between out of tree and mainline. Out of tree development gets stuck on a kernel release. Mainline development doesn’t. So if you start adding code to mainline right now your first kernel might be 3.18. But the drivers would then also be in 3.19, 3.20, 3.21….. Once everything is mainlined you just need to test each release and make sure nothing gets broken.
I do not see that more formal engagement with linux-sunxi. If there were any “formal engagement”, would the linux-sunxi main page be reading what it reads? We at linux-sunxi were hopeful for more direct allwinner communication and participation _before_ they joined linaro, but ever since then, it’s been mostly silence. “Recently” is either half a year ago, or, the future.
So allwinner, start putting your money where your mouth is, but start by resolving the blatant GPL violations in your source trees first, and come and actually engage with at least the core of the community of linux-sunxi. And this is not done by asking some random questions on an interview somewhere, but by emailing the relevant individuals first.
I like to see A1x and A2x CedarX VPU libraries and code be fully open sourced under a GPL compatible license so that we can get official support into upstream XBMC, now Kodi. Or at the very least release OpenMAX IL drivers for Linux (and Android) for A1x and A2x CedarX VPU, same as Broadcom does.
XBMC now practically supports hardware video decoding on almost all platforms with the exception of A1x and A2x CedarX VPU.
Rockchip-MTK-Intel probably will push Allwinner to 4th place on the market in the tablet/alike space very soon, which is not good news. Still, A1x/A2x is way ahead of Rockchip and MTK in the OSS community, please make it better, by engaging with sunxi and get the VPU situation resolved. I plan to make an A20 SOM soon myself.
I’m not sure Allwinner has the IP rights for the VPU stuff but wasn’t the CedarX stuff reversed engineered ( almost ) completely ?
Sometimes I really don’t get it why it’s so hard for Allwinner or other similar companies to just release some documentation ( and/or some source coded ) for developers. I can’t see them having anything to loose.
CedarX had been already reverse engineered (at least for H.264). And hardware accelerated video playback works in MPlayer with the use of VDPAU. This is a completely open source solution, which still relies on the non-mainline sunxi-3.4 kernel though.
The ball is basically on the XBMC side. If XBMC developers/contributors want to have Allwinner A1x/A2x support in their software, then they need to start talking with the sunxi CedarX reverse engineering people and do a bit of work to make it happen.
“Welcome any ideas from the community as well”
good, so lets start with a near future octacore allwinner Soc that’s finally got 4xPCIE and 4xSATA in a Odroid form factor and price point for mid range SOHO/SME and home DIY assembly from allwinner IP blocks and add-in interconnect chips etc…
is it true that currently you use a generic arm supplied Cache Coherent CoreLink that you cant interface directly to the outside world ! so we cant have simple things like full data throughput from any existing high bandwidth bridge chips ( USB3 to PCiE etc), will you be adding several Cache Coherent CoreLink high bandwidth allwinner created IP if theres no other way to finally connect that internal CoreLink to the masses of external chip IP on the markets today?
@Jon Smirl
Hi Jon – Understand your points on mainlining. Will take your device driver feedback internally.
Ben
Hi Luc – Agree we should be engaging more. We’ve made some progress working with Simos recently. We can talk directly but I don’t have your email address – maybe we can link up through Jon or Simos?
Ben
@Ben Luc’s email is on his blog:
http://libv.livejournal.com/profile
@CNX Maybe pass this on to Ben in case he doesn’t see it?
@davE
Hi Dave – Regarding A80 CCI: USB data can be directly processed in DRAM (via DMA) without passing through CCI, but if you want to use CPU to process data it’ll route through CCI.
Would help to know more details about the full application in question – if you leave some contact info we can talk more.
Ben
I have a special suggestion: Make A20 industrial temperature capable. We’d like to use it in multiple market segments.
@ssvb
Bullshit! Allwinner have been jerking around with XBMC too long already!
If Allwinner Co. wants XBMC support they will have to add the support.
Allwinner Co. would make money from having official XBMC support.
XBMC is a non-profit org and its volunteers gain nothing for adding this.
@Harley
Dude, I don’t know if you are one of the XBMC developers or not, but you are clearly missing the point. The CedarX hardware had been already reverse engineered by the volunteer developers from the linux-sunxi community and Allwinner Co. is irrelevant here.
I’m just saying that MPlayer (with or without a nice SMPlayer GUI frontend) can use hardware accelerated video decoding, but XBMC can’t. As a result, this makes XBMC an inferior solution for video playback and the users are better to stay away from it until somebody improves XBMC. This somebody could be Allwinner Co., XBMC maintainers, the volunteers from the linux-sunxi community, the volunteers from the XBMC community or just anyone else.
To sum it up. The Allwinner hardware has open source video decoding acceleration support, but XBMC currently fails to make use of it. Hence the ball is on the XBMC side.