• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][AOSP][4.4/6.0/7.1] Unlegacy Android Project

Search This thread

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
The Unlegacy-Android Project​
Introduction
Unlegacy-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
 

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
GApps
If you want to install GApps, we recommend Open GApps Nano or BaNkS GApps.

An important note: as this is a pure AOSP ROM, installing GApps tends to be problematic: in order to try to avoid installation issues, be sure to install GApps immediately after installing the ROM, before booting the system for the first time. After the initial bootup finished, be sure to go into Settings -> Apps, and grant every permission to every Google application - most importantly, Google Play services.
In the case of an upgrade, be sure to re-install the GApps package, as upgrading wipes /system. You shouldn't need to re-set the permissions afterwards.

One more note. DO NOT set up your Google account until you grant all permissions, otherwise you will be stuck on the initial setup.

Rooting
You can flash either the latest SuperSU or OpenSource SuperUser to get rooted.
 
Last edited:

PythonNut

Senior Member
Aug 26, 2015
123
29
Out of curiosity, is aosp_mm_tuna_2016-03-12 running DDK1.9 or DDK1.8? I feel like it's 1.9 from your mention of recording artifacts, but I'm not an android developer, so I can't tell.

I'm running this right now, and it's awesome. Marshmallow in general seems to have much better performance than Lollipop on our device. I do miss some custom kernel flags, but I'm sure that'll come with time.
 

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
Out of curiosity, is aosp_mm_tuna_2016-03-12 running DDK1.9 or DDK1.8? I feel like it's 1.9 from your mention of recording artifacts, but I'm not an android developer, so I can't tell.
DDK 1.9 of course :)

@Ziyan Which recovery do you recommend ?
The latest TWRP should be fine. I might have not mentioned it in the OP, but the ROM supports F2FS as well.

DRM services not working means also Netflix doesn't work?
Possibly.
 
Last edited:

diogofd8

Senior Member
Oct 28, 2012
384
53
Porto
You are a god!
I'm downloading and will be testing this, I'm super excited about this work.

EDIT: So, first thing I've noticed is that the phone is struggling with the configuration in the first boot. Either in the "checking connection" or in the "just a sec..." loading frame, it freezes and doesn't get past it. Is it because of google play services?
 
Last edited:

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
So, first thing I've noticed is that the phone is struggling with the configuration in the first boot. Either in the "checking connection" or in the "just a sec..." loading frame, it freezes and doesn't get past it. Is it because of google play services?
Yes Google Play Services can mess it up - I don't recall how, but I managed to press a skip button or something to easily get past it when it started looping. I guess we should add a mini how-to to the OP about it, as I really don't want to hack the framework for this.
 

diogofd8

Senior Member
Oct 28, 2012
384
53
Porto
Ah, another thing!
When I flash the rom .zip file with all the partitions in f2fs, it auto changes to ext4 and installs. Maybe I'm being noob using TWRP so I'll say what I did here:

1) Full wipe
2) Convert system to f2fs, convert data to f2fs, convert cache to f2fs
3) Adb push rom zip file
4) Flash it
5) Check partition format, it's all on ext4
 

bamtan2

Senior Member
Mar 15, 2012
663
540
Ah, another thing!
When I flash the rom .zip file with all the partitions in f2fs, it auto changes to ext4 and installs. Maybe I'm being noob using TWRP so I'll say what I did here:

1) Full wipe
2) Convert system to f2fs, convert data to f2fs, convert cache to f2fs
3) Adb push rom zip file
4) Flash it
5) Check partition format, it's all on ext4

There are a couple things going on here. The system ROM is an ext4 image, so it doesn't matter what you format it to, because it'll always become whatever is in the image.

Furthermore, only /data benefits from being F2FS, but it's not you fault for not knowing this because it wasn't mentioned in the documentation! :)

The other thing is that I don't know of a TWRP build that isn't buggy. When I tried to format to F2FS, it didn't work because my particular version of TWRP had a bug. So maybe your /data format failed for the same reason. I personally do not know what version of TWRP will reliably work for this. But this is a discussion for the TWRP thread.
 
  • Like
Reactions: diogofd8

vipelp

Senior Member
Oct 25, 2014
56
9
Wifi is extremely slow.
I can't do anything.
Google Play store can't install apps.
 
Last edited:

vipelp

Senior Member
Oct 25, 2014
56
9
I already tried both and it doesn't matter.
Browser times out opening google.com.
Play store doesn't load images and can't download apps
Wifi automatically disconnects....
 

PythonNut

Senior Member
Aug 26, 2015
123
29
Wifi works perfectly fine here ....with 2.4ghz
you using 5ghz or 2.4 ghz ?

WiFi working fine for me on 5GHz as well.

To other people: when this ROM boots, you may see the Google splash screen, then the screen will go black, and the device will act like it has died. It hasn't. Just give it a minute and the regular Android boot animation will appear.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 140
    The Unlegacy-Android Project​
    Introduction
    Unlegacy-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
    44
    Nougat build is up. No, I have not died, and neither has the Galaxy Nexus.

    Decided to take an extra couple days to get this build stable rather than rushing out something that boots and does nothing else, sorry for the delay. :)
    I can't verify the full functionality of the RIL since I don't have a SIM in my GNex these days, so let me know if there's any issues with that.
    Everything else should be working well though.

    No idea what to do for GApps at this time. I haven't tried them yet.

    Download: aosp_n_tuna_2016-08-27.zip

    mu2TbMd.png


    As usual this was a team effort. @Ziyan helped, and @Hashcode (who I thought had died) helped as well.
    39
    GApps
    If you want to install GApps, we recommend Open GApps Nano or BaNkS GApps.

    An important note: as this is a pure AOSP ROM, installing GApps tends to be problematic: in order to try to avoid installation issues, be sure to install GApps immediately after installing the ROM, before booting the system for the first time. After the initial bootup finished, be sure to go into Settings -> Apps, and grant every permission to every Google application - most importantly, Google Play services.
    In the case of an upgrade, be sure to re-install the GApps package, as upgrading wipes /system. You shouldn't need to re-set the permissions afterwards.

    One more note. DO NOT set up your Google account until you grant all permissions, otherwise you will be stuck on the initial setup.

    Rooting
    You can flash either the latest SuperSU or OpenSource SuperUser to get rooted.
    38
    A wild android-7.1.0_r1 appears!

    jJzBSno.png


    Download: aosp_7.1_tuna_2016-10-21.zip

    We'll need to rename this project to Unlegacy-Android now that our migration from OMAP4-AOSP is done... sorry I haven't been paying much attention to XDA here. Spent a good week just getting video recording working on N, plus other things just in life of course.

    I can't attest to how well the RIL works, toro(plus) likely needs something fixed for mobile data still. maguro is probably fine.
    Other than that everything is working as far as I can tell.

    Source code is (kind of) available on GitHub. Right now there's no 7.1 branches up, but cherry-picking in our 7.0 branch commits and setting selinux to permissive should get you an identical build (minus a camera HAL fix specific to 7.1 which will be pushed tomorrow, I'm going to sleep)

    Edit: Fixed broken GitHub link.
    35
    New build up:
    - fixed battery saving location mode (cellular network and wifi location)
    - fixed DRM services
    - fixed Wi-Fi Display (screen casting)

    Enjoy! :)