[kernel][v3.5] leanKernel: minimalistic kernel (1/28/16) - Nexus 6 Original Android Development

[kernel][v3.5] leanKernel: minimalistic kernel (1/28/16)
leanKernel is not for everyone.
My philosophy is to keep the kernel footprint as small as possible by trimming as much fat as possible, and at the same time keeping it stable, power efficient, and fast. leanKernel is designed to be a drop in replacement for stock kernel, and so it tries not to deviate too far from stock.
You will find that it's lacking some of the bells and whistles of other custom kernels, so if you like features you came to the wrong thread.
Here's a longer post on what leanKernel is about.
Also folks, please read the FAQ before asking questions.
INSTRUCTIONS
If you like to stay as close to stock as possible: 1) Download and flash the normal leanKernel build here (find the latest zip file) in recovery. 2) Reboot and enjoy better performance and battery life (hopefully). That's it! There's no need to flash stock kernel first, or to wipe caches.
If you like to customize, read through the feature list below, the FAQ (post #2), the changelogs, and optionally the entire thread. Then you'll know what to do.
DOWNLOAD (flash in recovery)
v1.x is for Android 5.0, and v2.x is for Android 5.1
main download
mirror (may need to refresh browser to see latest)
PREREQUISITE
Unlocked bootloader, custom recovery installed
Push bullet channel: imoseyon
FEATURES
custom voltage control - use your favorite app
updated to latest 3.10 Linux
interactiveX - screen_off_maxfreq support (default 2.2Ghz)
sw crypto drivers updated (to use arm NEON instructions) for better encryption/decryption performance. Sequential 180MB/s reads, 60MB/s writes (using dd)
latest Linaro gcc 4.9 toolchain (optimized for a15 - thanks to Christopher83)
fat trimmed and various performance tweaks
f2fs support (updated to latest source from Samsung)
force encryption turned off (changed to encryptable)
overclocked to 2.9ghz (experimental - available as a separate build for now)
underclocked to 223mhz (experimental - available as a separate build for now)
Async Fsync
init.d support
cpu-boost control - enable/disable via lkconfig
lkconfig script for customizing leankernel (open terminal app, become superuser, then type "lkconfig" without quotes)
patched mpdecision to prevent changing min/max freq provided as flashable zip (in util directory)
color control (thanks to @savoca)
charging led support
a lot of unnecessary stuff removed from stock kernel
some components updated to Linux 3.18
random generation optimization including e/frandom support
pc/usb charging with boosted current ~300-400mA
some selinux fixes, selinux is enforced by default - staying true to stock (you can easily disable using lkconfig)
SLUB allocator updated to Linux 3.18
wake gesture control from flar2, modified for leankernel (also disabled in-call)
vibe strength control
much of the code is up to date with latest from CodeAurora
(mostly for devs) /sys/module/selinux/parameters/force_audit sysfs node to audit all/hidden selinux denies.
power aware cpu scheduling
faux sound enable/disable by sysfs (and lkconfig)
wakelock control (smb135x, wlan_rx, msm_hsic and sensor_ind)
leanKernel core control script
user option to prevent mpdecision/msm_thermal from changing min/max frequencies: frequency mitigation preventer
supports kexec for multirom
LKCONFIG
You can use lkconfig script to make custom changes to leanKernel (along with popular apps like Kernel Tweaker and Trickstermod). To run lkconfig, open terminal app, "su" (without quotes) to become superuser, enter, and then type "lkconfig" without quotes, then enter.
Code:
[email protected]:/ $ su
[email protected]:/ # lk
leanKernel configurator
---
0) display current settings
1) cpu frequency control
2) wake gesture control
3) wakelock control
4) charging led
5) rgb/picture control (advanced)
6) rgb/picture control (simple)
7) vibe strength
8) power saving mode for cpu scheduler
9) faux sound control
10) selinux mode
11) min/max freq change prevention
21) check top 10 wake locks (ie. wakeup sources)
please enter a number (or press enter to exit):
CHANGELOG
https://github.com/imoseyon/leanKernel-shamu/wiki/Marshmallow-ChangeLog
Thanks to @guitarshredder87, @Wera750, @akellar, and @grisha1 for testing test builds!
XDA:DevDB Information
Leankernel: Minimalistic Kernel, Kernel for the Nexus 6
Contributors
Imoseyon
Source Code: https://github.com/imoseyon/leanKernel-shamu
Kernel Special Features:
Version Information
Status: Stable
Created 2014-11-26
Last Updated 2016-01-31

FAQ
I'm having trouble waking the phone sometimes. Help!
We haven't really figured out exactly what's causing it - but there seems to be evidence that it's not limited just to leanKernel. One thing to try: if your ROM has a feature that prevents accidental wakeups, disable it!
I can't seem to get min and max freq to stick! What are these mpdecision zip files in the util directory?
* Read this post: http://forum.xda-developers.com/showpost.php?p=58135730&postcount=1474
* Short version: This is actually by design of mpdecision. If you want this behavior to change, I recommend that you 1) flash latest stable leankernel, 2) flash the custom no-freq mpdecision, and then 3) disable cpu-boost via lkconfig. Do not disable mpdecision if you go this route. Also, if you flash ROM, you must re-flash custom mpdecision. To go back to normal, flash the stock mpdecision file.. Launch lkconfig, choose core control, and choose one of the options in core control.
Will flashing leankernel decrypt my phone storage?
If you're already encrypted, then it will stay encrypted after flashing kernel, *until* you format data. Once you format you will stay decrypted until you decide to encrypt again (see below). If you're already decrypted, leanKernel will not force encrypt automatically.
What do I do to encrypt again?
There are several ways to do this. One way (easiest for me at least) is to adb in (or in terminal emulator):
Code:
[email protected]:/ # start encrypt
You will see the phone hot boot and once it comes up you will be encrypted again. Keep in mind that if you want to decrypt again you'll have to wipe.
How do I check the PVS BIN of my cpu?
Code:
[email protected]:/ # cat /proc/cpu/msm_acpu_pvs
The number you get should range between 0 and 15 (inclusive). If you ended up with 15 congratulations. If you ended up with 0, go get it exchanged! Stock frequency/voltage table: http://pastebin.com/ZyGA9Tec
Which kernel control app do you recommend?
When v1.0 gets released it should come with "lkconfig" for tweaking some of the options. Otherwise, I tried Trickster and KernelTweaker, and they both seem to work ok.
What are ondemandX and interactiveX?
ondemandX and interactiveX are very very close to "stock" ondemand and interactive governors, respectively. The only difference is screen_off_maxfreq sysfs support. This means that it gives you the ability to limit phone's max frequency when screen is off. This feature could be effective in reducing battery usage, especially if you have a misbehaving app (or two) that consume cpu cycles while screen is off. The default value is 2265600 - if you change the value to your top speed you're effectively disabling the feature and restoring stock behavior completely. You can use an app like Trickster or Kernel Tweaker to modify screen_off_maxfreq.
HELP! I messed up with lkconfig - how do I go back?
Do not fret. Flash lkconfig_cleaner.zip from the "util" directory.
(If you want to do this manually), reboot the phone into recovery, mount /data, and delete everything in /data/data/leankernel. Once things are back to normal, re-run lkconfig to re-do your settings.
What is cpu-boost?
Read this post: http://forum.xda-developers.com/showpost.php?p=57215289&postcount=535
What is the best RGB setting?
http://forum.xda-developers.com/showpost.php?p=57265483&postcount=620 (old)
http://forum.xda-developers.com/showpost.php?p=59092146&postcount=3017 (new)
What is power aware scheduling?
Read this post: http://forum.xda-developers.com/showpost.php?p=58313978&postcount=1651

I missed your kernel when I switched to N5. Glad to have you here

hmm.. a kernel. since its the first one posted here, im trying it out

Hell yeah. Ready to flash
Sent from my AOSP on Shamu using XDA Free mobile app

If I flash this it will decrypt right cool

digweed4me said:
If I flash this it will decrypt right cool
Click to expand...
Click to collapse
It should not decrypt if you're already encrypted, unless you re-format/wipe. But no guarantees.

Imoseyon said:
It should not decrypt if you're already encrypted, unless you re-format/wipe. But no guarantees.
Click to expand...
Click to collapse
What app should we use to control? I remember you used to have your app right

holy **** Imoseyon. you made my Thunderbolt usable way back when. so glad to see you developing for the N6 now

digweed4me said:
What app should we use to control? I remember you used to have your app right
Click to expand...
Click to collapse
Flashed it and yes decrypted thanks a lot

IMO!! Good to see ya again man. Can't wait to run your work again.
Appreciate it!

digweed4me said:
What app should we use to control? I remember you used to have your app right
Click to expand...
Click to collapse
You mean lkconfig? Yeah that's coming later (along with a whole lot more).. If you're talking about f2fs, you'd want to use custom recovery but TWRP for shamu doesn't support f2fs yet - i had to do everything manually.

Imoseyon said:
It should not decrypt if you're already encrypted, unless you re-format/wipe. But no guarantees.
Click to expand...
Click to collapse
i am still encrypted, and did not decrypt after flashing. so, all worked as it should.

Can we flash on stock ROM or is a custom ROM required?

So let me see if I get this straight: I'm on stock, unlocked bootloader, rooted, and encrypted (as far as I know--I never decrypted), so if I flash this it won't decrypt my device? I was kinda hoping it would.
Secondly, I'm good to flash this with stock ROM? I'm hoping for a bit better battery life.
Thanks devs! I got a feeling development for our device is gonna be NUTS!!
You don't buy a Mustang for the gas mileage.

nycdiplomat said:
Can we flash on stock ROM or is a custom ROM required?
Click to expand...
Click to collapse
I'm on a stock ROM.

pathtologos said:
So let me see if I get this straight: I'm on stock, unlocked bootloader, rooted, and encrypted (as far as I know--I never decrypted), so if I flash this it won't decrypt my device? I was kinda hoping it would.
Secondly, I'm good to flash this with stock ROM? I'm hoping for a bit better battery life.
Thanks devs! I got a feeling development for our device is gonna be NUTS!!
You don't buy a Mustang for the gas mileage.
Click to expand...
Click to collapse
wipe before flashing, youll be decrypted. if you dont wipe, you stay encrpted.

pathtologos said:
So let me see if I get this straight: I'm on stock, unlocked bootloader, rooted, and encrypted (as far as I know--I never decrypted), so if I flash this it won't decrypt my device? I was kinda hoping it would.
Secondly, I'm good to flash this with stock ROM? I'm hoping for a bit better battery life.
Thanks devs! I got a feeling development for our device is gonna be NUTS!!
You don't buy a Mustang for the gas mileage.
Click to expand...
Click to collapse
AFAIK, there's no way to decrypt without having to wipe unfortunately. Going the other way (unencrypted to encrypted) is super easy though, and no data loss.

nycdiplomat said:
Can we flash on stock ROM or is a custom ROM required?
Click to expand...
Click to collapse
im on rastapop, an aosp based custom rom.

simms22 said:
wipe before flashing, youll be decrypted. if you dont wipe, you stay encrpted.
Click to expand...
Click to collapse
Thanks for your quick response. Wipe what tho? Cache, dalvik, and what else? Hope you don't mean all my data.
You don't buy a Mustang for the gas mileage.

Related

[KERNEL][RAY - 4.0.2.A.0-Overclock] [Rel: v0.13][Dt: 19/Dec/2011]

NOTE: This will probably no longer be maintained. It was the result of me playing around with the kernel from scratch instead of trying to understand what changes others have made and why they had made them! Now I'm a little more confident I'll probably be using DooMLoRD's kernel as a base for any changes I make to the Ray: [Kernel] [Ray] DooMLoRD's Kernel for Ray
hartej said:
Been playing around with Kernel development and created an overclocked kernel for the 4.0.2.A.0 stock Rom.
There's nothing too speciall in it at the moment, but lets you overclock the Ray to 1.9Ghz using the source released by SE and the modified CPU steps that IF2 posted here: http://forum.xda-developers.com/showthread.php?t=1165355
There's no custom bootloader/Clockwork mod and no additional governers (at the moment) although I may add these in future as I learn more.
It seems to work well enough, and everything seems to be working as standard. I experience random lock-ups at 1.9 and occasionally 1.8Ghz, especially when it goes into/out of sleep when the screen turns off. Lower frequencies seem stable though.
This is released as-is, I'm using it myself but I can't be held responsible for any instabilities or failures you might experience. Just thought it might be of use to some people.
The new .img file can be downloaded from here: http://dl.dropbox.com/u/17615284/4.0.2.A.0-V0.13-2011-12-18.img
Alternatively, I've posted a version of the DooMLoRD kernel for the Ray which has a ton more features. This can be found here: http://forum.xda-developers.com/showthread.php?t=1400121
To install just use fastboot in the usual way. To return to stock, extract kernel.sin from the official update image using WinZip/WinRar etc and flash using fastboot again.
Click to expand...
Click to collapse
I'll post any updates here from now on.
Changelog:
19/12/2011 - V0.13 - As people have quite rightly pointed out, V0.12 boots at 1.8GHz as default, which causes multiple reboots. I hadn't noticed this as I had SetCPU reduce it to 1GHz as soon as the system started. The only change to this version is to have it boot at 1GHz as default, it's up to the user to increase it themselves.
28/10/2011 - V0.12 - Added Clockwork Recovery v5.0.2.6 (Spam Vol[-] when phone starts up, use volume keys to navigate, home to select, back for back)
28/10/2011 - V0.11 - Started playing with the Ramdisk - as a first start I've made it rootable. Things like "Adb remount" work now.
26/10/2011 - V0.1 - intial release
Current version:
~~~~~~~~~
V0.13 can be downloaded here: http://dl.dropbox.com/u/17615284/4.0.2.A.0-V0.13-2011-12-18.img
Older versions:
~~~~~~~~~
V0.12 can be downloaded here: http://dl.dropbox.com/u/17615284/4.0.2.A.0-OverclockV0.12.img
V0.11 can be downloaded here: http://dl.dropbox.com/u/17615284/4.0.2.A.0-OverclockV0.11.img
get new kernel~nice
tested it works really cool
thanks!!!!!
Like it...
thanks
Glad to see the "Recovery option" is available.
I tested v0.11+OC 1.3Ghz -> no problem.
However, v0.12+OC 1.2 or 1.3 -> keep on rebooting.
v0.12+no OC (use default 1Ghz) -> no problem.
im on 012+oc 1.5mhz, still working well....
great works!
great work, thx for your efforts
the included cwm is it dooms latest?
http://forum.xda-developers.com/showthread.php?t=1172885
"[v12 onwards] modified recovery to support /sd-ext backup/restore (remember /sd-ext has to be the 2nd partition on ur sdcard [mmcblk0p2] for this to work)"
if it is not I think that would be usefull with ext support, now you can use a2sd for xperia, bu it is not possible to make nand backup bcs cwm dit not recognize ext partition.
can you add donation possibility, would like to support your work
Thank you a thousand times! :d
2 questions though:
- I have to reroot my phone after this?
- Do I have to rename the download to boot.img?
Thanks 4 sharing!!!
-No
-No
;-)
funiewski said:
great work, thx for your efforts
the included cwm is it dooms latest?
http://forum.xda-developers.com/showthread.php?t=1172885
"[v12 onwards] modified recovery to support /sd-ext backup/restore (remember /sd-ext has to be the 2nd partition on ur sdcard [mmcblk0p2] for this to work)"
if it is not I think that would be usefull with ext support, now you can use a2sd for xperia, bu it is not possible to make nand backup bcs cwm dit not recognize ext partition.
can you add donation possibility, would like to support your work
Click to expand...
Click to collapse
It's not the latest I'm afraid so I doubt the ext backup would work. I'll see what I can do for the next release when I get a chance.
At some point I was also going to see if it's possible to change the MTD partition structure to give more space to /data. At the moment adb reports:
Code:
Filesystem Size Used Available Use% Mounted on
/dev/block/mtdblock0 400.0M 241.8M 158.2M 60% /system
/dev/block/mtdblock3 420.0M 270.3M 149.7M 64% /data
This means that there's over 150MB of 'free' space in system that could be given over to the data partition instead of being effectively lost. May or may not be possible - don't know enough about the system yet.
As for donations - this is as much a learning experience for me than anything else, and at the moment I'm mostly applying things that others have done instead of making any breakthroughs myself so I wouldn't feel happy taking donations, but the thought is appreciated.
Bazonga said:
Thank you a thousand times! :d
2 questions though:
- I have to reroot my phone after this?
- Do I have to rename the download to boot.img?
Click to expand...
Click to collapse
You'll have to put it into fastboot mode by powering on and holding Vol[+], then flash using "Fastboot flash boot <filename>" - you can rename it or not, provided the <filename> part matches. You shouldnt have to reroot.
kkline38 said:
Glad to see the "Recovery option" is available.
I tested v0.11+OC 1.3Ghz -> no problem.
However, v0.12+OC 1.2 or 1.3 -> keep on rebooting.
v0.12+no OC (use default 1Ghz) -> no problem.
Click to expand...
Click to collapse
That's strange, i've got it overclocked to 1.5Ghz and it seems to be really stable. As far as I'm aware the only change I made between the two was adding clockwork - there shouldn't be any other difference... I'll look into it.
Double reboot only 10 min after flashing and without changing frequencies..
Bazonga said:
Double reboot only 10 min after flashing and without changing frequencies..
Click to expand...
Click to collapse
Without having your device in front of me I don't know how much I can do to help, but I'll look into it once I have the time. Unfortunately I have other things on the go at the moment so it probably won't be till next week.
hartej said:
Without having your device in front of me I don't know how much I can do to help, but I'll look into it once I have the time. Unfortunately I have other things on the go at the moment so it probably won't be till next week.
Click to expand...
Click to collapse
Thanks, I flashed the stock kernel back for now, Ray kept rebooting on me for no reason..
hartej said:
That's strange, i've got it overclocked to 1.5Ghz and it seems to be really stable. As far as I'm aware the only change I made between the two was adding clockwork - there shouldn't be any other difference... I'll look into it.
Click to expand...
Click to collapse
Do you use SetCPU ? (I use SetCPU 2.2.4)
What's the parameters did you use to OC 1.5Ghz ?
"ondemand" ? "powersave" ? "performance" ? or ?
Currently I changed back to V0.11. (it's stable for me)
kkline38 said:
Do you use SetCPU ? (I use SetCPU 2.2.4)
What's the parameters did you use to OC 1.5Ghz ?
"ondemand" ? "powersave" ? "performance" ? or ?
Currently I changed back to V0.11. (it's stable for me)
Click to expand...
Click to collapse
Yup, think I'm on 2.14 though - I doubt this would make a difference but its possible I guess.
I leave everything as-is (So ondemand governor) but reduce the min to 122MHz and increase max to 1.5GHz. Still confused as to why the previous version is more stable for some, but I'll have a look at the differences.
hi! thank you for this kernel.
now question. can you include USB_otg into your kernel? it's realised in DooMLorD kernel for arc (link). is it possible to do this feature for our device?
P.S. sorry for my english, i'm from Russia
vdsirotkin said:
hi! thank you for this kernel.
now question. can you include USB_otg into your kernel? it's realised in DooMLorD kernel for arc (link). is it possible to do this feature for our device?
P.S. sorry for my english, i'm from Russia
Click to expand...
Click to collapse
Don't worry about your English - my Russian is much worse!
I'm developing this for my own uses (selfish I know) while I work out how it's all put together. I'll add OTG to my list although I can't promise anything.
thanks
take it
Tried 0.12 and was really happy there´s clockwork for my ray But I have to go back to stock kernel. v0.12 randomly freezes and then reboots (btw. ray gets hot untill reboot).
I didn´t overclock and use rooted 4.0.2.A.0.42.

[KERNEL][CWM][Player 5.0][USA]Entropy's Daily Driver, 3/5/2012 (1.2 GHz OC)

Well, the time has come that I think my kernel is ready for public consumption.
THIS IS ONLY FOR THE USA VERSION OF THE GALAXY PLAYER 5.0 (YP-G70). If you have a mechanical home button instead of capacitive buttons at the bottom, do not flash this (rumirand has a kernel for you)! If you have a 4.0, do not flash this (SteveS has a kernel for you)!
Read the first three posts of this thread COMPLETELY before asking questions - if you ask a question that is answered in the first three posts, you WILL be flamed.
I'm continuing my Daily Driver name, even though it isn't as good of a name as it used to be. It is my daily driver - but what kernel dev doesn't use their own kernel as a daily driver? It made more sense in the Infuse days when I was running my own unreleased kernel for months and a few people asked for it. Oh well, I'm lazy - same name for now.
This is going to be maintained in the same manner and spirit as my other Daily Driver releases for the Samsung Infuse and Samsung SGH-I777 (AT&T Galaxy S II) - http://forum.xda-developers.com/showthread.php?t=1212795 and http://forum.xda-developers.com/showthread.php?t=1289460
It is built from sources at https://github.com/Entropy512/linux_kernel_galaxyplayer and initramfs at https://github.com/Entropy512/initramfs_yp-g70
Current features:
coolbho3k's Samsung Sleep of Death patch - allows stable use of screen-off profiles with limits below 800 MHz in SetCPU
netarchy's conservative governor tuning patch - Reduces the polling interval, allowing conservative to ramp up/down faster. Over in I9100 land they're calling this "lionheart" and it's all the rage. (It makes me sad when people won't accept a governor until it's renamed and hyped up way beyond what it is...) As an example, a GSII would take 0.4 seconds to ramp from 200 to 1200 MHz with the default conservative governor, it can go all the way in 0.1 second with this patch.
conservative set to default governor - use SetCPU or a similar app to change it
jhash3
TinyRCU
CIFS and Tunneling modules included
ext4 partition mounting support in kernel and initramfs thanks to rumirand - ghetto Lagfix baby!
CWM 5.0.2.7 based recovery - Mostly tested, seems working, but may have a few bugs still to work out, rumirand helped a lot on this one
Insecure kernel - gives you automatic root in ADB shells
Per-file fsync() disable capability - see "dangerous features" documentation below
Standard bootanimation (/system/media/bootanimation.zip) support
Charginghacks - faster charging at low battery, slightly slower near the end, overall faster charging while trying to minimize battery stress
CPU core voltage control - use SetCPU or a similar app
CPU overclock to 1.2 GHz - use SetCPU or a similar app
Planned features, short-term:
Pull a few other bugfix commits from my other kernels
Clean up CWM implementation
Planned features, mid-term:
Proper Voodoo Lagfix support (Automatic partition conversion instead of manual)
Planned features, long-term:
Overclock beyond 1.2 if people prove they can handle 1.2 with maturity (Infuse community couldn't handle any OC in a responsible manner...)
Features not planned:
Anything that has a high risk of trading off stability for performance, unless it can be completely disabled by default
Alternative governors - They almost always cause wacky behavior in some cases, and they don't offer anything that can't be done with a combo of SetCPU profiles and tuning the conservative governor now that the minimum poll rate has been dropped.
How to flash .tar releases:
Linux/MacOS:
I forgot that Heimdall doesn't like this particular device - you will need to use a Windows virtual machine with USB passthrough support (like VirtualBox) and Odin, or root the device using the zergRush exploit and follow the "rooted device" instructions. (Ambrice has a fixed version of heimdall, but it must be compiled from source. If you know how to do that you don't need tips on how to use it. )
Windows:
Enter download mode - Power off your device completely, hold VolDn, and insert the USB cable
Use Odin - Google it or search these forums for details - try AdamOutler's resurrector thread in this Development forum
Any rooted device:
Extract the zImage from the .tar file of the release. On Linux, it can be the following (which should work in an ADB or Terminal Emulator shell on the Player itself.)
Code:
tar xvf <releasefile>.tar
From a shell with root access (ADB or Terminal Emulator), do the following:
Code:
dd if=zImage of=/dev/block/mmcblk0p11
How to flash .zip releases:
Put it on your sdcard, enter CWM, flash the .zip using CWM
If you do not have CWM, install an older .tar release then flash, or follow the "Any rooted device" instructions above, but extract the zImage from the .zip instead of a .tar
3/5/2012 Release:
Overclocking to 1.2 GHz (use SetCPU or a similar app to enable)
Support for running scripts in /system/etc/init.d
3/3/2012 Release:
Voltage control (no overclock yet, coming next)
1/29/2012 Release:
charginghacks from Infuse: Charging current on a wall adapter raised to 800 mA at lower battery, dropping to 700, then 600 (stock), then 550 (slightly below stock) as battery voltage reaches maximum. This gives overall lower charge times while trying to not stress the battery too much.
Also, final charge termination happens earlier - while this results in slightly less battery capacity per charge, it will help the battery retain capacity over time.
1/23/2012 Release:
Initramfs: Standard bootanimation support. Place a standard bootanimation in /system/media/bootanimation.zip - Note: The "stock" bootup sound still plays.
1/22/2012 Release:
A few bugfixes and power management improvements pulled in from other kernels
Ability to disable per-file fsync() - good for benchmark epeen, potentially dangerous for your data
1/14/2011 Release:
Initial release
FAQ
Q: Why does CWM default to my external SD card for backup/restore/flashing ZIPs?
A: This is the standard for Android devices going forward - internal on /emmc and external on /sdcard
Q: How do I enter CWM?
A: Until ROMs come out that have extended power menu mods: Power off your device, then:
Hold VolUp
Hold Power
Release Power when the SAMSUNG screen appears (continue holding VolUp)
Release VolUp when CWM appears
Q: I'm still not rooted?
As stated in the features, an insecure kernel only provides root in an ADB shell. Either use ADB to push /system/bin/su and /system/app/Superuser.apk and chmod them to the correct permissions, or take the easy way out and flash ChainsDD's Superuser package in CWM - http://androidsu.com/superuser/
Q: I used ROM Manager to do something, and something weird happened/went wrong. Why?
A: ROM Manager has not worked properly on any device I have ever owned. It softbricked any Infuse that had Voodoo Lagfix enabled, and never works properly on the SGH-I777. The only thing I've ever seen it do right was install gapps on CM7 on the I777.
Q: My battery will never charge past 80%, why?
A: The way Samsung estimates state of charge on our devices is extremely primitive and, in general, poor. Instead of a dedicated fuel gauge IC, they have tried to estimate battery directly from voltage with some funky compensation offsets depending on current operating state - the offset for wall charging is so high that it is impossible for the battery to read higher than 80% when on a wall charger unless you're putting the device under heavy load to activate some of the other compensation offsets. Sometimes it seems like the compensation code doesn't "kick in" when plugging in a charger, allowing you to see a higher number, other times it'll get "stuck on" even after removing the charger. The general thing, though, is that any percentage estimates of battery state are WILDLY inaccurate.
Q: Can you implement Voodoo Sound?
A: No - We have the same audio chip as the Galaxy S2 and Galaxy Note (Yamaha MC1N2) - Voodoo Sound requires a Wolfson WM8994.
Documentation on "dangerous" features:
Per-File fsync() disable:
This allows you to disable per-file write forced syncs. (e.g. if an app tries to force a write straight to disk, it'll just go to cache). This achieves the same goal as the modded sqlite hacks seen in tweaks such as USAS, however it can be disabled at runtime.
WARNING: THIS CAN CAUSE DATA LOSS OR CORRUPTION IN A CRASH
To enable, do the following in a terminal, or add it to an init.d script (look at my ondemand script as an example):
Code:
echo "1" > /sys/module/sync/parameters/fsync_disabled
And to disable (return to the default):
Code:
echo "0" > /sys/module/sync/parameters/fsync_disabled
Good for around 200 points of epeen in the database benchmarks in Antutu or 500-600 points of epeen in Quadrant. Real-world benefit: Probably not worth the data integrity risk, but you've got a choice now.
*reserved for whatever the heck I forgot above*
Thanks a ton Entropy512!! Been waiting for this.
Going to have to buy you a six pack via the Donate button!
Congrats Entropy512. I'm really thankful for your cooperation.
Its finally here!! Thanks so much entropy
Nice job entropy! Good to see that there is at least some development going on for these devices. This makes me wish I got a 5.0 instead..but I'm stuck with a 4.0.
Sent from my YP-G1 using Tapatalk
Thank You
I myself along with others appreciate you developing for the Galaxy Player 5.0 it is a great music player and it falls in the Galaxy family its a good device
Sent from my Galaxy Nexus using Xparent Blue Tapatalk
Says we can use Odin...do see put this in a phone or pda slot
Zei said:
Says we can use Odin...do see put this in a phone or pda slot
Click to expand...
Click to collapse
PDA - only modems go in phone I believe.
Just like flashing any other kernel in Odin.
Edit: CRAP I have Heimdall instructions but Heimdall won't work on the Player... I'm so habitually used to Heimdalling...
Would a factory stock image + root + this be good enough to post if done w/ the backup/restore feature?
Zei said:
Says we can use Odin...do see put this in a phone or pda slot
Click to expand...
Click to collapse
Yes when you use odin you will need to put the rom in PDA slot.If yiu use heimdall you will need to extract and flash the files separatly.
I hope this helps.
---------- Post added at 11:53 AM ---------- Previous post was at 11:53 AM ----------
Entropy512 said:
PDA - only modems go in phone I believe.
Just like flashing any other kernel in Odin.
Edit: CRAP I have Heimdall instructions but Heimdall won't work on the Player... I'm so habitually used to Heimdalling...
Click to expand...
Click to collapse
Heimdall does work on the player. I use it.
Hmm... odd, I tried to use it and it gave me some odd errors I've never seen before (I forget what at the moment) and then put me into forced download mode. I know a pit-dump has some rather odd looking results. Maybe if I just try and flash a kernel it will work.
I'll try again later today, and edit the instructions if it works.
I have my Player shut off for most of today - I've been having strange battery drain problems on my GSII for the past week or so, only when at home - and it seems like it started when I got the Player. So I'm shutting it off to see if it actually is affecting my phone.
Edit: Heimdall still isn't working for me
Code:
Heimdall v1.3.1, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...
Checking if protocol is initialised...
Protocol is not initialised.
Initialising protocol...
Handshaking with Loke...
Beginning session...
Session begun with device of type: 0
Downloading device's PIT file...
PIT file download sucessful
Uploading KERNEL
100%
ERROR: Failed to confirm end of file transfer sequence!
KERNEL upload failed!
Ending session...
Rebooting device...
Re-attaching kernel driver...
After I flashed your kernel it won't let me connect to the market, my Wi-Fi is turned on and I connect to the browser just fine but not the market, help?
That's strange - no problems with market connections here. (Edit: Just updated BetterBatteryStats...)
Try rebooting?
Or wait a bit - sometimes the Market just goes down.
Entropy512, I've been studying your github and how you enable ext4 support in the kernel. Could you explain how you did it? I know it has to do with editing "/ arch / arm / configs / yp_g70_usa_defconfig" but I can't find that file in samsung's source or on Steve'S github. And after you do that you just edit the mount points in init.rc, right? I'm asking because I'm gonna try to get ext4 (lagifx) for my 4.0!
Thanks.
P.S. sorry if I'm a noob
klin1344 said:
Entropy512, I've been studying your github and how you enable ext4 support in the kernel. Could you explain how you did it? I know it has to do with editing "/ arch / arm / configs / yp_g70_usa_defconfig" but I can't find that file in samsung's source or on Steve'S github. And after you do that you just edit the mount points in init.rc, right? I'm asking because I'm gonna try to get ext4 (lagifx) for my 4.0!
Thanks.
P.S. sorry if I'm a noob
Click to expand...
Click to collapse
yp_g70_usa_defconfig was copied from venturi_usa_defconfig prior to modifying it - I decided to start maintaining my own defconfig rather than overwriting the original one.
Galaxy Player 4.0 is palladio instead of venturi. SteveS also uses a renamed defconfig though - something like steves_blahblahblah_defconfig
To change things for a 4.0, it would be something like
Code:
make steves_blahblahblahwhateverthisis_defconfig
make menuconfig (enable ext4 support in the menus here)
cp .config arch/arm/configs/steves_blahblahblahwhateverthisis_defconfig
git add arch/arm/configs/steves_blahblahblahwhateverthisis_defconfig
git commit
Entropy512 said:
yp_g70_usa_defconfig was copied from venturi_usa_defconfig prior to modifying it - I decided to start maintaining my own defconfig rather than overwriting the original one.
Galaxy Player 4.0 is palladio instead of venturi. SteveS also uses a renamed defconfig though - something like steves_blahblahblah_defconfig
To change things for a 4.0, it would be something like
Code:
make steves_blahblahblahwhateverthisis_defconfig
make menuconfig (enable ext4 support in the menus here)
cp .config arch/arm/configs/steves_blahblahblahwhateverthisis_defconfig
git add arch/arm/configs/steves_blahblahblahwhateverthisis_defconfig
git commit
Click to expand...
Click to collapse
Cool thanks! Will definitely try it out.

[ROM] [TF201] [JB Bootloader] AOKP JB Unofficial - JZO54K - Oct 31 2012

This is an unofficial build of AOKP (Android Open Kang Project) for the new Jelly Bean bootloader for the Transformer Prime.
This uses a modified version of my Jellybean CM device & vendor tree... including the new 3.1 Jelly Bean kernel and the new Jelly Bean drivers and proprietary files. THIS REQUIRES THE NEW JELLY BEAN BOOTLOADER.
For the most case, this ROM uses the official commits to the AOKP github. The exceptions are the TF201 device specifics. This ROM uses the new 3.1 Jelly Bean kernel and the new Jelly Bean drivers and proprietary files.
Highlights of this ROM:
1) Android Jelly Bean 4.1.2 JZO54K
2) Built using the latest AOKP changes as of 31 Oct 2012 6:30PM Pacific Time (GitHub / Gerrit)
3) Uses the a modified and tweaked version of my CM10 TF201 device tree with the Jelly Bean 10.4.2.15 kernel (3.1) and proprietary files & drivers with some changes (GitHub)
4) Needs the new Jelly Bean 10.4.2.15 bootloader [IMPORTANT: Flashing over an incorrect bootloader can permanently brick you device.]
5) HDMI audio/video streaming and bluetooth audio streaming (AVRCP 1.3 ready)
6) Camera and microphone
7) 4-way reboot menu (Reboot, Recovery, Fastboot & APX Mode)
8) Includes all the files and changes need for the Google Widevine DRM [untested!!]
9) CIFS and NTFS (read-only) support
10) Dock battery display
12) All other features of AOKP and Jelly Bean (full hardware acceleration, Project Butter, HD video, customisable notification toggles & many more)
13) Some custom addons and feature ports by me...
New in Oct 31 2012 build:
1) BFQ v5, SIO & V(R) I/O schedulers. SIO set as default
2) Lulzactive & Pegasusq CPU frequency governors.
3) Standardise CPU frequency tables' values & disable Asus system mode CPU speed restrictions
4) Enabled zRam/Compcache & KSM (Kernel SamePage Merging) support
5) Fixed model number & LCD density
6) Several device overlay updates and cleanups (bunch of updates for JB)
7) Auto-brightness turned off by default
8) Cleaned-up & updated release tools script (this creates the zip packages)
9) Set correct permission for BtService.sh (Bluetooth DUN) script
10) Force NV_FPS_LIMIT to 60 for all performance modes
11) Device Advanced settings menu to set Asus performance modes (defaulted to Balanced). This is not for the CPU speed, rather the Tegra performance setting (cpuX.sh like functionality) [Read know issues below]
13) Updated device power profile based on official JB release
Known issues:
1) Some locale specific layout for the dock keyboard may not work
2) Auto-brightness is funky [Use the app Lux for auto-brightness]
3) NTFS support is read-only
4) exFAT is not yet supported
5) Torch does not work
6) The "Device Advanced settings" does not show up in the Setting menu. If you want to use it, use an after-market launcher (Apex, ADW, Nova, etc.), and create a Shortcut to the Asus Transformer Prime settings...
Important:
1) Wipe data/factory reset if coming from any other ROM
2) After flashing a build, it is a good idea to wait for 5-10 mins after bootup to allows everything to settle in
3) If you have not upgraded to the official Jelly Bean ROM yet, you will need to flash my CM10 Oct 13 2012 build or a stock JB ROM first to upgrade your bootloader, and then you may flash the latest build here.
4) Make sure you use a recovery compatible with the new Jelly Bean bootloader after flashing this ROM.
The usual 9 yards:
1) Have you read this post properly. Read it again!!
2) You need to have an unlocked bootloader
3) You need to have a custom recovery (CWM or TWRP)
4) It is a good idea to have enabled nvFlash (thanks to AndroidRoot) so that you can recover from almost any brick
5) Neither I, nor the AOKP team, nor the AndroidRoot team take any responsibility if anything goes wrong. Use at your own risk
6) Always make sure you create nandroid backups regularly
aokp_tf201_unofficial_Oct-31-12-jbbl.zip [IMPORTANT: You need to upgrade to the JB bootloader before flashing this. You must do a full wipe!!]
Google Apps Pack 20121011
GitHub Sources:
Device Tree
Kernel
Vendor Tree
Tweaks & Mods:
1. GPS Config Tweaks (Multi-Region):
This has various regionally optimized GPS configuration tweaks to inprove GPS locking.
Download tf201-GPSTweaks.zip and flash using TWRP recovery
tf201-GPSTweaks.zip - Dev-Host
tf201-GPSTweaks.zip - Goo.Im
2. SysCtl And DNS Tweaks:
This has a set of SysCtl tweaks to improve multi-tasking and overall performance as well as makes use of the Google DNS servers which are generally faster.
Download tf201-SysCtlAndDNSTweaks.zip and flash using TWRP recovery
tf201-SysCtlAndDNSTweaks.zip - Dev-Host
tf201-SysCtlAndDNSTweaks.zip - Goo.Im
3. Build.Prop Tweaks:
A compilation of build.prop tweaks tested on the TF201
Read here
4. EXT4 Journaling Tweaks: (Advanced Users Only. Manual Steps Involved)
If you don't understand these commands, you probably should lean more about them before using these tweaks.
Read here
Useful threads:
TF201 NVFlash
TF201 nvFlash General Users Guide [Unbrick/Recover/Downgrade/Upgrade]
[ADB/FB/APX Driver] Universal Naked Driver
TWRP Recovery For JB Bootloader
Support the project:
Donate to AOKP
Donate to AndroidRoot
Donate to me (craigacgomez)
Credits:
AOKP Team & Contrbutors, AndroidRoot Team, CyanogenMod Team & Contributors, Jermaine, TeamWin
Google, Asus, nVidia
Goo.im, Dev-Host
Me!!
New in Oct 28 2012 test build:
1) Latest AOKP changes and kernel & drivers from the official Jelly Bean update
2) Uses the stock Jelly Bean kernel (no extra features like the Oct 27 build)
3) Fully functional dock keyboard
Older Releases:
New in Oct 27 2012 test build:
1) Latest AOKP changes and kernel & drivers from the official Jelly Bean update [The kernel has all the same features as my unofficial CM10 kernel which are listed below]
2) Low memory killer tweaks (memory compaction) [Ported from CM10 Nexus 7 kernel]
3) Standardise CPU frequency tables' values.
4) Disable Asus system mode CPU speed settings
5) Enabled KSM (Kernel SamePage Merging) & zRam/Compcache support
6) Added LCD density property to build.prop
7) Lulzactive CPU Frequency Governor v2: Created by Tegraak. Based on "interactive" governor, inspired by erasmux's "smartass" governor [Ported from clemsyn's Nexus 7 kernel]
8) Pegasusq CPU Frequency Governor: Samsung's own multi-core aware governor. Based on "on demand", controls hotplugging [Ported from clemsyn's Nexus 7 kernel]
9) SIO I/O Scheduler [Ported from clemsyn's Nexus 7 kernel]. Set as default.
10) V(R) I/O Scheduler [Ported from clemsyn's Nexus 7 kernel]
11) BFQ v5 I/O scheduler [Ported from CM10 Nexus 7 kernel]
Going to be testing this once download and backups are finished nice to see a new ROM here.
After "Initiating swagger" tablet just restarts.
nizhnyk said:
After "Initiating swagger" tablet just restarts.
Click to expand...
Click to collapse
Keep the issue reports coming.... it'll help me...
craigacgomez said:
Keep the issue reports coming.... it'll help me...
Click to expand...
Click to collapse
ok will try to re-install, since nobody else has similar issue.
AOKP Wallpapers doesn't work not a big deal, some navigation bar settings dont stick like setting the spacing between the soft buttons, also the recent apps button has the glow cut off. All minor bugs that don't affect performance at all. I feel performance is below that of cm10 but for an early test build it is fantastic
Not sure if its just mine but the Navigation soft keys are not space correctly. Too wide. With 4 soft keys it takes up half of the left side. Just reporting. Can't wait for more. Thanks Craig.
xxxdroidxxx said:
Not sure if its just mine but the Navigation soft keys are not space correctly. Too wide. With 4 soft keys it takes up half of the left side. Just reporting. Can't wait for more. Thanks Craig.
Click to expand...
Click to collapse
Yes you can change the space in settings.
Will go back to cm10, don't think I like AOKP, it's basically same cm10 just loaded with a lot of stuff that I don't need, and looks like it's slowing the performance, animations from changing apps or from pop-up's are very slow and laggy.
craigacgomez, any way you could fix MTP connection (I have to use it a lot) ?)) On this rom it does't work too.. or maybe that's just me. But other than that your cm10 rom is great)
nizhnyk said:
Yes you can change the space in settings.
Will go back to cm10, don't think I like AOKP, it's basically same cm10 just loaded with a lot of stuff that I don't need, and looks like it's slowing the performance, animations from changing apps or from pop-up's are very slow and laggy.
craigacgomez, any way you could fix MTP connection (I have to use it a lot) ?)) On this rom it does't work too.. or maybe that's just me. But other than that your cm10 rom is great)
Click to expand...
Click to collapse
AOKP focuses more on extra customisation... CM10 more on features & stability... there is a lot of cross merging between th e two...
I haven't had any issues with MTP, so could you provide a logcat?
So far so good, installation with only one hiccup, a hot reboot while opening for the first time Play and a freeze while navigating in Performance Menu.
Fr a try it's already a masterpeace !
wifi won't turn on
craigacgomez said:
AOKP focuses more on extra customisation... CM10 more on features & stability... there is a lot of cross merging between th e two...
I haven't had any issues with MTP, so could you provide a logcat?
Click to expand...
Click to collapse
saved those logs right after restarting tablet and connecting to computer. (Shows message: Unfortunately, the process android.process.media has stopped)
nizhnyk said:
saved those logs right after restarting tablet and connecting to computer. (Shows message: Unfortunately, the process android.process.media has stopped)
Click to expand...
Click to collapse
Do you have a micro SD card? What is it formatted as??
craigacgomez said:
Do you have a micro SD card? What is it formatted as??
Click to expand...
Click to collapse
ext4, used for data and cache, I think I should try to remove the mounts from vold.fstab, but really never had that problem before and always using SD card.
nizhnyk said:
ext4, used for data and cache, I think I should try to remove the mounts from vold.fstab, but really never had that problem before and always using SD card.
Click to expand...
Click to collapse
Yes, that's your problem... vold won't handle ext4... your logcat says it could not understand the volume type...
W/MountService( 415): getVolumeState(/storage/sdcard1): Unknown volume
Unless you modify the kernel ramdisk to handle the data to sd, it will fail....
craigacgomez said:
Yes, that's your problem... vold won't handle ext4... your logcat says it could not understand the volume type...
W/MountService( 415): getVolumeState(/storage/sdcard1): Unknown volume
Unless you modify the kernel ramdisk to handle the data to sd, it will fail....
Click to expand...
Click to collapse
ok I removed the mounting from vold, still doesn't work. still shows "getVolumeState(/storage/sdcard1): Unknown volume" I think its going to show it even if there is no sd card inserted, and normally bad sd card will not cause MTP to not work.
nizhnyk said:
ok I removed the mounting from vold, still doesn't work. still shows "getVolumeState(/storage/sdcard1): Unknown volume" I think its going to show it even if there is no sd card inserted, and normally bad sd card will not cause MTP to not work.
Click to expand...
Click to collapse
Can you share the output of the "mount" command???
nizhnyk said:
After "Initiating swagger" tablet just restarts.
Click to expand...
Click to collapse
That may not have anything to do with the ROM
Sent from my Transformer Prime TF201 using XDA Premium HD app
If you have HarryBean 1.3 correctly installed you can safely install this rom correct?

