Oliver Schinagl, a member of linux-sunxi community working on open source kernel and bootloader for AllWinner SoCs, has given a presentation of the community at FOSDEM 2014 to give an overview, and show what progress has been made to date. I’ll write a summary in this post, but if you want to watch the video and/or access the slides scroll down at the bottom of the post.
After explaining what sunxi is, and introducing himself, he gave some information about AllWinner and their SoCs:
- Founded in 2007 in Zhuhai, Chiang now with 550 employees including 450+ engineers
- 15% market share in 2013 for tablet SoCs, only behind Apple.
- Products: F-series SoC (2010), A10 (2011), A13, A10s (2012), and A20 (2013). (cnsoft He skipped A31(s) and A80 here as they are not really supported by the community).
- They list “Open Source Source” and “GPLv3” in their marketing materials although they clearly violate GPL in some part of the code. Progress is slowly being made however.
Sunxi community was born out of arm-netbook community working on EOMA68 boards in order to specifically target AllWinner SoCs, and now count over 600 mailing list subscribers (Google Group), 130 in IRC (#linux-sunxi), but only around 20 active developers.
Oliver then talks about the progress and status of different part of the software:
- Bootloader
- U-boot (lichee) NAND-only released by AllWinner, but requiring boot0/boot1 that were binary only until a source code release recently.
- U-boot (sunxi) MMC / SDCard only, developed by the community, and preferred bootloader as it boots from SD card.
- Barebox
- Initial work on Coreboot
- Operating Systems – Linux, FreeBSD, Tizen, Firefox OS and Minix (Interest only)
- Distributions:
- Fedora 18/19 maintained by a Red Hat employee in his spare time, and the best supported distro right now according to Oliver
- Others – Linaro ALIP, Arch / Gentoo, Debian / (X)Ubuntu, (Xen).
Interestingly one important OS is missing: Android. The main reason is because there’s no community around Android with sunxi, but there’s still minimal work being done on Replicant/CyanogenMod, and AllWinner SDK for Android has been released.
He then goes through the different Linux kernel and branches on linux-sunxi github repo:
- Lichee 3.0, 3.3 and 3.4 (with some 3.8 backport) from AllWinner. Some code in 3.4 version comes from sunxi linux work
- Sunxi 3.0 (deprecated), 3.4 (maintenance), experimental 3.10 (Long term support kernel, likely to be used by Android 5.0, with AllWinner SoC support in mainline, and features like KVM and CMA),
- Mainline kernel with two branches: sunxi-devel (latest code) and sunxi-next (with patches accepted into mainline). All mainline work has been done by the community, with no involvement from AllWinner. Currently CPU, interrupts, Timers, RTC, Watchdog (also used for reset), Ethernet and I2C are working, and you can boot a headless server. More info @ http://linux-sunxi.org/Linux_mainlining_effort.
He also talked of FEX files, the configuration files for AllWinner SoCs, that have a functionality similar to device tree, and in kernel 3.10 both device tree and fex files are supported. There’s also a tool called sunxi-babelfish that converts fex files into device tree files.
That’s all of the open source software part of the talk, and next is a list of hardware for playing around with AllWinner SoCs:
- Olimex LIME board, fully open source hardware
- Cubieboard 1 & 2, with schematics (PDF), but not all files to be fully open source hardware
- EOMA68 / Improv. Improv, the baseboard, is open source hardware, but EOMA68 is not yet, although it should become open source hardware once the company (QiMod) gets back its initial investment
- If you don’t have one of the three development platform above, you can also use one of the many tablets, media players, or HDMI TV stick available on the market.
AllWinner based device are unbrickable, as they can always to booted from a micro SD or SD card, and if no SD card is available, you can use FEL-mode to access the board via USB.
So all in all there’s currently good support for sun4i (A10), sun5i (A10s and A13) and sun7i (A20) SoCs, and it could even become FSF endorsable, but nothing is perfect, as the community is not really involved in A31, A31s and A80 development as these are based on PowerVR GPU, with no hope of ever getting open source GPU drivers in Linux, and there are binary blobs with Mali GPU (3D), GPS, and touchscreen drivers, and the Boot ROM (BROM) and CedarX libraries (APU/VPU) are only available in binary format. There’s however work on open source Mali GPU driver (Limare) which could be usable this year, and there’s reverse engineering work being done for video decoding.
Oliver shows a demo of hardware video playback with a 100% open source implementation, capable of even playing files not supporting by the official binary only version, and gets a around of applause when he announces the complete presentation was done on an AllWinner board.
The talks ends with detailing the different ways you can contribute to the community: editing the Wiki, adding new supported devices, helping porting AOSP, CyanogenMod, Ubuntu Touch or Firefox OS, and submitting kernel patches.
The presentation slides are available here.
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
Hmm – how long has it been now since the first of many “XBMC coming soon to A10”? Two years? How many half-baked solutions, AW statements of support and promising proof-of-concepts? Not that XBMC is the holy grail of computing, but it is a very good indicator of the state of things. I appreciate all the efforts and hard work many people have put into this (an other AW SoCs), but at some point it is probably best to switch horses. Without proper vendor backing, this is an uphill battle which nobody really deserves. Welcome to closed source, NDA hell.… Read more »
@Bobby
I think it’s worse than that: either you go Qualcomm or straight to X86 if you want half-way decent hardware with drivers that actually work (open source ones in the case of Intel).
Oliver is missing Openwrt in the distro list.
Really sad that Allwinner as a company does not realize the opportunity of getting a open source community involved and fully collaborating, basically saying no to free labor, no to broader target audience, and no to a larger user base. Very cool however that the FSF (Free Software Foundation) have put CedarX Audio and Video Hardware Accelerator on their list of “High Priority Reverse Engineering Projects” http://www.fsf.org/campaigns/priority-projects/reverse-engineering CedarX, the VPU used in all Allwinner A10, A13, and A20 SoC is even listed as second highest priority in order for FSF reverse engineering work. But unfortunately so far all reverse engineering… Read more »
Hybrid wrapped Android libraries (using libhybris to load Allwinner’s closed source CedarX binaries) is today the only good workaround to get proper CedarX VPU support under Linux that will satisfy an end-user of example XBMC or VLC. Do not think that way is GPLv2 compatible which is why I believe libhybris method is yet not not in mainline XBMC or VLC
http://linux-sunxi.org/CedarX/libve
While the CedarX reverse engineering effort at least to us outside the project looks to have completely stalled
http://linux-sunxi.org/Reverse_Engineering/Cedar_Status
http://linux-sunxi.org/CedarX/Reverse_Engineering
“…and you can boot a headless server.”
By chance, anyone knows of a working A10 kernel based on the ‘sunxi-next’ branch??
Thanks.
Harley : Really sad that Allwinner as a company does not realize the opportunity of getting a open source community involved and fully collaborating, basically saying no to free labor, no to broader target audience, and no to a larger user base. Very cool however that the FSF (Free Software Foundation) have put CedarX Audio and Video Hardware Accelerator on their list of “High Priority Reverse Engineering Projects” http://www.fsf.org/campaigns/priority-projects/reverse-engineering CedarX, the VPU used in all Allwinner A10, A13, and A20 SoC is even listed as second highest priority in order for FSF reverse engineering work. But unfortunately so far all… Read more »
@Harley
I think the demo at FOSDEM 2013 was based on libvdpau-sunxi, with no binary blobs (CedarX) at all. http://www.cnx-software.com/2013/08/30/preliminary-reverse-engineered-vpu-driver-cedarx-for-allwinner-a10-plays-h-264-videos/
@Someone from the other side
I’ve hardly seen Qualcomm SoC in any devices other than smartphones and tablets, and I can’t remember seeing Linux run on their platforms.
I agree with the comments about there seemingly being a whole lot of wasted developer effort being put into these socs. I do like the idea of some sort of foundation rewarding good behaviour and directing development resources at those platforms, which in turn should broaden the userbase and sales. I can only hope that things like the wibtek mini PC that cnxsoft chased down recently – http://www.wibtek.com/products/Mini-Box-PC/show/?pid=173 – or cheap dual/quad bay trail motherboards in an affordable enclosure start to steal a lot of the mindshare of the XBMC userbase. In this case a USB stick is only needed… Read more »
With so many commenters being so clueless (have they even watched the video?), appears that it might be useful to have a separate article providing a recap of important events and covering the current open source hardware video decoding support status on Allwinner chips.
@Bobby Saying that AW/sunxi is at it for 2 years bringing XBMC to the masses is a little unfair. A10 was released in 2011, so products where coming out later that year? We’re not 2 1/2 years later, in which sunxi was ‘formed’ and started to hack. I would argue that this probably is the worst time to switch horses, and what horse would you bet on? A PowerVR one? Rockchip one? Who do you think has the biggest community? While being biased, I can tell you sunxi is one of the bigger ones. Also, who is the most opensource… Read more »