[ROM][AOSP][6.0/7.1][K3.4] 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. In our opinion, these ROMs are how the official updates would look.

On top of AOSP, we only include changes which are necessary to support the hardware, be secure, and get acceptable performance. Current features for the Nexus 7 (2012) include:
- Linux kernel 3.4.y (currently 3.4.113)
- BFQ IO scheduler (official kernel 3.4 release), set up so GUI processes have the highest priority
- F2FS support from kernel 4.9 (for /data only! no point of f2fs on /cache)
- SELinux in Enforcing mode

Installation
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
- We received some RIL bug reports on 3G variants - other than that, there are no known issues.

If you notice anything, be sure to report it in this thread. Stability is our main concern. While we're kind of busy, we usually read the thread and acknowledge the bug reports, even if we don't reply directly to them.

Downloads
See: http://builds.unlegacy-android.org. Our automated builds ensure that we always have the latest Android security patches merged in, without having to manually start and upload builds :)
We will have a built-in OTA updater (just like stock) soon (it's a work in progress) :)

Features?
There isn't much to say here - this is AOSP, if you install GApps, you pretty much get the same thing that's running on the Nexus devices (see the second post). The aim of this project is to create a fast and stable ROM - although, one could use Xposed (or similar) to add extra features.

As usual, feedback is appreciated :)

XDA:DevDB Information
Unlegacy Android Project, ROM for the Nexus 7

Contributors
Ziyan, sheffzor
Source Code: https://github.com/Unlegacy-Android

ROM OS Version: 7.x Nougat

Version Information
Status: Stable

Created 2015-06-07
Last Updated 2017-12-23
 
Last edited:

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
Reserved

GApps
If you want to install GApps, we recommend Open GApps Pico.

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. If you experience any issues with the Google applications, 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.

SafetyNet
The ROM should pass SafetyNet after installing GApps, without anything else. Keep in mind that installing extra stuff (SU, ...) might make it fail!

Rooting
You can flash the latest Magisk to get rooted.
 
Last edited:

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
I was able to workaround the panel errors in the kernel - PWM control isn't working for some reason, so I had to use an alternative method to enable backlight, meaning it's using a fixed brightness. This isn't important right now (I want the core functionality to work before making stuff bug-free). I also forward-ported the touchscreen driver, so it's mostly working now - it still needs some fixups for 3.4. My next goal: audio and video decoding.

View attachment 3350098

Kernel/common android-3.4 branch could be merged into the kernel after it's fixed up, which will surely make it more efficient.
 
Last edited:

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
While I try to do my best to keep myself from working on this 24/7, I couldn't resist... and fixed camera, video encoding and decoding, and audio (party, just the rear speaker works yet) also works now :silly: what this means? Blobs won't stop us, as they work fine on 3.4 as well.
 

Ziyan

Recognized Developer
Jun 6, 2010
875
9,125
28
Szentes
Today, I fixed sensors and panel PWM control (meaning brightness can be changed, auto-brightness works fine as well), and Bluetooth. Doing this alone requires a huge amount of time and work, as there's still a zillion thing to do, like merging in android-3.4, fixing up touchscreen (there are ghost touches and packet spams slowing down the kernel), fixing up suspend (need to press power button multiple times to wake up), audio, otg, etc...
 

19dragon98

Senior Member
Feb 14, 2014
209
102
Italy
No one else has tried building this then?? I thought this thread would boom after all the excitement for 3.4 on the 3.1 bringup thread. Anyway, Ziyanns just helped me fix this booting for both pcbs now so it should boot for everyone.

I tried to build (img) but without success...As you said on a recent post you cannot build .img but you need to to hardcode your pcbid and projectid into board-grouper-misc.c but i dont know how to do it :S
 

everesee

Senior Member
Feb 12, 2013
161
50
OnePlus 9
Give_that_man_a_cookie.png
 
  • Like
Reactions: Ophidian_DarkCore