[MODS DELETE THIS THREAD] exNoShadez-eas

Mod edit: Thread closed on owner's request.
exNoShadez-EAS Kernel
Hey Pixel XL forum. I'm a Pixel/Sailfish owner, who also enjoys hacking on kernel code. I recently released a Kernel in the Google Pixel forum => but we are all using the same kernel, sooo.... I thought after pushing my second stable release, that I should probably post on the XL forum too.
My kernel is a bit different than most kernels available, you will quickly notice. Lots of interesting features and some unique ones too.
FEATURES
- Current LTS release -> Linux-3.18.114
- Energy Aware Scheduling
- Schedutil (default Cpu Governor)
- RCU infrastructure backport (with expert mode enabled)
- Cpu-Boost / Input Boosting (enabled by default)
- BINFMT_MISC support (NOT mounted on boot).
- Kernel Hardening/Protection (CopperheadOS/Grsec/Pax Marlin kernel hardening features)
- leds-qpnp: Notification LED control - V1.1c (Boeffla) - Adapted for Marlin
- Binder_rt = My own re-implementation of AOSP Binder that uses rt_mutexes; supporting priority inheritance
- Improved scheduling/determinism for high priority threads/tasks
- Backported Scheduling, Locking and Workqueue subsystem code from Newer Linux kernels.
- Audio Driver enhancements / backports (from Wahoo/Pixel 2)
- Sound/Audio driver Tweaks (bug fixes, scheduling improvements)
- forced Interrupt threading enabled
- Wifi Mac Address Randomization
- WireGuard (VPN) kernel module support
- KCal Advanced Colour control
- Improved ASLR (in kernel)
- USB Fast Charge
- Wake Gestures
- GCC 6/7+ Fixes
- Built with GCC-8.x-dev
- and more
Contains code from everywhere: Code Aurora, Flar2/Marlin, CopperheadOS, AOSP, Project-EAS, Freak7/Kirisakura, Linaro, Pixel 2 kernel sources, mainline linux and elsewhere. Modifications and backports by me, as well.
BACKGROUND
I wanted a kernel for My Pixel that had 'all of the things', it didn't exist... So I'm working on my own kernel. I try to balance Security/hardening, experimental features with high Performance and battery life. <- not an easy task! ... Some of the security features do come with overhead, but if you use apps that are CPU heavy / processing and/or require low latency - they will perform well (at the cost of chewing some battery life, of course).... Battery life and SOT are very reasonable though.
WARNING / VERY IMPORTANT: This kernel isn't compatible with installing TWRP ~> meaning; you must use the fastboot version of TWRP (used in RAM) , flash the kernel and NOT install TWRP to your system (the kernel is too big for TWRP to co-exist).... This may sound inconvenient, but there are a number of valid reasons to avoid reducing a kernel's size in order to support TWRP installation, in the boot partition.
***Fun facts on not supporting TWRP below => 2nd post: PLEASE READ: to understand my motivation***
TWRP REMOVAL
*To remove TWRP from your system; You need the stock boot.img from your running/current firmware (which is inside of the factory image zips) or use the Nov Stock boot.img provided here. Then it's as simple as flashing the boot.img to wipe TWRP;
fastboot flash boot_a /path/to/boot.img
fastboot flash boot_b /path/to/boot.img
Stock 8.1 July 2018 Boot.img => https://github.com/nine7nine/Apps/raw/master/MarlinStockJulyBoot.img
Now you can proceed with using the TWRP fastboot boot.img to flash my kernel, magisk/supersu or whatever else....
Fastboot twrp boot image => https://dl.twrp.me/marlin/twrp-3.2.2-0-marlin.img
WARNING: This shouldn't need to be said, but we did have someone on the Pixel forum who did this, so I'm adding a sticky/warning here; do NOT EVER re-lock your bootloader after flashing any kind of custom software, kernels, etc to your device - *it will brick your phone*. Meaning you are screwed would need an RMA / replacement device ... everyone in the XDA community should know better, but still; worth mentioning....
IMPORTANT:
Before asking questions; Please read through the thread (starting with the last few pages) - I shouldn't need to be repeatedly answering the same questions over and over again. It's good practice to get into the habit of reading through threads before asking questions in any thread on XDA, as more often then not; you're question has probably been answered. Thanks!
EXNS-EAS KERNEL DOWNLOAD:
JULY 2018 OREO 8.1 RELEASE exNoShades-eas Kernel Flashable zip
https://github.com/nine7nine/Apps/raw/master/exNoShadez_eas_v2.8.2_f94351f.zip
It is stable, high performance and very responsive...
Important: You will need root; I don't support non-rooted devices && some features require it. I recommend using Magisk; https://forum.xda-developers.com/apps/magisk/beta-magisk-v13-0-0980cb6-t3618589 ...
NOTE: Make sure to flash the latest Magisk beta *before* flashing the kernel zip ...
More Background / Important Notes:
Binder_RT:
My own port and re-implementation of the Binder Kernel Driver; a slightly modified version of The AOSP binder.
Binder_RT uses rt_mutexes as oppsed to mutexes for locking in Binder, ion, ashmem, etc... rt_mutexes support priority inheritance and should improve determinism in Binder, speed up IPC, Ion and Ashmem => Allowing applications that require low-latency, tight deadlines, low jitter and deterministic behaviour to perform better ~ This re-implementation is proving to be the great for those types of applications. The goal here is to help ensure that the Kernel and Binder's high priority && time critical threads and tasks are properly prioritized... Example; audio buffers arriving on time / no buffer underruns... *Further development work is planned to research, experiment with and improve Binder_RT.
rt_mutex documentation, for those interested;
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex.txt
https://github.com/nine7nine/Marlin_exns-eas/blob/EXNS_EAS/Documentation/locking/rt-mutex-design.txt
CPU-Boost / Input Boosting:
Touch inputs boost CPU frequencies (thus improves performance and responsiveness).
# Cpu-boot / Input boost settings
write /sys/module/cpu_boost/parameters/input_boost_enabled 1
write /sys/module/cpu_boost/parameters/input_boost_freq "0:1363200 1:0 2:1900800 3:0"
write /sys/module/cpu_boost/parameters/input_boost_ms 100
IO/ CPU Governors:
This kernel doesn't include a thousand io/cpu governors. IO-wise; CFQ is the default, but we've got a few in there. chose your poison, but know that the majority of my testing is centered around cfq and deadline. CPU Governor-wise the common Linux CPU governors are there; along with Sched and Schedutil....
Stick with Schedutil - on idle, it draws very little power and in most 'peak performance situations, it should do very well..... I'm getting great battery life, sot and performance.
Managing Kernel Settings:
Get EX Kernel Manager - my original code on github was forked from EX kernel, before rebasing it - but EXKM will give you access to 99% of my kernel's settings.
My 8.1 Kernel Sources: https://github.com/nine7nine/Marlin_exns-eas
Donations via PayPal very much appreciated. I do put a significant amount of energy and time into researching, development, testing / QA and also providing support/help to end-users... It's definitely not mandatory to donate; but If you appreciate the effort, see value or benefits from using my kernel on your device and can afford to; Use the "Donate to me" button or the below link... It makes a big difference. thanks!
https://www.paypal.me/jrdnjhnstn
Why TWRP Installations are NOT supported:
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
(and why I'm not using it!)
Most custom/android kernel devs are using the above configuration in kernel compilation, which is arguably very BAD... I understand that boot partitions are small and the desire to install TWRP to them, thus there is a need to reduce the kernel's size....and yes, this will achieve that - However;
1. SUSE, RedHat, etc (Enterprise linux) disable CONFIG_CC_OPTIMIZE_FOR_SIZE -> it's original use case has proven to be invalid. Even Google (in their own documentation) advise against using this; https://source.android.com/devices/tech/perf/boot-times ....
2. It suppresses useful compiler warnings....
3. As SOCs have become more powerful, google has come to the same conclusion that Enterprise Linux did back in 2012.
4. by turning off CONFIG_CC_OPTIMIZE_FOR_SIZE, we achieve better performance, boot time and better cache utilization.
Clark Williams / Redhat Bugzilla said:
* Cause: CONFIG_CC_OPTIMIZE_FOR_SIZE set with assumption that smaller code would yield hot cache lines and good performance
* Consequence: this config caused gcc to generate jump-to-jump code which causes cache line bouncing, hurting performance
* Fix: turn off CONFIG_CC_OPTIMIZE_FOR_SIZE
* Result:slightly larger kernel but better cache utilization
Click to expand...
Click to collapse
(The Above is quoted from Clark Williams, A Senior Software Architect @ RedHat -> https://bugzilla.redhat.com/show_bug.cgi?id=796297)
I know of no other way to significantly reduce kernel size. Disabling some debugging, unneeded features, etc helps - but not enough.... I am focusing on optimization, using newer builds of GCC/Linaro, performance enhancements, fixing compilation errors, etc, etc -> these things are more important than trying to support TWRP installation.
Therefore; I do NOT support installing TWRP....
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
spr33 said:
This sounds incredible. All those features.. and then some. Hard for me to test as I rarely use my PC but I may have to go and give this a try.
Edit: would it be possible to create a build for those who do want to use TWRP? Would be great to do some benchmarks (real work using DiscoMark and synthetic using geekbench/AnTuTu/etc) to see differences between the two.
Click to expand...
Click to collapse
No. like I said. I don't/won't support installing twrp. it would require reverting a bunch of patches/ work that I've already put in... and also not using linaro GCC 7.2.1 compiler, either...
the time invested would be a complete waste for me and I would have maintain another separate branch. test another build, etc, etc'... i'm not doing it. my current goal is to reduce my branches into one single branch/build;. ... which will end up hopefully being binder_rt... not create more.
feature wise, pretty much a 'best of' what any other custom kernel offers for Marlin, all of the hardening stuff (I think I'm the only Marlin kernel on XDA with that), etc... afaict, I'm the only one rolling in EASv1.4, cpu-boost, dynamic stune boost; all of which I've ported myself... some of the audio driver stuff I personally ported (more coming) and binder_rt is my baby; I ported aosp binder and researched / Inplemented all of the changes to Binder...
in my yet-to-be-released binder builds I also have backported a large chunk of the linux locking, workqueues and scheduling code and some other bits from newer mainline linux kernels (which allow me to pull in some new features and use them).
so I'd rather work on this kind of stuff, over caring about twrp, doubling my workload to support running synthetic benchmarks between gcc's -Os vs. -O2 optimization levels...
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
housepabldroid said:
All those features are welcome in this poor Oreo pixel community! thanks for your work..
i'll try it as soon as possible!
Click to expand...
Click to collapse
haha. pixel community isn't too bad. there's just not a lot of custom oreo ROMs.... myself, I wouldn't want to run any of those custom roms anyway. they usually are built without odexing or proper signiture key signing = less secure and way less optimized... Stock ROM is great, just needs root and a few apps to modify / customize it a bit.
for me, the kernel has always been the issue. lol... therefore, roll my own. lol....
ya, for sure give it a try... I honestly would say binder_rt is the best build... the 'stable build' is a bit of a misnomer - all of the builds are stable, just the binder ones are running more experimental code... binder_rt blows the socks off any other Marlin kernel for certain kinds of workloads... I'm aiming fir it to become my default build...
Donric13 said:
Thanks for the new kernel. Sounds very interesting. Can't try it atm because i am on dp1 from 8.1. Hope you gonna also support 8.1 when official sources are out. For me battery life is already great on dp1.
Click to expand...
Click to collapse
yup. I have to wait until kernel sources are released. you got it!. but when they are / 8.1 is released; I will be upgrading to 8.1, so no worries - there will be an 8.1 version...
I've heard heard that battery life is pretty good on 8.1, there's a thread in the pixel forum about it... but by what they were saying, it didn't seem that much better than what I see from my kernel.....
I'm more interested to see what performance improvements are in 8.1 kernel sources... I've found stock kernel to be a bit crappy for some stuff...
well, if at some point you are bored and want to test my kernel on 8.1, go for it. ya never know: maybe it will work. the reason I say that?
IIRC - it was tested with my old kernel / sources build... could've been a bug, not present in the new one.... or something else. IdK.. being as I'm on 8.0 I can't even look into why that might be or have been...
just make sure if u do ever try it, keep the stock boot.IMG for 8.1 around, in case it doesn't work..... and report back, if it does work. lol
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
JS.zip said:
Gotta say super smooth. Thanks for sharing. Maybe it's just a glitch in ex kernel manager but zram "stopping..." Or nothing to worry about.
Click to expand...
Click to collapse
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
nine7nine said:
Ah yes, I should've mentioned that ~ zram is working fine - but EXKM is being denied permission to read those files on the file system - I think it's due to a change in cgroups code (from merging in EASv1.4), but I haven't gotten to the bottom of it yet....
No worries though ~ I HAVE completely verified that zram is working, mounted swapon and behaving as it should... Honestly, the defaults for zram are fine ~ if they ever weren't; you would have bigger problems on your hands, that changing swapping wouldn't help. lol
Which build are you using? (just curious)
Click to expand...
Click to collapse
Thanks that's what I thought. The bad boy "Binder RT" lol
JS.zip said:
Thanks that's what I thought. The bad boy "Binder RT" lol
Click to expand...
Click to collapse
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
nine7nine said:
bad boy eh? haha.
Ya, no worries - I check that sort of stuff, when it crops in... fixing that particular issue just hasn't been a huge priority, over other stuff that I'm working on. (and because I think it's pointless that EXKM even displays it to begin with - it just gives users the false impression that they are tweaking something, that in 99.99999% of cases - is absolutely pointless to touch).
Anyhoo, cool - let me know how things are working out with the binder_rt build, as you get some more use in ~ I really want it to become my main focus / implementation. (I personally won't be going back to using any other build day to day, anyway.)
Click to expand...
Click to collapse
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
AlkaliV2 said:
I just wanted to point out that I grabbed your stock kernel from the OP and had planned to use that to flash my stock image. However, I happened to have the latest boot.img release decompressed on my drive so I compared it to the one I had on hand.
MD5 for your Stock Image: 7A2D92981FDE96E5D60D806019ACFA0C
MD5 for Google's Stock Image: BF9EDA2888C8C6A1FCD0A7DB6E37F739 (Latest November build)
Now I don't want to sound like the suspicious type, because in reality the stock kernel you provided is just to get TWRP off the device before flashing your kernel, but I'm forced to ask why your stock image is not identical with the main stock image? Unless your stock kernel isn't from the latest release but instead from a prior month or something of that nature (It would take me quite awhile to download the other month's releases just to check so I was hoping to ask you instead)
Click to expand...
Click to collapse
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a download/link to me, so I can add it in. thx
nine7nine said:
Easy explanation - I'm on Sailfish, you aren't; so the md5 wouldn't match...
I can do one of two things; you can post a upload/link to your boot.img and I will replace the link for Marlin's nov boot.img (adding it to my github) OR I will remove the link from the post and Marlin users will have to fend for themselves. (have to download 1.8GB firmware themselves for a boot.img... Obviously i'm NOT downloading your guys Nov Firmware images).
nothing suspicious at all here, dude.
EDIT: I've removed the link to the sailfish Nov boot.img, as a sign of good faith; I can replace it with the Marlin Nov boot.img - but that will require you to post a downlink to me, so I can add it in. thx
Click to expand...
Click to collapse
No problem, I download every Marlin release so I'll just update my AFH folder to include the monthly kernel release and users can download it from there. You can either link to my folder or download from it to add to your repository; either one is fine with me Thanks, and I do appreciate what you're doing but I have a 'verify first' stance since these devices are a big part of people's lives. I'm going to give your kernel a spin now, I appreciate you getting back to me so quickly. If only AFH was this fast, I just spent 25 minutes trying to get it to create an empty folder...
Link to Marlin Stock Images: https://www.androidfilehost.com/?w=files&flid=231142
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
AlkaliV2 said:
Edit: I attempted to flash the "exNoShadez_eas-3.18.83_Binder_b0b66e0.zip" from the fastboot installed version of TWRP after flashing the stock boot to slot_a and slot_b, but it is failing with an error that states, "New image larger than boot partition. Aborting..." Then updater process Error 1. Any idea what would cause that?
Click to expand...
Click to collapse
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
nine7nine said:
Hey, I added your nov boot.img to the OP. put it on github to save a few clicks for people.
The error you are seeing would suggest that TWRP is installed to the system. That is the only time anyone has ever bumped into that message. So, I'm not sure what's going on with your end but it would seem you have twrp actually installed...?!
the TWRP that you are supposed to use, is this one;
https://dl.twrp.me/marlin/twrp-3.1.1-1-fastboot-marlin.img
that loads and runs from RAM. twrp can't be "installed from fastboot" ~ it installs to the boot partition; leaving not enough room for the kernel.
Click to expand...
Click to collapse
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
AlkaliV2 said:
Yeah, that actually explains it. I was using a kernel with TWRP installed last go round and now it seems just flashing the factory boot.img is not getting rid of the installed TWRP. I'll figure out how to get TWRP removed for good this time; thank you for letting me know where to look.
Click to expand...
Click to collapse
Yup. TWRP can't be installed along side. Running it from RAM has to be used. ie: I don't support TWRP installations. lol
Flashing the factory boot.img DOES get rid of TWRP for good ~ you just have to make sure to use the TWRP fastboot boot.img for flashing my kernel after (since fastboot/twrp doesn't install to the boot partition)...
I've added a link to the OP to Marlin's twrp fastboot boot.img....
I also updated all of the download links and double-checked to make sure that all of the Marlin zips are packed properly with AnyKernel2 + relabelling every file on my github (by re-packing all of them all... This is mostly just paranoia on my part - but now that I'm supporting 2 devices, best to make sure that nothing gets tangled together.)
@everyone
just a few notes, since you guys are just getting exposure to my kernel, the way I do things; in regards to development, etc.
-> I post test builds (this usually happens when I make big changes.). reports are helpful on these builds.
-> Development happens fast; *I routinely add new features, bug fixes, etc and i'm almost always ahead on LTS updates over the Stock kernel.
examples;
=> lts -3.18.83 build available on the day of release
=> my Binder_rt branch is currently 140+ commits (code changes) ahead of the the other branches.
(changes since in the current downloads/releases)
=> There are a number of bug fixes, a few added features (mostly in-kernel stuff), some optimizations *and* there are massive upgrades to parts of the kernel's subsystems. (100+ commits are related to that)...
(changes since the current downloads/releases)
NOTE: The binder Branch (non-rt) will see the majority of the above changes code, but the Stable branch will only see a subset of these commits + bug fixes.
I probably won't roll out a test build for Binder_rt builds, until I've had the newest code running for a couple of days.... At that point, once things have proven to be stable good ~ i'll roll out a test build for anyone who wants to help out and dogfood test builds....
Then, I will push back changes back into the Binder builds, Stable, etc... I usually try and line up actual releases to LTS and/or => more importantly monthly android security / firmware updates....
**So the gist is; there will be frequent updates. Update as you see fit - anyone who wants to help out - run test builds and report back issues.
So pending a detail or two, I likely will be phasing out my other builds in favor of the Binder_rt build.
- I've had quite a lot of feedback via the Pixel forum, PMs and email (and a couple of friends using it too).
- The Binder_rt build seems to be very stable for everyone.... not too mention just all around better.
- there seem to be no drawbacks and quite a few benefits to that build over the others.
The one thing I'm waiting on is; I've joined the Android Kernel Developers Google Group and am currently waiting to see if I can't get some help with porting a missing Kernel function into Marlin's sources ~ this particular kernel function is what's stopping me from having Binder be sync'd with the AOSP binder implementation.... I'm hoping to resolve this sooner than later, at which point I will be able to merge in those commits (and test them).
In the meantime I'm working on a few backports to the audio driver and a few other bits (taken from Wahoo/Pixel 2 kernel sources). I've also pulled in a few fixes to binder from Wahoo, as well....
So I might post a test build for Binder_rt tomorrow - as it's accumulated a number of changes, bug fixes, etc.... I'm not sure If I will have any resolution to the missing kernel function - but that doesn't affect pushing a test build....

Development [Kernel][GKI][05.03.2023][Android 13] Kirisakura 1.0.3 for Sony Xperia 1 IV aka "Nagara"

Kirisakura-Kernel for the Sony Xperia 1 IV
Hello everyone,
To keep it short: Here is Kirisakura- GKI - Kernel for the Sony Xperia 1 IV aka Nagara. Nagara is the internal codename for this years development platform of Sony Mark IV devices.
I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.
Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!
If you expect a custom kernel to magically improve your devices battery life manifold and this is your only priority then this might not be the right place for you.
There´s also a cpu-battery saver mode that cuts back the CPU max- freqs, but without the disadvantages like delayed notifications from built into the system user-space power-saving modes.
If that got your curious, I welcome you to continue reading if you´re still interested!
Now lets continue with a list of features in the next paragraph!
Main Features:
- Based on kernel/common 5.10.149
- compiled with Clang 12.0.5
- CPU-Battery saver to be able to restrict max cpufreqs on the fly, without enabling powersaving modes that might cause missed notifications (see second post)
- SSG IO scheduler for reduced overhead and less CPU cycles (more lightweight and android optimized)
- Power saving workingqueues enabled by default
- Change various drivers to use power efficient workingqueues. This compliments EAS in general
- implement LRNG (thanks @arter97, see arter kernel OP for more info )
- Enable support for TTL spoofing
- wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
- f2fs improvments for better efficiency
- scheduler improvements
- psi fixes
- Flashing the kernel will keep root!
- Flashable via EXKM, FKM or TWRP (if available) on a rooted system!
Flashing Guide, Download and Changelog
Requirements:
- unlocked Bootloader
- USB-Debugging in developer options enabled
- latest adb and fastboot binaries
- working adb and fastboot environment
- magisk root
- a backup of stock boot.img or your magisk patched boot.img in case you want to go back to stock.
How to flash the Kernel:
1. Download the latest kernel.zip and make sure you have properly updated to the latest matching Firmware (check the feature list for the current firmware the source is based on). When there´s an OTA update for the Sony Xperia 1 IV it takes Sony a while to release the source code for the new OS and me a while to build a new kernel. If you don´t want to face any issues, wait until I either release an updated kernel or give green light because there were no kernel changes.
If you want to be sure there are no issues, always make sure to run the firmware the kernel is built for!
If you feel adventurous and try in advance, make sure you have a backup ready!
2. Flash the kernel.zip via latest TWRP (if available), EXKM or FKM app and do a full reboot.
3. Reboot and profit.
DOWNLOAD:
Download is located always in this folder, or attached to the release posts in case AFH is wonky.
https://www.androidfilehost.com/?w=files&flid=335705
Important: Read after Download
Please take a look at the second post after flashing the kernel!
Changelog:
Android 12
1.0.0 Initial Release
Android 13
1.0.0 https://forum.xda-developers.com/t/...-xperia-1-iv-aka-nagara.4480653/post-87711541
1.0.1 https://forum.xda-developers.com/t/...-xperia-1-iv-aka-nagara.4480653/post-87945391
1.0.3 https://forum.xda-developers.com/t/...-xperia-1-iv-aka-nagara.4480653/post-88241223
Donations:
Donations are not mandatory but very welcome if you want to support development or just buy me a coffee/tea
If you like my work: http://paypal.me/freak07
Credits:
Sony for the development device, giving me the opportunity to create this project!
@osm0sis for all his work, including the ak3 installer!
@tbalden for being the best HTC, Pixel, OnePlus and now Asus wingman!
@LeeDroid and @mwilky for their awesome roms and work I used on multiple devices!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@arter97 for giving me advice
@kdrag0n for his help and advices!
@topjohnwu for magisk!
Source Code: https://github.com/freak07/Kirisakura_GKI_Nagara
F.A.Q:
Question: Is root preserved when flashing this kernel?
Answer: Yes, the AnyKernel.zip will detect root and keep it.
Question: Safetynet does not pass on my phone since I unlocked the phone, why is this so?
Answer: Google introduced hardware backed attestation recently. Unfortunately the old kernel tricks to still get safetynet passing won´t work. Instead you will have to rely on some magisk modules. Short guide in post #4 below.
Question: How do I return back to stock or another kernel.
Answer: Extract boot.img from the matching firmware you are on (you can do so by using this tool or similar ones found on XDA and when googling around) and flash via fastboot. If you want to keep root flash back the magisk_patched_boot.img. Or dirty flash your rom and re-root.
Question: Why is having Magisk installed mandatory for this kernel?
Answer: The kernel uses a ramdisk overlay to apply some settings after boot. If you are not rooted these settings will not get applied and you miss some of the optimizations.
Question: How to report bugs properly?
Answer: Have a look at post #3 in the linked thread. The linked guide is a pretty good starting point.
Before reporting any bug make sure you´re running on a stock configuration. That´s means you´re not using any mods, tweaks in kernel managers or other root tweaks , magisk modules, scripts or other modifications that alter various functions like sound mods, data traffic, sleeping behaviour, scheduler, magical battery tweaks etc.
Try to describe the issue as detailed as possible! Give your exact setup, like rom, magisk version, kernel version.
Is the issue reproducible? Does it happen frequently?
Provide logs, otherwise debugging is a lot harder. If you can already reproduce the issue and provide logs it greatly limits the amount of time I have to spent until I figure out how to reproduce it.
Feature Documentation:
Here´s a brief documentation about some of the features included in the kernel that can be changed as the user desires.
They can be accessed via either terminal, scripts or for example EXKM manager ( tools -> user settings).
CPU-Frequency Limiting:
Another option is CPU-Freq Limiting. You can now limit the CPU frequency to a few different levels with a sysfs interface. Original implementation is from @tbalden, I only changed it to be accessible via traditional root methods.
Main Switch:
sys/module/cpufreq/parameters/batterysaver
Set this option to "1" to enable the feature
Max-Frequency Selection (Input boosts, such as scrolling boost or app launching boosts will still apply, if touch boost restriction is not set to 1)
sys/module/cpufreq/parameters/batterysaver_level
Set this to "1" to restrict the max CPU-Freqs to 1,6GHZ/1,9GHZ/2,22GHZ (Little Cluster/Big Cluster/Prime Core)
Set this to "2" to restrict the max CPU-Freqs to 1,4GHZ/1,6GHZ/1,8GHZ (Little Cluster/Big Cluster/Prime Core)
Set this to "3" to restrict the max CPU-Freqs to 1,1GHZ/1,1GHZ/1,1GHZ (Little Cluster/Big Cluster/Prime Core)
Touch-Boost Restriction
sys/module/cpufreq/parameters/batterysaver_touch limiting
Set this to "1" to restrict the powerhal from boosting over the limit defined in batterysaver_level
Set this to "0" to allow the powerhal to boost above the values defined in batterysaver_level, but only during interaction with the Phone!
Screenshots:
View attachment 5309899View attachment 5309901View attachment 5309903
This is for example very useful during gaming to prevent additional heat, if not the highest performance from the CPU is required. Check if the game is running fine on level 1 or 2, and you´ll notice much less heat. Powerdraw will be reduced as well.
Another very useful trick while doing video calls or long extended navigation sessions with google maps to preserve battery or keep the phone from heating. Especially during summer if the ambient temperatures are high.
This is a very easy way to preserve battery or reduce heat without toggling the battery save mode in settings as that restricts background data usage, which can lead to delayed notifications.
How to pass Safetynet after unlocking the bootloader
With the introduction of hardware backed safetynet attestation, passing safetynet has become a lot more complicated.
Some probably remember a while ago, flashing a kernel that forced some flags was enough to pass it. However these days are gone.
Below is a short guide how to pass safetynet on phones that are flagged to use HW attestation (such as the ROG 5).
1. Make sure you´re running latest magisk canary.
2. In Magisk Manager enable both zygisk and deny list.
4. Download the latest Universal Safety Net Fix from @kdrag0n ´s github for zygisk cand flash it in Magisk Manager. Reboot.
5. Profit
Oh, my God! thank you so much for making the IV kernel
am I right to assume that CPU frequency limiting can help the phone not overheat when taking photos?
You are Awesome
tomatoketchup said:
am I right to assume that CPU frequency limiting can help the phone not overheat when taking photos?
Click to expand...
Click to collapse
yes. it should at least slow down the heat buildup. that´s the main goal behind it.
please note that 4k 120fps recording or other demanding tasks might not work without stutters if CPU gets restricted too much.
Apart from app loading times, if the usage is not super demanding level 3 works without major stutters in the UI on 120fps refresh rate.
htcmage said:
Oh, my God! thank you so much for making the IV kernel
Click to expand...
Click to collapse
Thaiban said:
You are Awesome
Click to expand...
Click to collapse
Freak07 said:
yes. it should at least slow down the heat buildup. that´s the main goal behind it.
please note that 4k 120fps recording or other demanding tasks might not work without stutters if CPU gets restricted too much.
Apart from app loading times, if the usage is not super demanding level 3 works without major stutters in the UI on 120fps refresh rate.
Click to expand...
Click to collapse
excellent <3, I don't need 4K 120fps recording I actually only do 1080p 24 because I like stabilization. so going to flash 64.0.A.8.25 and this kernel after that. million thanks!
It's a small amount, but I donated it, thank you always
htcmage said:
It's a small amount, but I donated it, thank you always
Click to expand...
Click to collapse
Thank you very much! I greatly appreciate it.
Hahaha... Hello my good friend @Freak07. Didn't know you were into Sony as well.
@Freak07 can you port it to xperia pro i ?
Developer, I have a question
If I use my work profile (shelter or island apk) I can't get into the settings menu I get a popup stating that the system UI is shutting down, maybe it's kernel related?
Should I uninstall Uperf before flashing?
Also thanks for this excellent work.
great work!Thx
to those who flashed, how is battery live ?
ist compüatible with latest sony update?
Would be interested to know, if it supports the old android kernels feature to emulate CD and DVD. Its a feature that DriveDroid needs to emulate a bootable DVD drive from an *.ISO hosted from an android device over USB. it was present in my older devices until XZ1 Compact and i was able to boot my pc off from a iso file hosted on my android device. It was much convinient than using silly PXE boot over eth0
No more update ?
Mrxyzl said:
No more update ?
Click to expand...
Click to collapse
OP will update when new Kernel sources are released and he has time. Mentioned in the first post.

Categories

Resources