New / Fixed Features:

  • fingerprint sensor not being recognized by system (fully fixed)
  • double tap power button to jump to camera (fully fixed)
  • rebased and forked from Franco Kernel
  • merging linux-stable (fixed, but already implemented by Franco Kernel)
  • July 2018 security patch (learned to apply them myself so no need to wait for FK/Copperhead upstream to do so)
  • franco features (not previously included):
    • disables verfied boot flag for Android Pay (root still breaks)
    • support for FKUpdater App
    • support for FKUpdater performance profiles

Continued Features:

  • Open Source. Kernel, AnyKernel2
  • I/O Schedulers: noop (default), cfq, deadline, fiops, row
  • Reduced wifi wakelocks and wakelock period (Flash Kernel)
  • Remove possible bluetooth memory leak (Flash Kenrel)
  • TCP algorithms: Bic, Cubic, Htcp, Hybla, Vegas, veno, Westwood (default), Reno
  • KCAL color control support (Franco Kernel)
  • KCAL brought to Linux guidelines (Flash Kernel)
  • KCAL tweaks (Franco Kernel)
  • Removed secure boot and dm-verity checks
  • Spectrum Kernel Manager support
  • Customized spectrum profiles, plus dozens from around the web
  • Touchboost disabled (spectrum profile)
  • F2FS Support

Download: Download from Android File Host

News - Kernel Specific:

Faux Audio Support: Feature has been removed as the patch I used to implement it was breaking builds after I switched to Franco Kernel as a base.

Fingerprint Scanner: The “patch” I was using to implement this improvement (increasing wakelock after interrupt) was based in a commit message (from Flash Kernel I believe), however, restoring the changed lines in drivers/input/fingerprint/fpc1020_tee.c.

CopperheadOS / Franco Kernel: The previous repositories on GitHub have been renamed under a new organization (Android Hardening vs. CopperheadOS) and, for Angler, is now missing several branches and the last commit is dated September 26, 2017. There is a new set of CopperheadOS repositories that an initial commit was pushed to for Angler in early July. As Such I’ve rebased my kernel to Francisco Fraco’s Franco Kernel as it is one of a shrinking number of kernels that are still actively maintained (as of June 2018) for the Nexus 6P.

Linux Stable: Previously I was having issues where merging the Android Linux Stable upstream from GitHub was breaking my builds. However, I followed android-linux-stable’s instructions to manually fetch / merge directly from the Linux upstream. I elected to use the merge rather than cherry-pick method. Franco Kernel appeared to already be up to date with Linux 3.10.108.

Security Patches: At the time of writing Franco Kernel has not yet been patched with the July security patch. Fortunately, I learned to do this myself with the following steps:

  • Check the msm kernel branch tags for the tag that has the most recent security patch. For refernece, July 2018’s patch tag is android-8.1.0_r0.80.
  • The beginning of the tag’s commit mesage with include A) the device name (angler) and the B) the build branch (e.g. OPM6.171019.030.E1).
  • Check the list of factory images to see that the bulid branch matches the month’s release you’re looking for. (e.g. ‘8.1.0 (OPM6.171019.030.E1, Jul 2018)’)
  • Use either the cherry-pick or merge methods mentioned in the linux-stable guide.

News - Non-Kernel Specific:

Jump to Camera: I noticed a while back that, even on the stock ROM, double clicking the power button was not jumping to the camera – which is one of my favorite features. I first suspected that it was error / mismatching vendor.img, but it turns out that there is a hidden setting that is apparently off by default. Fix: Go to settings and search for jump to camera and enable. Boomsy!

Random Battery Shutdowns: I tried several solutions from around the web (here and here) that did not work. One proposed solution to “recalibrate” the battery in conjunction with restoring to the latest stock factory images at least got me reliably below 50% when my device was dying sometimes as high as 60+%. If you’ve been snooping around my anykernel repo since the last kernel release, I was experimenting with disabling the Big CPU cores as well as nerfing a bunch of other things to try and reduce the overall CPU load. I’ve since done a hard reset on that repo as those profiles did not provide significant changes.


  • I will run new performance benchmarks now for the old Battery v1.3 and Balance v1.2 spectrum profiles.
  • The zen I/O Scheduler will be added.
  • I will test some of the minor changes (animation scale and vibration strength) that were made to nerfed spectrum proiles mentioned above.

Savagezen's Blog

A minimalist guide to my many projects.