Top Liked Posts

  • There are no posts matching your filters.
  • 142
    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. In our opinion, these ROMs are how the official updates would look.

    On top of AOSP, we only include changes which are necessary to support the hardware, be secure, and get acceptable performance. Current features for the Nexus 7 (2012) include:
    - Linux kernel 3.4.y (currently 3.4.113)
    - BFQ IO scheduler (official kernel 3.4 release), set up so GUI processes have the highest priority
    - F2FS support from kernel 4.9 (for /data only! no point of f2fs on /cache)
    - SELinux in Enforcing mode

    Installation
    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
    - We received some RIL bug reports on 3G variants - other than that, there are no known issues.

    If you notice anything, be sure to report it in this thread. Stability is our main concern. While we're kind of busy, we usually read the thread and acknowledge the bug reports, even if we don't reply directly to them.

    Downloads
    See: http://builds.unlegacy-android.org. Our automated builds ensure that we always have the latest Android security patches merged in, without having to manually start and upload builds :)
    We will have a built-in OTA updater (just like stock) soon (it's a work in progress) :)

    Features?
    There isn't much to say here - this is AOSP, if you install GApps, you pretty much get the same thing that's running on the Nexus devices (see the second post). The aim of this project is to create a fast and stable ROM - although, one could use Xposed (or similar) to add extra features.

    As usual, feedback is appreciated :)

    XDA:DevDB Information
    Unlegacy Android Project, ROM for the Nexus 7

    Contributors
    Ziyan, sheffzor
    Source Code: https://github.com/Unlegacy-Android

    ROM OS Version: 7.x Nougat

    Version Information
    Status: Stable

    Created 2015-06-07
    Last Updated 2017-12-23
    40
    I have decided to open-source the kernel trees again, hoping some developers will respect our work this time (and maybe actually help us). As a bonus, I have also uploaded an AOSP 6.0.1 ROM with this kernel and the necessary userspace changes included. Speaking about userspace, check out the repos at the Grouper-AOSP project - a lot have changed, including the removal of several ugly workarounds previously needed for M. As an extra gift, everything needed to build M with 3.4 is included in that org - simply init the repo with the aosp-6.0 branch (using the platform_manifest repo url), and you're good to go to build exactly the same ROM I uploaded :) but please, if someone decides to release a kang or something, please give us some credits by at least including our nicks and this thread in the op (hopefully, after looking at the commit history of the kernel, everybody will notice the vast amount of time spent with this). I'd rather not see 3.4 included in ROMs yet - extra flashable zips are OK (until this is proven to be stable enough for general usage). If someone claims this as his own work or something, I won't hesitate to make the sources private again - I hope everyone will understand this situation after spending a couple hundred hours working on this stuff.

    Alright, the current kernel bugs are listed here (this is the "main" kernel repo, the Groper-AOSP project includes a recent mirror of this), plus in the uploaded ROM:
    - tricky audio playback (I believe other M roms had this issue in the past, but I'm really not sure if it's the same issue with no sound after boot, also the left and right channels are swapped - I'll investigate it in the future)
    - DRM not working (should be easy to fix later)
    - possibly other minor issues, report them here in the thread

    A couple notes: this is a pure AOSP rom, as of now, there are no plans to include extra features. It's also not optimized to be "snappy" - there is no zRAM and other stuff in here, which should greatly improve memory management with 3.4, but for now, our plan is to make this thing fully working and stable. A couple drivers were replaced or rewritten, so there might be some minor issues remaining. And to be honest, I don't know anything about the performance compared to 3.1, so reports about it are welcome - there's still room for improvements, like disabling some extra debugging that might be present in 3.4.

    I would be happy if all the discussion about this were kept here - I only want to hear about bug reports when using my unmodified uploads, not about bug reports with even more unstable kangs :)
    30
    sad that the most important project on the grouper is left aside

    Left aside?

    Code:
    * 98bbded - (HEAD, origin/linux-tegra-nv-3.4-grouper-staging, linux-tegra-nv-3.4-grouper-staging) drivers: al3010/ami306: allow sensors-load-config.sh to load the calibration data (3 weeks ago) <Ziyan>
    * 41ae3c4 - grouper_defconfig: sync net config with the Android recommended config (4 weeks ago) <Ziyan>
    * 79559dd - grouper_defconfig: remove no longer required special debugging features (4 weeks ago) <Ziyan>
    * c4ae8a2 - drivers: hwmon: al3010: switch to loading calibration data via sysfs (4 weeks ago) <Ziyan>
    * 4567b5d - staging: iio: use monotonic time since boot for event timestamps (4 weeks ago) <Ziyan>
    * 280e975 - cpuquiet: balanced: disable hotplug during UI interaction (6 weeks ago) <André Pinela>
    * 8d79885 - usb: otg: tegra: delay peripheral registration by 10 ms (6 weeks ago) <Ziyan>
    * edbfc81 - smb347-charger: Convert to use module_i2c_driver() (7 weeks ago) <Mika Westerberg>
    * cdc9702 - power: smb347: Fix message newline (7 weeks ago) <Todd Poynor>
    * c348f54 - power: bq27541_battery: adapt to mainline smb347 charger driver (7 weeks ago) <Ziyan>
    * b7c28d2 - power: smb347: interrupt on both rising and falling edges (7 weeks ago) <Ziyan>
    * 596d7fb - [GROUPER] power: smb347: correct charging source detection (7 weeks ago) <Ziyan>
    * e1d9971 - arm: grouper: add platform data for smb347 charger (7 weeks ago) <Ziyan>
    * ffa428e - Revert "Forward-port smb347 charger driver" (7 weeks ago) <Ziyan>
    * 2d0de5b - power: bq27541_battery: improve logging (8 weeks ago) <Ziyan>
    * 5a9eaa7 - power: bq27541_battery: rename cable type callback function (8 weeks ago) <Ziyan>
    * b52fc6b - power: bq27541_battery: change i2c device name (8 weeks ago) <Ziyan>
    * 3efdcf8 - power: bq27541_battery: convert to dev_pm_ops (8 weeks ago) <Ziyan>
    * 1685cfe - grouper_defconfig: remove unused hardware support (8 weeks ago) <Ziyan>
    * 2afbc6a - input: gpio_keys: fix missing wakeup key events (8 weeks ago) <Ziyan>
    * b73c19d - arm: grouper: correct framebuffer sizes (8 weeks ago) <Ziyan>
    * 746f14a - grouper_defconfig: recreate with savedefconfig (9 weeks ago) <Ziyan>
    * 12ad7cf - ANDROID: android: base-cfg: disable CONFIG_SYSVIPC (9 weeks ago) <Greg Hackmann>
    * 54ac44b - ANDROID: exec_domains: Disable request_module() call for personalities (9 weeks ago) <John Stultz>
    * 4fac624 - BACKPORT: pagemap: do not leak physical addresses to non-privileged userspace (9 weeks ago) <Kirill A. Shutemov>
    * 2742e1d - arm: mm: support ARCH_MMAP_RND_BITS. (9 weeks ago) <dcashman>
    * 3079013 - mm: mmap: Add new /proc tunable for mmap_base ASLR. (9 weeks ago) <dcashman>
    * b85b32d - net: fix iterating over hashtable in tcp_nuke_addr() (9 weeks ago) <Dmitry Torokhov>
    * e648c4d - grouper: config: enable multi-core scheduler support (9 weeks ago) <André Pinela>
    * 4a2bf80 - asoc: grouper: forward-port and adapt dsp for rt5642 (9 weeks ago) <André Pinela>
    * bfd57d5 - mfd: max77663: disable gpio nested irq handler (9 weeks ago) <André Pinela>
    * f26842a - grouper: pannel: ajust the brightness table to avoid dark display (9 weeks ago) <André Pinela>
    * 63e87bd - grouper: fix nfc on nakasig (9 weeks ago) <André Pinela>
    * a997729 - modem: usb: adding more ACM channels support for IMC XMM6260 modems (9 weeks ago) <yi-hsin_hung>
    * 347c21e - Net: USB: Modify the raw_ip_net driver to built-in. (9 weeks ago) <Raphanus Lo>
    * 882d6ba - Net: USB: Modify the config of modem port for the modem crash dump. (9 weeks ago) <Raphanus Lo>
    * 07e8c57 - Net: USB: Implement the tx/rx statistics for the raw IP network interface. (9 weeks ago) <Raphanus Lo>
    * 9116d28 - Revert "net: usb: raw-ip: increment number of rx buffers" (9 weeks ago) <André Pinela>
    * 4674312 - Revert "net: usb: raw_ip: max_intfs to be non-writable" (9 weeks ago) <André Pinela>
    * b1a2bac - Proximity: Fit driver for kernel 3.4 (9 weeks ago) <André Pinela>
    * b64814a - Proximity: Enable sensor by it's previous RIL setting when device resume from suspend. (9 weeks ago) <tryout_chen>
    * bb7eead - Proximity: Fix reports status change frequently even when not moving. (9 weeks ago) <tryout_chen>
    * 1deaa57 - Proximity: Fix improper object detect status checking. (9 weeks ago) <tryout_chen>
    * 4609362 - Proximity: Enable Proximity Sensor Cap1106. (9 weeks ago) <tryout_chen>
    * 6683d81 - grouper: baseband: bring up bb, modem and ril files (9 weeks ago) <André Pinela>
    * 7bcd1e2 - grouper: power: be in sync with nvidia line for usb_phy (9 weeks ago) <André Pinela>

    Believe me, if we had enough free time (no finals and other stuff), we would have released it already. My groupers uptime reached 460 hours - and it's on the top of my desk (waiting to continue development), deep sleeping with 3.4, so believe me, it's not left aside ;)
    30
    While I try to do my best to keep myself from working on this 24/7, I couldn't resist... and fixed camera, video encoding and decoding, and audio (party, just the rear speaker works yet) also works now :silly: what this means? Blobs won't stop us, as they work fine on 3.4 as well.
    29
    Thanks to @sheffzor's help, we made some nice progress last week :) he has a 3G variant with the problematic PMIC.
    While @HTCDreamOn is investigating the audio issues, @sheffzor fixed up baseband (ril) and updated the interactive governor (including touch boost), and in the meanwhile, I merged in kernel/common android-3.4 (including the bcmdhd updates, which was a pain in the ass). Huge steps forward, but there's still a lot of work left. We're looking forward to M + 3.4 ;)