A simple stock-ish kernel, currently based on MiCode.
This is not a gaming focused kernel.
Only tested on AOSP. MIUI IS NOT SUPPORTED!
Use with MIUI on your own risk.
Thanks to @BitOBSessiOn, @gr, @ktommy91, @mochi_wwww, @mvaisakh, @rakoool, @xawlw, @YaroST12 for the help and relevant commits.
PS: DO NOT CONTACT THEM FOR ANY REASON RELATED TO THIS KERNEL.
Contains modification to Novatek Touchscreen driver. such as disabled angle and palm rejection, disabled edge filter, upgraded touch firmware, advanced sysfs, and more. May be less stable.
Download (Choose TSMOD)Touchscreen driver and firmware are stock. Choose this one if you're not a gamer or use MIUI.
Download (Choose STOCK)WARNING: THIS IS NOT THE BEST VARIANT AND MAY NOT WORK ON YOUR PHONE!
IT MIGHT EVEN BRICK OR KILL YOUR PHONE FOREVER!.
DO NOT ASK IF PERSONAL IS STABLE TO OTHER USERS, EACH PHONE BEHAVES DIFFERENTLY!
TSMOD2 with GPU at 692mhz + undervolt, ddr bus oc to 2133mhz. KCAL are removed to reduce overhead. All boosting are disabled by default, this means jitter are worse by default.
DO NOT USE THIS IF YOU DON'T KNOW WHAT YOU'RE DOING.
USE AT YOUR OWN RISK. IF YOUR PHONE BECAME UNSTABLE BY USING THIS VARIANT STOP USING IT ASAP. YOUR WARRANTY MAY BE VOID BY FLASHING THIS KERNEL.
Issue: Efficient freqs jumps to max freq too often.
Cause: Rom has a low sched down and upmigrate values by default.
Workaround: Set sched_upmigrate to "98 98" and sched_downmigrate to "92 92" in FKM
Issue: Phone may sometimes hangs for a bit.
Cause: Unknown.
Fix: Should be fixed as per v1.1.8. If you still have issues join the TG group and report.
v1.1
Attempt to fix random app crashing.
Miscellaneous Optimizations.
v1
Initial Release.
An updated graphics driver compatible for sm8150.
Make sure you know how to remove modules in recovery just in case of bootloop.
A magisk module that will fix Unity Engine games that only runs on Prime Cores.
Known Side Effects: Antutu benchmark no longer runs.
KTweak by tytrdraco. Use throughput or latency depending on your use be it gaming or daily usage.
Play Store
Starting from v1.1.9, you can rename kernel flashable zip to make your own mix.
You can rename from any variant. (They're all the same inside)
Here are a list of valid variant :
tsmod or tsmod2, oxygenos, boost or effcpu.
tsmod = ts variant 1, game mode, only X Y reporting for lower overhead.
tsmod2 = ts variant 2, game mode, pressure and finger size reporting.
if you don't define tsmod at all. it will default to stock behaviour.
boost = boost level 1 by default. (same as benchmark thermal profile)
effcpu = boost level 2 by default. (same as gaming thermal profile)
oxygenos = fixup refresh rate for oxygenos.
v1.2 additional variant.
touchfw_v8 = touch fw v8 commonly used in global and indian variant
touchfw_id = indonesian touch fw, commonly known as "ghost touch fix"
Few examples below :
Example : tsmod variant 2, noeffcpu.
lybkernel-tsmod2-vayu-20210621-0418.zip
Example : tsmod variant 1, effcpu, oxygenos.
lybkernel-tsmod-effcpu-oxygenos-20210621-0418.zip
Example : stock ts, boost.
lybkernel-tsmod-boost-20210621-0418.zip
You can use lyb kernel manager to configure these.
Novatek Sysfs are Configurable on /sys/class/module/nt36xxx.
This Sysfs parameter are only available on TS Variant of the kernel.
Possible values are as follows:
lyb_touch_up_thresh 0-3 == tap detection or something like that(?)
lyb_touch_tolerance 0-5 == something to do with smoothing and jitter/"shaking"
lyb_touch_edge 0-8 == something to do with edge rejection level
lyb_angle_callback 0-3 == something to do with edge rejection angle
lyb_touch_game_mode 0-1 == jitter reduction(?) on off
lyb_touch_active_mode 0-1 == idk
lyb_touch_resist_rf 0-1 == idk
lyb_override 0-2
0 = override off
1 = usermode can still set angle rejection
2 = on
"cat /proc/nvt_lyb_apply_changes" or turn the screen off, and on again to apply changes.
default values are set as per my personal preferences.