Linaro Connect San Francisco 2015 is taking place this week, and several 96Boards have been presented including LeMaker Hikey and Qualcomm DragonBoard 410c, both of which will finally be available by the end of the year. But there are also many technical presentation and discussions that are uploaded to LinaroOnAir Youtube account, and they’ve greatly improved video and audio quality compared to the past, with presentation slides also available on Slideshare. I’ve just watched one of the session entitled “Kernel Mainline Status of Mobile Chipsets” by Tim Bird, Sony Mobile. Also the talk focus on mobile SoC, it’s also relevant to other consumer electronics products, and some embedded systems.
The presentation states the extend of the issues, shares comparisons between the vendor device tree and mainline, and explains how developers can participate, with the talk ending with a discussion within the group of attendees.
Here’s a summary of some of the key points:
- Shipping products are 20 versions behind Linux mainline, that’s about 3 years old, and have between 1 to 3 million lines of code out-of-tree, as shown in the table below, where they compared the vendors’ GPL source code releases to mainline Linux.
- Manufacturers find working with Linux is hard, even for a company like Sony with 1,100 developers, and many manufacturers don’t participate because they don’t understand the benefit, or simply don’t know how to do. The end results however is that users’ device don’t get any long term support for their devices.
- One of the issue is the development cycle goes through multiple parties. Google selects an LTS kernel, which then gets to SoC vendors, then device manufacturers, before reaching the end user, and the cycle repeat with a large “version gap” between mainline and the kernel used on devices.
- To reduce to version gap, a joint project between Linaro and the Linux Foundation aims to determine obstacles to mainlining, and reduce or eliminate them, and the results of analysis, generated with upstream-analysis-tools, shows large differences for the expect media & video drivers, as well as the architecture directory, but also for USB 2.0 code, simply because of the extra code required to handle USB charging that’s not supported in mainline.
- The analysis lead to kernel area of focus for mainling Wiki entry which includes potential work to be done for sensors, charging, NFC,GPS & Bluetooth using UART, and more. So if you a student looking for a summer or final year project, this could be something you could explore.
- Beside technical issues, and there’s a lot of work, there are also institutional barriers, and management must be convinced mainlining – and avoid binary blobs – is the way to go before committing resources. Some ideas are listed on eLinux.org such as gathering data to show the benefit of mainlining, possibly showing smaller code base for mainlined code which can leverage the kernel framework, making software costs visible, etc… You can edit the Wiki, and add your own ideas too.
You can watch the full 55-minute presentation below, and/or download the presentation slides.
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.
It’s not hard working with Linux- it’s that they don’t want to play ball doing it. They want to keep everything in house and not give anything away at-all, at IP Counsel’s instructions. It’s more a problem of lawyers not “getting it” and the Execs not being clueful enough to realize that their lawyers are blowing smoke up their backsides.
The last thing these guys want is maintainable hardware: these things are disposable fashion items with a designed-in limited life-span of months and not years. The device manufacturers themselves are just another consumer in the chain. For rapidly changing soc hardware which quickly becomes obsolete itself the effort of upstream patches is actually just a sunk cost since there’s no future benefit to be gained from the shared development resources this adds. In effect even the GPL compliance is also just a sunk economic cost for society – each kernel releases is just another isolated fork which gets thrown on… Read more »
Rockchip RK3368 and Mediatek MT6795 are part of mainline kernel now and will be released in with Linux kernel 4.3 :).
I think many mobile SoCs are part of mainline, but at different levels of implementations, and many can only boot to the command line, with more work to be done. It’s still nice that work is done in that direction.
@Nobody of Import It’s not as simple as that. The cost of defending a GPL licensed code is steep and is litigated in the accused party’s country. Even for individuals and small companies, the GPL is nearly useless when dealing with big corporations. This is why Microsoft is able to extort money over non-existent FAT patents and the likes from every Android device OEM. It’s also why Samsung could lose against Apple’s curved-angles nonsense. And it’s not getting any better. The US recession made pharmaceuticals and IT to cut back on R&D in the same panic that made factories in… Read more »
I wanted to chime in here as this is a topic that is near and dear to my heart. First, I want to say that this is a worthy struggle for manufacturers and for end users and for developers and for prosumers. If we focus on only the economic aspects, well I don’t care. Except, I do care sort of but not in the way that most people might. The way that I care is this open source is the only thing that I can see on the horizon that properly exploits technology for the benefit of everyone open source… Read more »