FORUMS

[ROM][Q] Unofficial, optimized LineageOS 17.1 - November 10th

2,304 posts
Thanks Meter: 5,771
 
By Tomoms, Senior Member on 23rd October 2017, 11:34 AM
Post Reply Email Thread
Announcement from Tomoms: My personal builds of LineageOS 15.1, 16 & 17.1, with additional features & optimizations!
In this thread I'll share with you my personal builds of LineageOS 17.1, 16 and 15.1. This project is inspired by idprophecy's LineageOS builds, to which I want to add my favorite features and, possibly, even more optimizations and improvements.

General info
The Oreo version of this ROM is heavily based on idprophecy's LineageOS 15.1, with additions from other teams such as JDC, Benzo and AOSPA. Starting from Pie, I aim at optimizing the OS just like idprophecy (and I) did in the past year. The kernel used in this ROM is my custom kernel (formerly known as Argon kernel). I've uploaded all the repositories I've modified on my Github: Tomoms @ Github

MAIN FEATURES
LineageOS 17.1 features:
  • clean flash required!!!
  • all C/C++ components are build with -O3/-g0 flags (maximum optimization, minimum useless debug info)
  • support for signature spoofing (= MicroG supported) - read the 2nd post!
  • native support for WakeBlock by @GioBozza, for more info: WakeBlock on XDA
  • several updates & improvements to internal components: skia & libjpeg-turbo (temporarily reverted), art, bionic, libpng, sqlite, zlib
  • iOS-like toast whenever an app accesses the clipboard
  • minor miscellaneous tweaks
Kernel features:
  • built with GCC 10
  • CPU underclocking (268 MHz) & max freq. limited to 1,9 GHz by default
  • several f2fs updates
  • cpu_input_boost by Sultanxda
  • bricked hotplug replaces mpdecision
  • CPU undervolting
  • maple I/O scheduler
  • userspace LMKD replaces the old in-kernel Low Memory Killer driver
  • DDR bandwidth boost on screen wake
  • minor adjustments and tweaks
  • several code updates and security/bug fixes


LineageOS 16 features:
  • clean flash required! Upgrading from pre-August 2019 builds is NOT possible
  • ROM built with general optimizations and less debugging-related features
  • updated external components: sqlite, jemalloc, libxml2, bash, freetype...
  • system.prop tweaks from Qualcomm to improve the performance of SurfaceFlinger
  • optimized bionic routines
  • support for signature spoofing
  • screenshot QS tile
  • WakeBlock v1 by @GioBozza is supported out-of-the-box, for more info: WakeBlock on XDA
Kernel features:
  • built with GCC 10
  • CPU input boost/DDR bandwidth boost by Sultanxda
  • AutoSMP and bricked hotplug
  • LMK and binder backported from Linux 3.18
  • f2fs backported from Linux 4.12
  • several updates for our WiFi chip's driver
  • Maple (default) and Zen I/O scheduler
  • CPU min frequency is 268 MHz, max is set to 1,9 GHz on boot
  • sdfat driver for mounting exfat and fat32 filesystems
  • many minor tweaks and improvements

Old LineageOS 16 builds' features (development stopped):
  • -O3 optimizations applied to the whole system
  • many debugging options have been disabled, to reduce overhead & improve performance
  • updated libraries/external components: SQLite, zlib, libpng, libjpeg-turbo, libxml2, jemalloc.
  • several improvements and optimizations for ARM devices (e.g. memory routines in Bionic)
  • support for signature spoofing (required from microG)
  • OTA updates
  • WakeBlock by @GioBozza is supported out-of-the-box, for more info: WakeBlock on XDA
  • CPU is underclocked to 1,9 GHz by default
  • in-built Argon kernel
  • SBC HD bluetooth codec support
  • auto face unlock, manual battery stats reset, less frequent notifications, and other useful features that are not present in official LineageOS
  • other miscellaneous fixes and improvements


BUGS
Also present in official LineageOS 17.1:
  • kernel panic when changing USB mode to "File transfer" - fixed in the 20200811 build & later official nightlies
  • notification/charging LED not working - fixed in the 20200811 build & later official nightlies
  • low in-call microphone if speakerphone is enabled - fixed in the 20200811 build
  • charging hiccups when using certain 3rd-party chargers/cables - fixed in the 20200912 build
  • AUX audio output not working - fixed in all builds (unofficial & official) newer than 20200826; for previous builds flash this zip
  • wrong time on boot until connected to a network - fixed in the 20201110 build, will soon be fixed in official builds as well
  • flaky GPS
  • manual mobile network scan not working
  • 5 GHz hotspot is broken - but there's a workaround here
  • weird noises while playing flac files if AudioFX's Bass option is enabled
  • the Music app is quite messed up (bugs already reported on Gitlab)
