[ROM][U][mata] Unofficial, optimized LineageOS 21 - June 27th (2024)

Tomoms

In this thread I'll share with you my personal builds of LineageOS 21, 20, 19.1 and 18.1 for the Essential PH-1 (codename: mata). These builds are unofficial LineageOS builds, customized with my favorite tweaks and features, and with some interesting optimizations.

MAIN FEATURES
LineageOS 21 features:

  • support for MicroG (signature spoofing) - read the 2nd post!
  • support for OTA updates
  • some debugging/tracing instructions have been removed from ART
  • loads of updates from AOSP master for ART
  • all system components built with aggressive LTO
  • improved bionic routines + ARM optimized routines
  • in-built support for many private DNS providers
  • PixelPropUtils & Pif, to unlock Pixel-only features in Google apps and pass Play Integrity
  • Mulch System Webview (from DivestOS) replaces the default Chromium WebView
  • "de-Googling" tweaks: SUPL, captive portal, NTP and DNS servers changed from Google to privacy-friendly alternatives (Kuketz, GrapheneOS, Quad9)
  • reduced memory footprint of several system components
  • updated 3rd-party libraries: SQLite
  • in-built F-Droid client & Log Viewer app
  • minor miscellaneous optimizations applied to several system components

LineageOS 20 features:

  • support for MicroG (signature spoofing) - read the 2nd post!
  • support for Sandboxed Google Play (taken from GrapheneOS) - read the 2nd post!
  • Klik and Aperture are both preinstalled
  • built with global -O3 optimizations and ThinLTO
  • build with a bleeding edge LLVM 18 toolchain (thanks Kenvyra team)
  • some debugging/tracing instructions have been removed from ART
  • loads of updates from AOSP master for ART
  • improved bionic routines + ARM optimized routines
  • in-built support for many DNS providers
  • support for 3-finger swipe to screenshot
  • PixelPropUtils, to unlock Pixel-only features in Google apps and pass SafetyNet
  • Mulch System Webview (from DivestOS) replaces the default Chromium WebView
  • "deGoogling" tweaks: GrapheneOS's captive portal URLs and SUPL server, Cloudflare's DNS nameservers, pool.ntp.org NTP servers are all used by default to replace their Google counterparts
  • updated 3rd-party libraries: SQLite
  • in-built F-Droid Privileged Extension
  • support for poweroff alarm

KERNEL FEATURES
Starting from build 2023-10-25, a new kernel is included in my builds. This is based on the latest CAF tag for the Snapdragon 835, with a few additional improvements, mainly for Energy Aware Scheduling. This means that all the tweaks and improvements I had previously made to my kernel are now gone, and I have to reimplement them from scratch, which I'll be doing over the next few weeks. At the moment, only these additional goodies are implemented:

  • lots of bug and security fixes backported by the Civil Infrastructure Project
  • memory management improvements
  • lots of debugging bloat removed from several drivers
  • DDR bandwidth boost when launching apps and in other scenarios
  • built with -O3 optimizations
  • many small, miscellaneous patches to improve performance and power consumption

  • updates for zram/zsmalloc (and for the LZ4 compression backend too)
  • power-efficient workqueues are implemented in many drivers
  • simple_lmk by kerneltoast replaces standard LMK
  • Kcal & Klapse
  • maple I/O scheduler as default
  • DDR bandwidth boost when launching apps and in other scenarios
  • DriveDroid support (not tested)
  • Wireguard support (not tested)
  • lots of patches to improve memory allocation-related overhead
  • hardening against buffer overflows (thanks to the GrapheneOS team)
  • USB controller driver updated (MTP speed improvements)
  • memory routines optimized for the arm64 architecture
  • built with -O3 optimizations
  • binder driver backported from Linux 5.4
  • lots of drivers and components only useful for debugging are disabled
  • many small, miscellaneous patches to improve performance and power consumption

BUGS
Common to official/Nolen's builds as well:

  • NFC quirks (payments with Google Wallet are working, other usecases might or might not) - fixed in the 2023-03-11 build
  • Updater shows wrong percentage during OTA package installation - fixed in the 2023-04-11 build
  • microphone issues in some scenarios - WIP
  • Klik misbehaves when rotating the phone while viewing a previously taken picture (low severity bug); Klik sometimes quits when switching to front cam or B&W mode (high severity bug) - under investigation, read more about Klik's status here - updated 2023-04-12
  • some games do not load - fixed in the 2024-02-27 build and in subsequent official builds
  • [LineageOS 21 only] an exclamation mark is persistently shown on the mobile network signal icon - under investigation: this is just a visual bug, mobile data/VoLTE work fine! - it disappears after the first reboot

