Cute Embedded Nonsense Hacks, Nouveau Driver for Tegra K1, and Android Defaults to ART
There’s been some news at the end of this week that may not warrant a full article, but are still fun and/or interesting nonetheless: comments by the lead developer of Fedora ARM led to “Cute Embedded Nonsense” meme on Google+, preliminary commit for open source drivers for Tegra K1’s GPU, and Android Open Source Project defaults to ART instead of Dalvik.
If you have a Google+ account, and circled a few people involved in ARM Linux, you must have seen a few postings about “Cute Embedded Nonsense Hacks” in your feed. It all started when Jon Masters posted about Red Hat’s ARM SBSA platform requirements, and in particular one comment that reads:
I am all for people installing their own kernels if they want to. I support aggressively defined standard platforms (not cute embedded nonsense hacks) but not locked platforms. You can keep both parts when it breaks, of course.
This generated quite a buzz in Google+, with ARM Linux developers getting upset, and Jon Masters later apologized, and promised $100 to the charity of choice to the best “graphics” representation of “Cute Embedded Nonsense Hacks”. You can even buy a T-Shirt.
Separately, if you’ve been frustrated by the lack of open source drivers for GPUs used in ARM SoC, there’s some hope, as initial support for Tegra K1’s GPU, codenamed GK20A, has been added to the Nouveau drivers, which are open source drivers for Nvidia GPUs. Here’s an excerpt of the commit email:
GK20A is the Kepler-based GPU used in the upcoming Tegra K1 chips. The following patches perform architectural changes to Nouveau that are necessary to support non-PCI GPUs and add initial support for GK20A. Although the support is still very basic and more user-space changes will be needed to make the full graphics stack run on top of it, we were able to successfully open channels and run simple pushbuffers with libdrm (more testing including rendering is in progress as we get more familiar with Nouveau’s user-space interface).
This work should be considered as a RFC and a proof-of-concept for driving future Tegra GPUs with Nouveau. Some design choices need to be discussed and quite a few inelegant shortcuts were purposely taken to minimize the size of this first set. Or said otherwise, apart from the changes that add support for non-PCI GPUs, remarkably little code needs to be added to get GK20A to a point where it is actually running. This is very encouraging, and it will be interesting to keep improving this support and see where this gets us.
You can get the full details @ http://lists.freedesktop.org/archives/dri-devel/2014-January/053028.html
With the release of Android 4.4 (Kitkat), Google added ART (Android Runtime) as an alternative Android runtime that can run instead of Dalvik virtual machine. Dalvik is based on JIT (just in time) compilation, which means the code is translated into machine code each time it runs. ART is based on AOT (ahead of time) compilation, and translates Java bytecode into an architecture dependent binary during installation so that apps will start and run much faster when in actual use. One drawback is that ART takes a bit more storage compared to Dalvik, as it needs to store the machine-code binaries.
The Android 4.4 Kitkat firmware you have in your device still defaults to Dalvik, as ART breaks some of the apps. But good progress must have been made, as a recent commit into AOSP now makes ART the default runtime. So I’d assume Android 4.4.3 will come with ART by default. Via Liliputing.