The Unlegacy-Android Project
IntroductionUnlegacy-Android started out as the OMAP4-AOSP Project. It was created in late 2015 in order to maintain a clean and organized place for pure AOSP support for various OMAP4 devices, such as the Galaxy Nexus and the Samsung Galaxy Tab 2 series. Over time this evolved to support more than just these devices, but still maintains its roots of supporting "legacy" devices that no longer receive "official" updates: hence Unlegacy-Android was born.
This organization's goal is not to create feature packed ROMs, but to create a base ROM in such a way that custom ROM developers can easily adapt the changes. We're good at (properly) fixing compatibility issues between newer Android versions and older devices, among other core things. The "bells and whistles" like themes we leave to others.
The first public build here had something exclusive for the Galaxy Nexus, yet unseen on any other OMAP4 device: all RAM carveouts reserved for Ducati (the multimedia subsystem of OMAP4, responsible for hardware-accelerated video decoding, encoding and camera functionality) have been switched over to CMA.
A few words for those who see CMA for the first time:
The Contiguous Memory Allocator (CMA) makes it possible for device drivers to allocate big contiguous chunks of memory after the system has booted.
The main difference from the similar frameworks is the fact that CMA allows to transparently reuse memory region reserved for the big chunk allocation as a system memory, so no memory is wasted when no big chunk is allocated. Once the alloc request is issued, the framework will migrate system pages to create a required big chunk of physically contiguous memory.
This means that a total of 996 MB physical memory is available to the system, while keeping Ducati fully working - this is a huge step forward, coming from the 694 MB available in the last factory image released by Google (Android 4.3). This gives the OS access to an additional 300MB of RAM.
While CMA was just recently implemented for this device, thanks to one of our developers (let's just call him Luden), it's quite stable: even under heavy memory pressure, the system manages to free up the required memory in order to start up Ducati and launch the requested multimedia functionality in a few seconds at most.
Installation
For Marshmallow (6.0) and below, It's important that /system needs to be unmounted before installing the ROM - some recoveries tend to leave it mounted after performing operations on it.
If you're planning to install GApps, be sure to read the second post!
Aside from these, installation and upgrading is no different than on other ROMs.
Problems
While we weren't able reproduce any CMA-related problems, hidden ones can still arise. In most cases, these problems will be either lost Ducati functionality (no multimedia capabilities) until rebooting, or a kernel panic (hard reboot) - upon noticing any of these, be sure to grab a logcat/dmesg and/or last_kmsg and send it to us (preferably by attaching it to a post in this thread).
Other than that, these are bugs we're aware of in the current build:
- The RIL on LTE devices (toro, toroplus) isn't fully working; calls and texts should be OK, but expect no data.
- Sound pops can be observed, mostly when using touch sounds (this is being investigated)
- Some exotic video formats or camera modes might not be perfect - if you notice any artifacts or green spots (the issue that happened in the past), report the details in this thread
- Inverted colors mode not working
- Tricky connection to some 5 GHz Wi-Fi networks
- SELinux is in Permissive mode (this isn't a problem for most people, just mentioned it here as extra information)
If you notice anything else, be sure to report it in this thread. While we're kind of busy, we usually read the thread and acknowledge the bug reports, even if I don't reply directly to them.
Downloads
See: http://builds.unlegacy-android.org.
As usual, feedback is appreciated
Want to support development? You can consider donating, we've spent countless of hours with this
XDA:DevDB Information
Unlegacy Android Project, ROM for the Samsung Galaxy Nexus
Contributors
Ziyan, MWisBest, Android-Andi
Source Code: https://github.com/Unlegacy-Android/
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.0.x
Version Information
Status: Stable
Created 2016-03-12
Last Updated 2017-04-07