LineageOS is a free, community built, aftermarket firmware distribution of Android, which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS GitHub repo. And if you would like to contribute to LineageOS, please visit Gerrit Code Review.
MUST-READ BACKGROUND - Android 13 and the two approaches:
As some of you already know, due to various reasons, @phhusson , who kickstarted the GSI trend and committed to it over the years, is backing out from future development - there won't be any AOSP 13+ builds or patches directly from him. He did most of the heavylifting for fixing bugs and implementing features, and selflessly supported more than his AOSP GSIs and more than devices he own. For the situation of GSIs today, we owe him a big thank-you.
Since PHH made up his mind, a number of existing builders incl. myself have formed the TrebleDroid organization, with PHH himself helping us in technical issues. TD will forward-port PHH's final patches (v415) onto Android 13 and attempt to fix new issues. This is still a new and ongoing process, but if done right, will have compatibility and feature-completion on par with past PHH-based GSIs.
Meanwhile, I'm aware that at least I myself am not as capable as PHH, and won't be able to look after the myriad of patches and devices, esp. legacy ones (pre-A10). Therefore, inspired by @PeterCxy , I'm taking a different approach - start over from AOSP's generic gsi_* target, add in the minimum amount of fixes needed for my own devices, shaking off much of the legacy burden in the process and making it easier for myself to follow/maintain. This is a radical, selfish approach that by definition won't work for legacy devices anymore, and won't work as well as PHH-based GSIs that you've come to love either. However, I've fixed it up to my own daily-driver standards, and I figured it should still be of use to many. For now, I call this the "light" approach.
No flashing instructions will be offered. If you're here in this forum, you should know what you're doing.
No guarantees that everything would work. This is a GSI, bugs are bound to happen.
The selfish nature of this approach means I can and will ignore certain bugs as I see fit. Deal with it or kindly go try something else.
Scroll down for the naming rules of variants.
Compressed as .xz archives - extract first.
Stuff on GitHub (builders-only):
Most things should be self-explanatory. Not the cleanest code, but should help if you need some clues.
- lineage_build_unified - my unified script for building
- lineage_patches_unified - my unified patches for building
- device_lineage_gsi - my device tree that extends native generic targets
- The LineageOS team - helping me out even when they don't offer GSIs themselves
- @phhusson - shaped the treble community, and even the "light" approach uses his fixes/infra extensively
- @PeterCxy - inspired me with his personal-use GSI, and coded critical fixes such as sysbta
- ...and more