Bugs that are specific to my builds:
  • encryption of f2fs-formatted /data partition is broken - fixed in the 20201028 build
  • corrupted thumbnails and weird visual artifacts in the system's color picker - fixed in the 20201028 build
  • libjpeg crashes in certain apps (NewPipe, Files, and others) - fixed in the 20201017 build
  • Telegram's (and, possibly, other apps') in-built camera not working - apparently fixed in the 20200811 build

CHANGELOG (LineageOS 17.1)
November 10th:
  • synced with LineageOS
  • bug fix: time is no longer wrong on boot!

Previous builds:

November 5th:
  • synced with LineageOS (incl. November's security patches)
  • minor kernel bug fixes
  • removed toast on clipboard access
  • updated libjpeg-turbo & minor skia optimization

October 28th:
  • synced with LineageOS
  • LineageOS original skia & libjpeg-turbo restored (fixes visual bugs in thumbnails and color picker)
  • kernel: re-enable debugfs (fixes crash on f2fs decryption)

October 17th:
  • synced with LineageOS
  • minor optimizations for zlib
  • libjpeg fix (no more crashes in NewPipe, Files, etc.)

October 10th:
  • full changelog available here

September 12th:
  • synced with LineageOS
  • September's security patches
  • updates & optimizations for internal components (skia, libjpeg-turbo)
  • support for Bengali language (to be confirmed)
  • kernel: built with GCC 10
  • kernel: DDR bandwidth boost on screen wake
  • kernel: rolled back to the older charging drivers (this fixes the annoying charging hiccups)
  • kernel: improvements for headset detection by Sultanxda
  • kernel: lots of small fixes & patches

August 23rd:
  • synced with LineageOS
  • re-added support for some fonts
  • improvements for scrolling smoothness & touchscreen responsivity
  • minor kernel fixes

August 11th:
  • synced with upstream LineageOS
  • faster boot, due to lower resolution of the bootanimation
  • three major bugs are now fixed
  • support for OTA updates
  • several fonts have been removed
  • kernel: CPU underclocking & max frequency locked at 1,9 GHz
  • kernel: lots of security & bug fixes + other small adjustments

August 5th:
  • initial build
  • August's security patches
  • WakeBlock support
  • support for signature spoofing
  • minor tweak to improve app opening time


Previous releases (LineageOS 16):

July 22nd:
  • synced with LineageOS (July's security patches)
  • fixed issues with low in-call microphone when using the speakerphone

July 11th:
  • synced with upstream LineageOS
  • reverted a couple of changes that might cause strange battery drain

June 27th:
  • synced with LineageOS
  • a few minor tweaks in the device tree
  • several kernel updates; kernel built with GCC 10
  • all kind of VPN-related kernel panics are now fixed for good

June 12th:
  • synced with LineageOS
  • improvements for GPS locking
  • several UX tweaks (better scrolling, smoother animations...)
  • some kernel bug fixes

May 9th:
  • synced with LineageOS (May's security patches)
  • kernel: roll back to older charging drivers, they are more reliable
  • kernel: f2fs backports from Linux 4.12
  • kernel: new CPU governor: lolznappy. Might become the default in the future
  • kernel: added sound control interface
  • kernel: Kcal is supported

April 10th:
  • synced with LineageOS
  • April's security patches
  • more improvements for math & memory routines (bionic)
  • some critical files are pinned in RAM for faster loading

March 8th:
  • synced with LineageOS
  • March security patches
  • some kernel updates & improvements

February 14th:
  • synced with LineageOS (February's security patches)
  • kernel fixes and improvements
  • ROM size slightly reduced (less debugging/useless stuff is included)

January 18th:
  • synced with LineageOS (January's security patches included)
  • GPS improvements for faster locking
  • small tweaks for smoother scrolling
  • kernel fixes & tweaks for better responsiveness

December 22nd:
  • synced with upstream LineageOS
  • screenshot QS tile added
  • a few kernel improvements
  • maple is the new default I/O scheduler

December 13th:
  • code base synced with LineageOS (incl. December's security patches)
  • WiFi and other device tree changes have been reverted (but I've kept the kernel updates)
  • we need to check whether the battery drain is now gone

November 30th:
  • code base synced with LineageOS
  • several kernel source updates
  • tweaked WiFi configuration - should improve throughput

November 15th:
  • code base synced with LineageOS (November's security patches)
  • support for the new Wakeblock v1 by @GioBozza
  • support for enhanced signature spoofing (find it in Developer Options)
  • kernel: new default CPU governor (blu_active) & hotplug (AutoSMP)
  • kernel: fix for LT2P crash when closing a VPN connection

October 25th:
  • first release of the new development cycle. Please refer to the feature list to know what's included in this build.

August 18th:
  • synced with LineageOS
  • support for OTA updates
  • inbuilt Argon kernel v17 (details coming soon)

August 13th:
  • synced with LineageOS (incl. August's security patches)
  • inbuilt Argon kernel v16.1
  • more animations and icons ported from Android Q

July 30th:
  • synced with LineageOS
  • in-built Argon kernel v16
  • sensors are working with Enforcing SELinux
  • Animations and WiFi icons ported from Android Q
  • other small updates & improvements

July 10th:
  • synced with LineageOS (July's security patch)
  • updated bash shell
  • minor improvements & fixes for the whole system

June 22nd:
  • synced with LineageOS
  • updated externals: freetype, expat
  • minor tweaks for f2fs filesystems (might reduce power consumption)

June 12th:
  • synced with LineageOS (incl. June's security patches and lots of other changes)
  • minor improvements and optimizations

May 20th:
  • synced with LineageOS
  • jemalloc updated to v5.2.0
  • sqlite updated to v3.28.0
  • in-built Argon kernel v15 (will be released separately in a short while)

May 14th:
  • a few kernel updates/improvements
  • synced with LineageOS (incl. May's security patches)
  • a couple of minor fixes

May 2nd:
  • synced with LineageOS
  • a few more fixes in the kernel
  • manual network search fixed
  • auto face unlock (enabled by default)
  • microG support (signature spoofing is now supported)
  • libjpeg-turbo updated to v2.0.2
  • added a button to manually clear the battery usage stats in Settings > Battery
  • increased priority for some UX-critical processes
  • other small bug fixes

April 28th:
  • synced with LineageOS
  • WhatsApp and Telegram crashes are fixed!
  • a few bug fixes in the kernel

April 23rd:
  • synced with LineageOS
  • in-built Argon kernel v14
  • minor misc. tweaks and improvements
  • libpng updated to the latest version

April 5th:
  • synced with LineageOS
  • WhatsApp apparently doesn't crash anymore while handling media

March 25th:
  • synced with LineageOS
  • a few small tweaks & fixes here and there

March 20th:
  • synced with LineageOS
  • several device-specific bug fixes (including Google Pay fix)
  • minor updates & improvements

March 3rd:
  • synced with LineageOS
  • some kernel updates & improvements (they will be part of the upcoming Argon kernel v12)
  • library updates (sqlite, zlib)
  • minor bug fixes and improvements

February 20th:
  • synced with LineageOS
  • final LED fixes

February 18th:
  • synced with LineageOS
  • a few fixes in the kernel (they will be part of the next Argon kernel release)
  • many small fixes & improvements (less debugging stuff, increased priority of critical processes...)
  • updates for sqlite, libjpeg-turbo, zlib
  • SELinux fixes for LED and offline charging
  • SBC HD bluetooth codec

February 3rd:
  • synced with LineageOS
  • several libraries have been updated
  • the whole build is optimized with -O3
  • more debugging stuff has been removed/disabled
  • miscellaneous system-wide & device-specific tweaks and improvements

February 1st:
  • synced with LineageOS as of February 1st
  • in-built Argon kernel v11
  • hwui is compiled in performance mode and optimized with -O3
  • faster animations and misc. scrolling tweaks
  • touch response optimizations
  • GPS improvements
  • some debugging options have been disabled (to reduce overhead)
  • other miscellaneous stuff


Downloads
Latest build: here, or on AFH (link below).
Older builds can be found on AFH and Mega:
AndroidFileHost: LineageOS 17.1 by Tomoms || LineageOS 16 by Tomoms || LineageOS 15.1 by Tomoms
Mega: LineageOS 17.1 by Tomoms || LineageOS 16 by Tomoms || LineageOS 15.1 by Tomoms

Thanks to
idprophecy (this project is inspired by his LineageOS builds), the LineageOS, UBER, BenzoRom, JDC & crdroid teams, fraps129, GioBozza, TheCrazyLex, Sultanxda and all the other authors of the features I've included in this ROM.

Happy flashing

XDA:DevDB Information
Tom's unofficial LineageOS builds, ROM for the OnePlus One

Contributors
Tomoms
Source Code: https://github.com/Tomoms

ROM OS Version: Android 10
ROM Kernel: Linux 3.4.x
Based On: LineageOS

Version Information
Status: Stable
Stable Release Date: 2020-11-10

Created 2017-10-23
Last Updated 2020-11-10
The Following 69 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
23rd October 2017, 11:34 AM |#2  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,771
 
More
Reserved
GAPPS COMPATIBILITY
No matter how hard I tried to reduce the ROM's size, OpenGapps Nano have never worked properly due to extremely low free system space. So either use Pico, or repartition your phone.

SETTING UP MICROG
Signature spoofing is supported but not enabled out of the box. There's no switch to enable it in Settings, you must grant its permission to each app that needs it. In particular, if you install MicroG (either via the apks or via MinMicroG), you must run these commands in a root shell:
Code:
pm grant com.google.android.gms android.permission.FAKE_PACKAGE_SIGNATURE
pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE
then make sure all the checkboxes in MicroG's status screen are ticked and reboot.

SETTING UP VIPER4ANDROID
If you follow these steps carefully, you'll manage to install Viper4Android while keeping Enforcing SELinux, and it will survive across ROM updates too :)
The Following 14 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
23rd October 2017, 11:34 AM |#3  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,771
 
More
Reserved
The Following 12 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
23rd October 2017, 12:59 PM |#4  
Member
Flag Rome
Thanks Meter: 26
 
More
First! I'm happy to finally see a real thread for this.
23rd October 2017, 01:09 PM |#5  
Member
Flag Pune
Thanks Meter: 27
 
More
Perfect combination Sultans camera and idprophecy ROM.
question- can charging rate be varied using kernel auditor mod app?
Because whenever I'm installing a ROM having sultan customisation included my OPO charges very slowly(180mA).
23rd October 2017, 01:43 PM |#6  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,771
 
More
Quote:
Originally Posted by kunalshgkr

Perfect combination Sultans camera and idprophecy ROM.
question- can charging rate be varied using kernel auditor mod app?
Because whenever I'm installing a ROM having sultan customisation included my OPO charges very slowly(180mA).

I don't know if KA mod has that feature. However it's possible to change the maximum charging current intensity with any text editor, check the second post of Neon kernel's thread: I've explained how to do it. However is the problem occurs only on sultanized ROMs, it might also be that the different battery driver thinks that your cable is faulty, and so it reduces the charging speed. I've had a similar issue when using the Linux 3.10 kernel on my phone.
The Following 3 Users Say Thank You to Tomoms For This Useful Post: [ View ] Gift Tomoms Ad-Free
23rd October 2017, 01:46 PM |#7  
FSadino's Avatar
Retired Forum Moderator
Flag Blue River City
Thanks Meter: 4,777
 
Donate to Me
More
Quote:
Originally Posted by Tomoms

I don't know if KA mod has that feature

KA mod sure has that feature if kernel has support for it
23rd October 2017, 02:01 PM |#8  
Tomoms's Avatar
OP Senior Member
Flag Trieste
Thanks Meter: 5,771
 
More
Quote:
Originally Posted by FSadino

KA mod sure has that feature if kernel has support for it

OK, the kernel supports it, so there should be no problem tweaking that value.
23rd October 2017, 02:01 PM |#9  
Member
Flag Pune
Thanks Meter: 27
 
More
Quote:
Originally Posted by Tomoms

I don't know if KA mod has that feature. However it's possible to change the maximum charging current intensity with any text editor, check the second post of Neon kernel's thread: I've explained how to do it. However is the problem occurs only on sultanized ROMs, it might also be that the different battery driver thinks that your cable is faulty, and so it reduces the charging speed. I've had a similar issue when using the Linux 3.10 kernel on my phone.

Thanks for the reply. On your ROM my OPO is charging normally. Actually I was asking can the charging rate be varied in your kernel because in most of the kernel it is disabled. By the way I just installed this ROM awesome ROM but I'm experiencing slight lag in UI.
Wa.Sobchack
23rd October 2017, 02:16 PM |#10  
Guest
Thanks Meter: 0
 
More
I've tested v10 of your kernel last weekend. I also had lags while scrolling. Did you remove cpu and touch boost? Couldn't find settings in cpu section of adiutor mod. Or are they managed in governor settings?
23rd October 2017, 02:21 PM |#11  
Senior Member
Thanks Meter: 49
 
More
@Tomoms

Nice of you to share your work. I was just crying about for a ROM (Sultan base + OMS) and a good person linked me here. As it's relatively new I'm very optimistic

I have a couple of questions:

Have you tried your ROM with Xposed? (I just switched to Nougat (ViperOS) and the SOT is terrible. I'm trying to see what the cause is)
Is this version of your ROM based on Sultan's Oct 22 release?

I have only one phone at the moment and can't risk it with testings. My choices are reliant on your answers and the Epic XDA Community. Thanks in advance...
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes