Linaro Android JellyBean on Galaxy Nexus (GSM) – Accelerating Mobile Devices

 In Android, Hardware

Linaro Android 12.08 is not just the first Linaro Android release based on JellyBean (android-4.1.1_r4, to be more precise) – it also introduces support for JellyBean running on the Galaxy Nexus.

We’ve brought back all the optimizations made for earlier Linaro Android releases – supporting the Linaro compilers, supporting building without -fno-strict-aliasing, replacing string routines in Bionic, and adding a proper sincos() implementation to Bionic.

The result is a build that works well enough for every day use (I’ve upgraded my phone – so far, I haven’t run into any serious problems), and that does quite a bit better in benchmarks than the original JellyBean firmware.

SunSpider shows a speed increase of 13% on average, with speedups of up to 30% on some tests, and slowdowns of less than 3% in the worst cases. Improvements here can be attributed to the string routines, newer compiler, and better compiler flags used in Linaro Android.
0xBench 2D tests show a significant performance increase in particular in the DrawArc tests – likely for the most part due to sincos().

Unlike the earlier port, this is an official build that will be updated every month.

Of course, the source for all improvements is publicly available, and will be submitted to AOSP after getting some more testing.

Recent Posts
Showing 4 comments
  • Jani Monoses

    Do these changes translate to measurable battery life improvements on the Galaxy Nexus?

    • Bernhard Rosenkränzer

      I haven’t done any real measuring there yet, but my subjective impression from just switching to the build is that the improvement is slight, but there.

  • Pasquale Mastromattei

    Hi, I wanted to know if in the future it will be possible to download your ROM zip, already compiled without waiting for other teams like Cyanogen or AOKP? Thank you!

    • Bernhard Rosenkränzer

      That is already possible.
      It’s just a little bit more complicated because we can’t legally distribute the binary blobs (graphics drivers etc.), so you have to run a little script to add those to the build.
      See the installation instructions posted on the build page.