Specific of my builds:

  • the fullscreen dark background in the notification pull-down view is now transparent - notifications are displayed directly on top of the currently active application. This doesn't affect functionality but is indeed unpleasant to the eye fixed in the 2023-03-21 build
  • SIM hotswapping does not work. Only insert a SIM when the phone is powered off, or reboot it after insertion.

CHANGELOG for LineageOS 21:
June 27th:

  • synced with LineageOS (Android 14 QPR3)
  • misc. fixes and improvements for the kernel

May 22nd:

  • LTO optimizations applied to more components
  • minor misc. improvements and fixes

May 8th:

  • synced with LineageOS (QPR2, May's security patches)
  • newer radio and GPS stacks (SIM hotswapping is dead, read above)
  • reduced memory footprint of several system components
  • a few kernel bug and security fixes, plus memory management improvements
  • updated Android RunTime and SQLite library

March 10th:

  • synced with LineageOS
  • a few minor tweaks and optimizations
  • fix for an issue with sensors that can occur randomly

February 27th:

  • Vulkan GPU support fixed

February 14th:

  • workaround for the exclamation mark issue
  • fixes for the new Gallery app

February 10th:

  • synced with LineageOS / February's security patches
  • all native code built with LLVM 18, -O3 and Polly optimizations, LTO, FDO, PGO and MGLO
  • a few kernel updates
  • fixes for the Contacts app
  • in-built F-Droid client with some trusted third-party repos already enabled (allows updating the WebView without waiting for a new build)
  • new Gallery app that replaces the old AOSP one

January 17th:

  • jemalloc replaces scudo as the memory allocator
  • updates for ART
  • ability to view, filter, save and export logs directly from the phone (Settings > System > View logs)
  • 3-finger swipe to screenshot (disabled by default)
  • minor miscellaneous optimizations, and small fixes in the kernel

January 10th:

  • first release, all features listed above are include

December 16th:

  • December's security patches
  • SafetyNet/Play Integrity passes again
  • fixed the freeze when opening SIM card settings

November 9th:

  • synced with LineageOS + November's security patches
  • kernel: several bug and security fixes

October 5th:

  • synced with LineageOS
  • new rebased kernel

October 5th:

  • synced with LineageOS
  • October's Platform security patches

September 26th:

  • synced with LineageOS, including full set of September security patches
  • new AIDL Bluetooth audio HAL
  • fix for FX file manager

September 15th:

  • synced with LineageOS
  • September's Platform security patches merged
  • build with a new LLVM 18 toolchain
  • kernel fixes from the Civil Infrastructure Project

August 12th:

  • fix for the telephony crashes

August 10th:

  • synced with LineageOS + August's security patches
  • unlinked ringtone and notifications volume
  • mimalloc: a new faster and low-overhead memory allocator
  • minor tweaks and improvements here and there

July 20th:

  • synced with LineageOS (incl. July's security patches)
  • UI adjustments in Dialer
  • a couple of minor fixes here and there

June 24th

  • synced with LineageOS, including QPR3 and June's patches
  • more consistent rounded corners across the UI
  • delete button next to the screenshot preview
  • charging control with support for bypass mode
  • more consistent fonts used across the whole system & apps

June 3rd:

  • synced with LineageOS
  • charging control HAL (check Settings > Battery > Charging Control to check what it supports)
  • minor improvements for screen rendering
  • Contacts Scopes (picked from GrapheneOS) to grant a fake contacts permission to untrustworthy apps
  • Material You & Monet colors applied to Calculator, Messages, Dialer, Gallery and Contacts (WIP)
  • creepy Facebook component removed from Klik

May 5th:

  • synced with LineageOS (including May's security patches)
  • all of Klik's bugs are finally fixed! Hooray!
  • support for call recording
  • updates for some system components
  • misc. sepolicy fixes and other fixes for small issues under the hood
  • minor kernel bug fixes

April 11th:

  • synced with LineageOS + April's security patches
  • fixed Klik's lags/freezes and the crashes after taking pictures
  • misc. updates and improvements for several system components
  • improved Monet color engine
  • fix for the Updater showing a wrong percentage during update installation
  • minor misc. visual updates (icons, animations, etc.)

March 21st:

  • fix for the visual bug of the previous build

March 20th:

  • synced with LineageOS (March's security patches + Android T QPR2)
  • kernel bug fixes and minor tweaks

March 11th:

  • synced with LineageOS
  • built with -O3 and ink-time optimization
  • many updates for ART and bionic taken from AOSP master
  • more privacy! More links with Google were broken (SUPL & NTP servers)
  • GPS performance improvements
  • fixes for NFC
  • in-built support for many private DNS providers
  • many kernel bug fixes taken from the Civil Infrastructure Project's backports

February 26th:

  • first public build
  • all the feaures listed above are present

January 6th:

  • synced with LineageOS, including January's security patches
  • support for poweroff alarm
  • a few kernel tweaks to improve the responsiveness (taken from Zen kernel)

December 24th:

  • system clock is correct on boot, even with no network connections
  • WiFi kernel drivers updated from the official Android 11 kernel for the Pixel 2
  • other minor fixes in the kernel

December 8th:

  • synced with LineageOS, including December's security patches
  • kernel hardening against buffer errors
  • many vulnerabilities affecting several Qualcomm kernel drivers have been patched
  • minor optimization for jemalloc (Android's memory allocator)

November 16th:

  • synced with LineageOS
  • HDR & Portrait modes in Essential's camera app now work
  • kernel: several fixes and updates
  • the kernel now is built using a full LLVM toolchain (even the integrated assembler)

November 5th:

  • synced with LineageOS + November's security patches

October 17th:

  • PixelPropUtils + patches from PixelExperience to unlock Pixel-only features in Gapps and pass SafetyNet
  • a few improvements and fixes in the kernel

October 9th:

  • synced with LineageOS (+ October's patches)
  • fixed log spam related to VoLTE (thanks Ricky Cheung)
  • kernel: disabled debugfs (reduces debugging overhead for many drivers)
  • kernel: updates for ZRAM and the LZ4 compression driver
  • kernel: other minor tweaks and updates
  • kernel: security fixes (thanks to our maintainer Kevin)

September 9th:

  • synced with LineageOS + September's patches
  • integrated Cloudflare and AdGuard private DNS
  • built with global -O3 optimizations

August 7th:

  • synced with LineageOS + August's security patches
  • "poor audio quality in video recording" bug has been fixed!
  • updates for ART
  • optimizations and improvements for bionic's memory routines
  • F-Droid privileged extension build in the system

June 9th:

  • Rebased on the latest tag from Google (android_12.1.0_r7)
  • June's security patches
  • new ripple effect from ProtonAOSP
  • updated and optimized SQLite library
  • minimum screen brightness reduced
  • minor tweaks to system frameworks and ART

May 24th:

  • initial build, 100% equal to LineageOS except for the following aspects
  • support for signature spoofing
  • some debugging removed from ART
  • device-specific bug fix: improved swipe-to-unlock experience (fix has landed in official repos)
  • device-specific bug fix: VPNs are supported (fix has landed in official repos)

DOWNLOADS
LineageOS 21: on Github
LineageOS 21 recovery image: on Mega
Gapps: https://github.com/MindTheGapps/14.0.0-arm64/releases

LineageOS 20: starting from April 2023, my builds are hosted here on Github - older builds on SourceForge
LineageOS 20 recovery images: SourceForge

SOURCES
All my repos are on Github. In particular: device tree, kernel sources.

A BIG "THANK YOU" TO
the whole LineageOS team, and the multitude of great developers of the Android custom ROM scene, such as kdrag0n, kerneltoast (Sultanxda), arter97, nathanchance, neobuddy89, flar2, franciscofranco, frap129, the MSM-Xtended project, the crDroid project, the GrapheneOS team, the YAAP team, the DivestOS team and the xda user MuddyDog. I hope I have not forgotten anyone.

Oct 7, 2021View

[ROM][U][mata] Unofficial, optimized LineageOS 21 - June 27th (2024)
Top Articles
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 5588

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.