This release is a BETA release meant for testing and evaluation of the latest features and security enhancements of the Android OS.
We still recommend either KitKat 4.4.3 or Lollipop 5.0.0 for new designs as the source code of this release cannot be shared.
For the impatient
You can download images from here:
- l511-nitrogen6x-20150903-BETA.img.gz for Nitrogen6X, SABRE Lite and Nitrogen6_Max
- l511-nitrogen6x_bcm-20150903-BETA.img.gz: for Nit6Q_W_BCOM
- l511-nit6xlite-20150903-BETA.img.gz for Nitrogen6_Lite
- l511-nitrogen6sx-20150903-BETA.img.gz for Nit6_SoloX
As usual, you’ll need to register on our site and agree to the EULA because it contains Freescale content. The image is a 4GB SD card image that can be restored using zcat and dd under Linux.
~$ zcat l511*.img.gz | sudo dd of=/dev/sdX bs=1M
For Windows users, please use Alex Page’s USB Image Tool.
First of all, this release includes all the features that were previously available in our last Android 5.0.0 release. We will only describe the changes brought either by the OS update itself or changes in features that have been enabled in last release.
Here is a non-exhaustive list of noticeable changes between Android 5.0.0 and 5.1.1:
- Quick Settings drawer allows now to access some menu such as WiFi selection
- Notifications have been heavily changed and now offer an option to temporarily dismiss them
- Change the system volume level while music is playing
- Fixes most memory leaks reported in 5.0.0 and 5.1.0
For a more complete changelog between the two versions, we invite you to look at the very nice Opersys website which lists all the different commits between every version:
Linux Kernel 3.14.38
This is the first Android release based on a 3.14 kernel which brings:
- Latest and greatest drivers support
- Vivante graphics libraries v5.0.11 p6.3-beta
- i.MX6 Quad/Dual Plus support
- i.MX6 SoloX support
- No more earlysuspend mechanism as recommended by the AOSP folks
Another change is to be noted regarding our display plug-and-play experience. Since the switch to device tree, it has been hard to keep a simple/readable 6x_bootscript that fits all our platforms/displays. So we went ahead and tried another approach having a default node for display timings which U-Boot is in charge to populate. This approach requires an update of U-Boot (see next section).
First you need to update U-Boot (after flashing the sdcard image provided above). To do so, you need to set a
uboot_defconfig variable which is unique per platform:
Below is an example for Nitrogen6x.
U-Boot> setenv uboot_defconfig nitrogen6q U-Boot> run upgradeu
Then everything should work out of the box again. But in case you wonder how to specify a specific display, here are some useful commands:
U-Boot> fbpanel clock-frequency hactive vactive hback-porch hfront-porch vback-porch vfront-porch hsync-len vsync-len hdmi: 1280x720M@60:m24:74161969,1280,720,220,110,20,5,40,5 74161969 1280 720 220 110 20 5 40 5 hdmi: 1920x1080M@60:m24:148500148,1920,1080,148,88,36,4,44,5 148500148 1920 1080 148 88 36 4 44 5 hdmi: 1024x768M@60:m24:64998375,1024,768,220,40,21,7,60,10 64998375 1024 768 220 40 21 7 60 10 lvds: lg1280x800:j24:71108582,1280,800,48,80,15,2,32,6 71108582 1280 800 48 80 15 2 32 6 ... U-Boot> setenv fb_lvds lg1280x800 U-Boot> saveenv U-Boot> reset
The example above uses
fbpanel to list all the available settings for this particular platform. Then the LVDS display is set to be the LG1280x800 display by setting
fb_lvds. The same can be done for HDMI or LCD displays through
Behind the curtain you can have a look at the
cmd_lcd variables which are now being run from the
6x_bootscript in order to setup the display timings and resolutions.
Source code access
Unfortunately the BETA source code cannot be shared. This is therefore a binary-only release but be sure it will help us getting the GA source code adapted and released faster.
You can however see the kernel changes (GPL) as well as our own device layer:
As always, let us know your experiences (both good and bad) when you test out this image.