[Google Pixel 2 ROMs, Kernels, Recoveries, & Other ] msdx321:
README!!!

I'm in China right now, so won't show up at XDA very frequently. If you encounter any bugs, please leave an issue on GitHub

Introduction

This is a personal kernel for Pixel 2 aka walleye. The central goal for it is to provide overall performance improve without any more power consumption than stock kernel. It also allow you to modify the device in your own style, such as charge control.

Important

I'm not responsible for any damage caused by this kernel. Since I'm not even a XDA recognized developer, this kernel might be potentially harmful to your device.

Featrues

Catch up the latest Linux upstream

Catch up the latest EAS

BFQ added

CRNG random driver (from linux-mainline, 10x+ faster)

Wakelock control

AC Charging current control (current up to 3200mah)

Tunable USB fast charge

Some more TCP algorithms (westwood as default)

Use power efficient workqueues for several subsystems

Force SElinux in Permissive mode

SafetyNet patch included

GPU underclocked (180MHz)

Compiled by clang 5.0

Be able to *see* CPU voltage table

Some misc improve

HBM mode support

Adreno Boost support

WireGuard support

KCAL control

Wakeup Gestures (From EXKernel)

Some guides

Kernel Manager

Personally recommend EX Kernel Manager and KernelAdiutor

AC Charging current control

Google implement a feature to adjust charging current based on battery voltage and temperature, if you want to turn it off, use command

echo N > /sys/module/htc_battery/parameters/enable_ibat_adjust

Turn it on by

echo Y > /sys/module/htc_battery/parameters/enable_ibat_adjust

They also capped the max current to 2700ma, if you want to change it, use those two command

echo Y > /sys/module/htc_battery/parameters/enable_custom_fcc_ma

echo *the value you want* > /sys/module/htc_battery/parameters/custom_fcc_ma

Haptic strength control

Stock driver supports haptic strength control through altering the voltage like this. (Default value is 165)

echo *the value you want*> /sys/bus/i2c/devices/i2c-6/6-005a/od_clamp

Gonna map this to the common node so we can use kernel manager like EXKM to control

Changelog

R5:

[*]Linux 4.4.109 code merged

[*]Catch up to Jan's update

[*]Misc changes

R4:

Wakeup Gestures (Kang from EXKernel)

Linux 4.4.107 code merged

R3:

Compile with polly

Fix usb audio

Pick some opt commits from freak97

Linux 4.4.105 code merged

R2.1:

KCAL control added

Fix a derp

R2:

mr1 release code merged

Revert to stock binder

WireGuard support added

Linux 4.4.104 code merged

R1.1:

Fix a bug happen when you flash the kernel with magisk at the same time (if still can't boot when flash together, try flash separately)

mr1 preview code merged

Switch to clang 5

Commits

Download

Google Drive

Install

The kernel is packed with AnyKernel2, so just flash the zip file in TWRP

You can extract the zImage and dtbo.img out and manually flash them if you want

Kernel Source

https://github.com/msdx321/android_kernel_google_wahoo

Credits and Thanks

Too many to list, please check my github commits for credits

Special thanks to @nathanchance for his notes about update to linux-stable (quite useful, encourage anyone who want to compile his own kernel read this)

Bug Report

Leave an issue on my github repo or send me an email