[Thea][KERNEL][HMP][Linux 3.4.113] Floppy Kernel [RC1][19/12/17] - Moto G 2014 LTE Android Development

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Floppy is kernel for all custom rom based on LineageOS 14.1, support the Moto G 2014 LTE (4G)
Code:
#include <disclaimer.h>
* Your warranty is now void. *
* No guaranteed this'll explode your device, be careful, follow the instructions ! *
*don't point at me if your alarm dies after flashing this kernel ! *
Based on Linux Kernel 3.4.113
Based on LineageOS Kernel
GCC Linaro 7.2.1
Governors: yankdemand, yankactive, smartmax, lionheart, impulse, dancedance, BioShock, zzmoove, intellidemand, intelliactive, Interactive, Conservative, Ondemand, Powersave and Performance.
I/O Schedulers: Zen, Noop, Sio, Sioplus, Tripndroid, vr, bfq, row, fiops and deadline
Compiled with -Os
Full Linaro Optimizations ON
Optimized Parameters from L Speed @Paget96
Overclock CPU 1593600Hz
Overclock RAM to 566MHz
Reclaim RAM from loggers
Google Snappy Algorithm
ARM RWSEM Algorithm
S2w and Dt2w - credits : showp1984
USB Fast Charge Mode
Spectrum support
Kernel Samepage Merging (KSM)
Dynamic File Sync and Asynchronous FIle Sync - credits : andip71 | Francisco Franco
Frandom - Entropy Generator
USB OTG NTFS r/w Support
SYSInterface Gentle Fair Sleepers
Performance enhancements
Intelliplug 4.0, Alucard Hotplug, autosmp
OC Slimbus frequencies to provide better sound quality
Arch Power saving - credits : kirananto | Cl3Kener
Adreno Idler- credits : arter97 | yarpiin
Sound Control
Support f2fs, exfat, ntfs filesystem
Quick WakeUp Driver and power suspend 1.7 - credits : Paul Reioux | Jean-Pierre Rasquin | Francisco Franco
Support cpu boost
MDSS color control - credits : savoca
Sysfs interface to Enable/Disable CRC
Intelli-thermal v2
Kexec-Hardboot - credits : hurtsky
Sysfs interface wakelocks - credits : Francisco Franco
TCP Congestion Algorithms: Westwood (default), Reno, Bic, Highspeed, Hybla, HTCP, Vegas, Scalable, Lp, Yeah and Illinois.
And much more!
First time:
Reboot to recovery
Flash FloppyKernel.zip
Wipe cache e dalvik cache
Reboot
Update the kernel:
Reboot to recovery
Flash FloppyKernel.zip
Wipe cache e dalvik cache
Reboot
Coming from another kernel:
Reboot to recovery
Flash your ROM
Flash FloppyKernel.zip
Wipe cache e dalvik cache
Reboot
Floppykernel
LineageOS builds for Thea
LineageOS
Mi5Devs
@GreekDragon
XDA:DevDB Information
FloppyKernel, Kernel for the Moto G 2014 LTE
Contributors
Jonas Cardoso, Caio99BR, InsideMuz, Artur Macedo Costa
Source Code: https://github.com/JonasCardoso/android_kernel_motorola_msm8226
Kernel Special Features: A magical support, I am all day here, reading the publications of the posts, ready to help in any doubt (unless you have not read the OP that contains the information that you need).
Version Information
Status: Stable
Current Stable Version: RC1
Stable Release Date: 2017-12-19
Created 2017-12-19
Last Updated 2017-12-19

RC1 - 19/12/2017
Initial release

Frequently asked questions
Q: Will this conflict with any mod I'm using?
A: As long as it doesn't have any entropy related stuff, its okay. Since the kernel already comes with an inbuilt entropy generator, it will conflict with the ones from mod, causing a poor, stuttered performance!
Q: Deep Sleep isnt working for me, Google Services causing wake-locks, what to do?
A: Go to settings, Privacy, Privacy Guard, All apps, long press Google Services, and deny/disable wake-locks! (Thanks to @Paget96 for the solution)
Q: Is your kernel secure?
A: You MAY face some issues, but it's safe! My cell phone has not exploded yet.
Q: WiFi doesnt work for me.
A: Reflash ROM and Kernel.
Q: What application can I use to configure the kernel?
A: Use Spectrum, and if you have enough knowledge of what to modify or do in the application use together Kernel Adiutor.
Q: Can I use the kernel source in my ROM?
A: If you want to use my kernel in your ROM, just put my name in the credit, just like I did.
Q: Does your kernel support writing to the NTFS file system?
A: Yeeh, you can use flash drives and HD with NTFS via OTG.
Q: My cpu clock is locked with any governor.
A: Just disable the thermal control in the kernel temperature settings.
Q: I have problems with your kernel.
A: Take a logcat and kmesg, this website and this video should help you
Q: Why does my magisk and root disappear after installing your kernel?
A: The kernel script makes changes that directly interfere with both, reinstall the magisk that it will function normally, follow this installation line always: FloppyKernel -> Magisk -> Reboot system.
Q: What is the "Battery" profile in the spectrum?
A: Based on Project Zhana & X.A.N.A was made for trying to be as efficient as possible without compromising the performance. Thanks to the discovery on Voltages used by our SD820 I could make a profile that utilizes more the BIG cluster. My first attempt was to move ALL the load to the BIG cluster, it was against anything that I have learned about little. BIG CPU but I tried, it turned really good at first, low usage was just amazing... But on more usage things didn't go that good. So what I did it was to give a twist to things, but not such twist. It kind of works like Nameless and Shotgun, Mostafa Wael and I worked the same idea. #LITTLE cluster will be running on low-mid frequencies but delivers full performance when is needed. # BIG Cluster will help LITTLE ease Load, but in a great way than before. Things can be done faster and more efficient giving us profit in form of battery. It should run smooth on all scenarios, but you guys tell me. You can easily get around 7~9 hours SOT for 24 hours even more If you don't play game. This will, of course, may vary, but it will definitely be better.
Q: What is the "Balanced" profile in the spectrum?
A: Based on GhostPepper was made to uses a quantized, frequency-aligned parametric curve to influence low core clock rates while providing extremely smooth transitions from each clock rate and exceptional battery life. Really well-defined clock speed escalation for a good battery and performance.
Q: What is the "Performance" profile in the spectrum?
A: Based on FusionP this profile brings a more "agressive" way to scale frequencies. It will scale frequencies sooner(regarding load values from cpu) and will use more the big cluster to provide more performance doing the tasks on hands. Battery should not take a big hit but using heavy demanding tasks you can expect a higher drain.
Q: What is the "Gaming" profile in the spectrum?
A: Based on Burnout PR5, this profile's main goal is to provide absolute maximum performance when needed, but lies low quite well. You see, some times I see the CPU hitting some of the high freqs of 1190 while making something as simple as watching YouTube or playing some spotify tracks needlessly, and sometimes I feel it is a bit slower than it should be in things like brute multitasking. Most profiles do aim at bringing a mid-ground to rest on. But with the sensible words of one of my favourite idols Jeremy Clarkson, he says 'Power solves everything' and right he is. By eliminating the mid freqs of the Little cluster and efficiently using some specific frequency steps, you get some power savings by staying on lower freqs as much as possible, and even on brutal tasks you get the job done faster as well, since the CPU will give you all the power to finish the job as fast as it can, and hit back to idle faster.
Q: I want more information about your spectrum profiles.
A: Read this thread.

Hi there.
Is it possible to run this kernel on the LOS 15.1?
Did read that it is for the 14.1, but you know, why not try to brick it?
Have you tested it? Cause the android go version of oreo with a good kernel could really make thea a brand new entry-level phone. With google camera 5 it could even compete with some budget phones from 2017.

Thanks for the kernel, Just flashed it on AOKP Nougat and it's running smoothly.
I discovered Spectrum with your post, amazing app to don't have an headache with kernel tweaking.
However does Spectrum activates a hotplug or does I have to activate it with kernel adiutor or else ?
PS: Spectrum profile's values can't be seen in Kernel Adiutor, I just see Lineage profile values... Also by looking at your spectrum init script I see that you assume that Thea have BIG and small clusters. when I'm trying to `cat` the value for some lines they do not exist.
Thanks a lot for keeping our good old Thea alive.

One more thing.
Could you make the kernel compatible with the oneoplus camera from this post ?
What camera app are you using?

BridouZ said:
Thanks for the kernel, Just flashed it on AOKP Nougat and it's running smoothly.
I discovered Spectrum with your post, amazing app to don't have an headache with kernel tweaking.
However does Spectrum activates a hotplug or does I have to activate it with kernel adiutor or else ?
PS: Spectrum profile's values can't be seen in Kernel Adiutor, I just see Lineage profile values... Also by looking at your spectrum init script I see that you assume that Thea have BIG and small clusters. when I'm trying to `cat` the value for some lines they do not exist.
Thanks a lot for keeping our good old Thea alive.
Click to expand...
Click to collapse
Yes, I got this script from the source of my Mi5, some lines do not change it, because the kernel moto g 2014 does not have the resources

Breno Spangler said:
One more thing.
Could you make the kernel compatible with the oneoplus camera from this post ?
What camera app are you using?
Click to expand...
Click to collapse
For this i need source kernel to put this feature

Breno Spangler said:
Hi there.
Is it possible to run this kernel on the LOS 15.1?
Did read that it is for the 14.1, but you know, why not try to brick it?
Have you tested it? Cause the android go version of oreo with a good kernel could really make thea a brand new entry-level phone. With google camera 5 it could even compete with some budget phones from 2017.
Click to expand...
Click to collapse
In the build that I made available probably does not work because of the need Oreo changes

s2w for thea? Amazing

zitronenmelissa said:
s2w for thea? Amazing
Click to expand...
Click to collapse
So far it only works on titan

Any can test in LOS 15.1?

Unfortunately not booting on my phone
Jonas Cardoso said:
Any can test in LOS 15.1?
Click to expand...
Click to collapse
Tried flashing your new build...dirty flashed and then, because it wasn't working, clean flashed on 28/12 and 29/12 build of LOS 15.1 with TWRP 3.2.1-0. But unfortunately the phone (thea - XT1072) was stuck on boot logo every time. I really would like to see the kernel working on LOS 15.1, because it worked really good on LOS 14.1.

A few questions mate:
So the cpu is clocked to 1.6 Ghz right? Cpu z shows it reaching 1.2 only. Perhaps on performance profile?
How do i enable dt2w?
Got some lags in some animations, for example in settings, going to display, the animation in between is kinda sluggish. Whats funny is, overall the device is smoother! Some settings must be changed perhaps?
Is the permissive Selinux a big deal?
Im using Los 14.1 with your balanced profile. Thanks, happy new year!

Arcline said:
A few questions mate:
So the cpu is clocked to 1.6 Ghz right? Cpu z shows it reaching 1.2 only. Perhaps on performance profile?
How do i enable dt2w?
Got some lags in some animations, for example in settings, going to display, the animation in between is kinda sluggish. Whats funny is, overall the device is smoother! Some settings must be changed perhaps?
Is the permissive Selinux a big deal?
Im using Los 14.1 with your balanced profile. Thanks, happy new year!
Click to expand...
Click to collapse
Use kernel adiutor, cpu z is not very good to get info, dt2w dont work on thea, only in titan, it is normal to have some lags, after all it is an old device already, it also depends on its use, selinux dont will stop the lags, if that's what you're thinking

I'm using in titan, your kernel doesn't lag but battery gets horny (bad joke) I mean that the battery duration got worst, you maybe consider undervolting a little and upgrading your lmk parameters because it does make apps don't lag but it's a little aggressive, it does FC my keyboard (google keyboard) and I don't wanna be annoying but I have a request, can you bake voltage control into the kernel?
---------- Post added at 09:39 PM ---------- Previous post was at 09:26 PM ----------
I can provide sources for voltage control if you want and, where I send logs?
---------- Post added at 10:21 PM ---------- Previous post was at 09:39 PM ----------
The fix for laggy animations when opening recents and for almost the animations is disabling the adreno idler, or tweaking it

If you have any other test builds for 8.1 just pm me so I can test it

I am using Thea. I like your kernel but had to remove it and restore a backup because the battery usage settings was hanging. When I unplugged after charging it still showed up as charging. That I could fix with a restart but then it wouldn't show what apps was used since last charge. Didn't note any significant improvement in battery duration the days I tried out your kernel.
BTW is there a way to remove your kernel without having to install a backup?

Are you still here?
Is this kernel compatible with Android 8.1? I am running LOS 15.1 but I want to use FloppyKernel because I loved it when I was running Nougat.
However, there is a problem. I can't afford to flash it because I am currently using my device a lot and there is no boot.img in your script. I tried to manually repack a boot image with your Zimage and hot-boot it from Fastboot but it stays stuck in the Motorola logo when I do it. I dumped LuK's Oreo kernel and it hot-boots fine. I'll also try to build your kernel from source.
I really hope that you didn't abandon this device too, but if you did then I will try to become a developer for this nice old phone.

Wattsensi said:
Is this kernel compatible with Android 8.1? I am running LOS 15.1 but I want to use FloppyKernel because I loved it when I was running Nougat.
However, there is a problem. I can't afford to flash it because I am currently using my device a lot and there is no boot.img in your script. I tried to manually repack a boot image with your Zimage and hot-boot it from Fastboot but it stays stuck in the Motorola logo when I do it. I dumped LuK's Oreo kernel and it hot-boots fine. I'll also try to build your kernel from source.
I really hope that you didn't abandon this device too, but if you did then I will try to become a developer for this nice old phone.
Click to expand...
Click to collapse
No item didnt work it causes Brock on 15.1 or anthther but 14.1

Related

[H850,H830,RS988] mk2000 Kernel [STOCK]

THANKS:​
shminer: For his repository
eoghan2t7: For his repository
Mentalmuso: For his repository
savoca: For the invaluable KCAL
USA-RedDragon: For his repository
nathanchance: For his pre-merged sources
TheCrazyLex: And developers of AOSPA, grabbed lots from there
emdroidle: For his work with rooting, and kernel patches
eng.stk: For his blu_active governor, and inspiration
frap129: For his Maple scheduler, and repository
alucard_24: For his governor, and G5 repository
franciscofranco: For his many kernel patches
Lord Boeffla: For his Wakelock Blocker etc
sultanxda: For his many kernel patches
warBeard_actual: For his VM tweaks
neobuddy89: State notifier etc
arter97: Adreno idler etc
flar2: Adreno boost etc
And other's I probably forgot
Previous Versions:​
Features:
1.4 Nougat
Linux 3.18.85
KCAL - Screen panel control.
ElementalX and Zzmoove CPU governors.
Modules signed and secure, as in stock rom.
Disable software CRC checking of SD Card - More performance.
CRC32 and CHACHA20 HW ACC, CRNG based on CHACHA20.
Many patches that improves or fixes things.
Maple I/O scheduler.
LZ4 compression.
RCTD removed.
1.5 Nougat
Linux 3.18.92
KCAL - Screen panel control
Alucard, and blue_active (by eng.stk) Governors
Integrated Virtual Memory tweaks (war_mod) and Blu_active settings into ramdisk
Many work-queues converted to *system_power_efficient_wq*
Patches from CAF mostly, to various subsystems
Support for UAC2 external DAC
Boeffla Wakelock Blocker
Maple I/O scheduler
Adrenoboost
On/Off Fsync
Adreno Idler
1.5.5 Nougat
Linux 3.18.97
KCAL - Screen panel control
blu_active (by eng.stk) cpu governor
Integrated memory tweaks (war_mod), and blu_active settings into ramdisk
Many threads converted to *system_power_efficient_wq*
Toggle USB2 900mA Fast-Charge
Support for UAC2 external DAC
Toggle HiFi mode on/off *
Maple I/O scheduler
Toggle Fsync on/off
Adreno Boost
Adreno Idler
WireGuard
* /sys/kernel/hifi_mode/enable_hifi_mode "1" = enable
- WCD9335 HiFi mode not enabled by default in LG source. This toggle will enable it on the fly.
Download: AndroidFileHost
Anyone is free to include it in their ROM as they like
Compiled with GCC 9.1.1
[2.2] Features:
Linux 3.18.140
SultanXDA's CPU Boost
KCAL - Screen panel control
Backported kernel improvements
Toggle USB2 900mA Fast-Charge
Boeffla Dynamic Sync Control
Boeffla Wake-Lock Blocker
Various patches and fixes
RCTD/Triton disabled
Maple I/O scheduler
DriveDroid support
Modules disabled
WireGuard
K-Lapse
Download: Oreo G5 Folder
The (AnyKernel2) flashable zip will flash kernel as well as /system/lib/modules. If you want to go back you should backup modules as well
Sources:
https://github.com/stendro/msm8996_lge_kernel
LGH830SV_LGH830TN_Android_Oreo_v30c.zip - From http://opensource.lge.com
Questions
Q: Will this work on newer bootloaders?
A: It should. The kernel is based on the most recent of LG sources.
Q: What control app do you suggest using?
A: I suggest using SmartPack, or EX Kernel Manager.
Q: Where can I donate? I want to donate!!
A: I don't accept donations because of two reasons. One: I don't really need it. Two: I like the idea of this being totally free, it adds to the enjoyability of the kernel.
Q: I'm having some problems with kernel not working or booting?
A: If you have downgraded your bootloader (i.e by flashing Asgard kernel first) then that is likely why. My kernel works on new firmware, not exactly sure how far back the compatibility goes.
Q: I flashed this zip in recovery, but it didn't seem to work, I'm still on my old kernel. What can I do?
A: With AnyKernel you shouldn't need to re-flash ROOT after flashing kernel (if already installed, if not, do it before flashing kernel). SuperSu has been known to revert the kernel install if you do so.
Q: OK so I just rooted my phone and installed this, and OMGOSH! so excited, now what do I do - do I tweake-dy freak out huh huh? How do I do it??
A: Put simply, don't do anything. I don't know how things where in the past, but now you don't need to do anything. Not with this kernel anyhow. Such thing are better discussed in a separate thread anyway.
Thanks for your work. Tested your kernel with H850 and Fulmics 4.5. Works well but bluetooth isn't working, it's not possible to activate.
Returned with backup to stock.
Best regards
mkpcxxl
mkpcxxl said:
Works well but bluetooth isn't working, it's not possible to activate.
Click to expand...
Click to collapse
Thank you for your report. How silly of me, I forgot to test bluetooth since I never use that.
I'll see about uploading a fixed version soon.
Version 0.8 is up.
askermk2000 said:
Version 0.8 is up.
Click to expand...
Click to collapse
Flashed and now bluetooth is working.
Thanks again for your work.
I am sorry, but where can I find the source code for this kernel? If it is one of github links, which of them is the one?
dadittoz said:
I am sorry, but where can I find the source code for this kernel? If it is one of github links, which of them is the one?
Click to expand...
Click to collapse
I'm sorry too, but when I started this project, I did it in the only way I know (and what seemed simplest to me) and that is to do stuff manually. I don't have experience with github or any elaborate development tools, heck I hardly know how to do this stuff, but I'm learning more and more.
I can upload the latest source in zip if that is satisfactory.
Sorry if this breaks xda rules, but I'm sure I've seen other projects not having their full, direct sources posted.
askermk2000 said:
I'm sorry too, but when I started this project, I did it in the only way I know (and what seemed simplest to me) and that is to do stuff manually. I don't have experience with github or any elaborate development tools, heck I hardly know how to do this stuff, but I'm learning more and more.
I can upload the latest source in zip if that is satisfactory.
Sorry if this breaks xda rules, but I'm sure I've seen other projects not having their full, direct sources posted.
Click to expand...
Click to collapse
Well, as far as I know GPL requires sources to be published. But it's not that I brag about complying to licenses. I am genuinely interested in changes made. I enjoy reading @eoghan2t7 commits on his kernel tree every few days. As for me, I am not really interested in a single zip Version control systems are awesome and it would be great if your kernel tree could use it.
dadittoz said:
Well, as far as I know GPL requires sources to be published. But it's not that I brag about complying to licenses. I am genuinely interested in changes made. I enjoy reading @eoghan2t7 commits on his kernel tree every few days. As for me, I am not really interested in a single zip Version control systems are awesome and it would be great if your kernel tree could use it.
Click to expand...
Click to collapse
Yes, as I got further into this project I figured it would be better to open a qithub account next time.
So I'll probably do that with the next major source drop from LG.
Flashed in fulmics 4.5, running fine so far. I will report battery life, thanks for your job!
Enviado desde mi LG-H850 mediante Tapatalk
.
battery life is not quite as good
Nick cutter said:
battery life is not quite as good
Click to expand...
Click to collapse
I think you might be right.
May be a problem or conflict with cpu hotplug. I will look into it.
that sounds good but otherwise a great kernel keep it up :good:
Tha.ks for this great kernel. Only two flaws so far: Battery and overheating.
Can you upload your fully kernel source ?
GPL
Nick cutter said:
battery life is not quite as good
Click to expand...
Click to collapse
Hadi99 said:
Tha.ks for this great kernel. Only two flaws so far: Battery and overheating.
Click to expand...
Click to collapse
Hm, don't have this problems, Battery is like stock and temps are normal.
I remember I've had overheating with Asgard kernel.
Regards
mkpcxxl
@walter79
Link added to first post. Bottom.
mkpcxxl said:
Hm, don't have this problems, Battery is like stock and temps are normal.
I remember I've had overheating with Asgard kernel.
Regards
mkpcxxl
Click to expand...
Click to collapse
Temps are alot more stable right now, but battery life is still horrible for me.
Asgard did indeed have overheating in versions 5.x, but since then it had been fixed
Version 1.0
Super excited about this one
Compiled with gnu11, graphite, O3 and other optimizations. Most of them was borrowed from @jahlex D.O.T.S Kernel (Thanks!) - but gnu11 was my idea. I really don't know if is good to do or not, but hey...
It's been tested "adequately" I'd say. But that probably means inadequate in most tongues, however, I like to take few risks and gamble every now and then
Performance seems very much increased, battery as well.
Added Maple i/o
Alucard and Zzmoove (bLE) governors
Fixed small omissions here and there
Maple is default IO (was initially going for FIOPS), since that hooks into "display_state" making it aware of screen on/off.
Zzmoove is default cpu governor. Alucard could not be set as default at build time - kernel would not boot
I've added a zip to fix lg bootup script in /system/etc - it, amongs other things, sets *interactive* governor as default
Hotplugging characteristics can be customized.
May it serve you all well!

[KERNEL][EAS][8.0/8.1/9.0][GPUSC] Proto8 Kernel [Ofast]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Proto Kernel
Huawei Honor 9, P10 and P10+​
This kernel is aimed for optimal relation between Performance and Battery on the Honor 9 and the P10 family.
It's built with Function and Optimization in mind, no mile-long list of Features and unnecessary Bloat.
P10/P10+ users should download appropriate version.
Users with CN versions (AL-00's, TL-00's, C636 Region and alike) must also download appropriate version (CN) or it will cause a major bootloop.
As of August 23rd, following recent Huawei decisions and intentional provocation of issues with custom firmware, EMUI 8 is only Officially supported up to B369. It will work with more recent versions up to September Patch but WE WON'T TAKE ANY BUG REPORTS FROM THEM.
OpenKirin 8.1 Roms and HavocOS-hi3660 are Officially supported, Compatible with other Treble 8.1 and 9.0 Projects BUT WE ADVISE STRONGLY TO BASE YOUR TREBLE ROMS ON B368 OR B369 AT THE MOST.
DISCLAIMER
I'm not responsible for bricked devices and nuked SD Cards or the inability of reading instructions. Unlocking bootloader, flashing kernels and such, voids your warranty. If you have any doubts or don't know what you're doing, SEARCH, READ and then ASK. And i can't and therefore won't respond to issues without logs.
FEATURES
- Compiled with Linaro AArch64 GCC 5.5 2017.10 and GCC 4.9 2017.01 (CN Versions) (ARMv8,A53 Optimized)
- Native ARM big.LITTLE CPU Driver while keeping Huawei's specific SMP Flow for Kirin SoC
- HiSi GPUFreq driver and Frequency Hopping Spread Spectrum feature
- UV (UnderVolt) on both CPU Clusters and GPU for better efficiency (All thanks to @nutcasev1.5)
- Energy Aware Scheduling (EAS) with "Schedutil" CPU Governor
- blu_active and blu_schedutil CPU Governors
- CAF CPU Boost driver and SchedTune Boost v3
- GPU Scene Aware (set as default)
- Maple, SIOPlus and Zen additional I/O Schedulers
- Aggressive GPU Suspend on Low Frequencies
- Swap and zRam disabled
- NTFS R/W Support
- Reduced Kernel Wakelock Sources by 90% in relation to Stock
- Advanced TCP Algorithms with "Westwood" Default
- Reactivation of the "setenforce" command
- Huawei's Analytics Engine disabled
- Capacitive Button Fix by @zxz0O0
- Wireguard VPN Support
REQUIREMENTS
- Unlocked Bootloader
For EMUI 8:
- TWRP Recovery - @zxz0O0 TWRP Mandatory for the H9
- EMUI 8 Stock Firmware up to B369 Officially Supported. Others may work.
For Treble 8.1 and 9.0:
- TWRP for 8.1 - Get it here -> Link
- You will have to place Zips on external SD because this TWRP can't decrypt internal storage.
- OpenKirin Projects and HavocOS-hi3660 Officially supported. Other projects should work as well.
ACKNOWLEDGEMENTS
- Huawei/Honor for the source code
- @osm0sis for the AnyKernel2 and AIK tools
- @zx2c4 for Wireguard
- @eng.stk for his awesome blu_active and blu_schedutil CPU Govs
- @franciscofranco for the small bits and pieces that just make things work
- @zxz0O0 for initial tips on EMUI8 boot structure and the Capacitive Button Fix
EAS DISCLAIMER
- It is possible, as reported on other device threads, that EAS may increase your active battery drain during the first 2 or 3 cycles of usage. This is normal. Just continue to use the device normally and it will tune itself to your use and battery life will stabilize afterwards.
DOWNLOAD H9
AFH
DOWNLOAD H9 CN
AFH
DOWNLOAD FOR P10/P10+
AFH
DOWNLOAD FOR P10/P10+ CN
AFH​
XDA:DevDB Information
Proto8, Kernel for the Honor 9
Contributors
JBolho, nutcasev1.5
Source Code: https://github.com/JBolho/Proto
Kernel Special Features: EAS, UnderVolt, GPU Optimization, Persistent Spectrum Support, Wireguard
Version Information
Status: Stable - Final
Current Stable Version: 5.1F
Stable Release Date: 2018-10-24
Created 2018-04-21
Last Updated 2018-10-24
ProtoSSC, Changelog, Init.d Script and EMUI8 Theme
Q&A, Proto-Spectrum System Control, Proto init.d Script and Proto EMUI8 Theme
Proto-Spectrum System Control (ProtoSSC)
- Spectrum App - Google Play Link
- Spectrum System Control - AFH Download
"What is Spectrum and ProtoSSC?"
Spectrum, to put it simply, it's a quick and easy way of changing between Kernel settings oriented for 4 different scenarios, using pre-programmed profiles. More info? Check out the XDA link:
Spectrum App XDA Thread
Huge thanks to @frap129 for this work (and for Maple I/O too by the way)
ProtoSSC is a set of intructions that will give you full power over your system, completely eliminating Huawei's Management and Override Framework, replacing it with Spectrum-based Management, without having to mess around with files on internal storage.
Profiles are now built-in and are persistent after reboots (read notes)
ProtoSSC Instructions
First download the SSC flashable zip for your device file from the link above and place it on external SD card
Go to <root>/vendor/etc and delete the "perfgenius_boost_policy" and "perfgenius_config" XML files.
Go to <root>/vendor/bin/hw and rename (do not delete) "[email protected]" and "[email protected]" (just add ".bak" in the end)
Go to <root>product/etc/xml and delete the "uniperf_config_cust" XML file.
Go back to <root>/vendor and open the build.prop, find the lines "ro.config.hw_perfgenius" and "persist.sys.iaware.cpuenable" and change them from 'true' to 'false'.
If you were already using Spectrum, on your Internal Storage, delete the Spectrum folder, along with the profiles. Leave the Spectrum app installed.
Reboot to TWRP and flash the SSC file and reboot. (If you do not have Spectrum app installed, install it - Play Store link is above). Just give root permissions to the app and set whatever profile you want to use.
Every SSC Profile is now EAS based and separated by device family and was designed and tested for each purpose.
Every single profile has also some degree of underclocking, according to its design and purpose.
Therefore, we don't want to hear any noobs ranting about Antutu points.​
Balance - Designed for normal everyday use. Best balance between performance and SOT.
Performance - Designed for more demanding use, heavy multi-tasking and heavy Camera usage.
Battery - Designed for the best Battery life while maintaining minimal settings to avoid lags. GPU and Big cluster capped to minimum frequencies.
Gaming - Specifically designed and tested for sustained performance with heavy 3D gaming.
IMPORTANT NOTES:
After a lot of headaches and trying to figure all this Huawei system out, with the precious help of people at fRom Future Roms TG Group, and of course the ProtoKernel Testing Team, we finally made the profiles 100% persistent, and CPU/GPU freqs will no longer be overriden by the system.
There is only one logic exception to this, and that is of course, the Thermal Engine. Suffice to say, we will never mess with this.
These devices are not gaming consoles, i've heard the complaints, and i adjusted Boost settings on Gaming profile to be less agressive and underclocked the Little Cluster as well. With highly demanding games it will heat anyway, but should be better now. I take no complaints regarding PUBG or hour-long gaming sessions.
What is the Proto init.d Script and how do i use it?
- The Proto init.d Script tweaks the TCP buffers to optimize Mobile Data performance and enables the USB Fast Charging by default.
The script is best used with Magisk and you have to place it under <root>/magisk/.core/post-fs-data.d or <root>/sbin/.core/img/.core/post-fs-data.d depending on Magisk version.
Download is attached to this post as a zip file.
There's a Proto EMUI8 Theme? Where do i get it?
Right this way! --> Download Proto Kernel EMUI 8 Theme
Put it on Themes folder on Internal Storage and it will show up on your Themes app.
"My device started to lag a bit, what's happening?"
- If this occasionally happens, you really should know that rebooting your device every other day is a good thing. Swap and ZRam are dead for good and i'm not bringing them back.
Enjoy!
Version 5.1F - 10.24.18 [Final Feature-Development Release]
- Upstreamed to Linux 4.4.159
- Disable Huawei's D.U.B.A.I. functionality (No More Analytics for the H Company)
- Optimize build for big.LITTLE (GCC 5.5 based version only)
- Full Rebase of EAS to AOSP
- Implement Schedutil Governor
- Port Blu_Schedutil from OP6 Blu_Spark Kernel
- Deprecate Sched Governor
- Fix and Implement WALT (Window-Based Load Tracking)
- Add Tuned Zen I/O Scheduler (Now part of SSC Balance Profile)
- Separate SSC Profiles between Honor9 and P10 family (avoids error spamming on init logs and tailored freqs)
- Update Wireguard
- It's recommended you use the Kernel along with SSC and the init.d Script
Older Versions:
Version 3.0R - 09.19.18
- Upgrade to Linaro GCC 5.5-2017.10 (Keep Linaro GCC 4.9 for CN versions)
- Upstreamed to 4.4.103 - Kernel now on par with stock K970
- Increased Buffer on GPUFreq driver
- Port HiSi JPEG Processing Engine
- Update Wireguard to 0.0.20180910
- Update on SSC - All profiles are now based on EAS with heavy frequency customization
- Revert Proto init.d Script back to v1 due to Huawei's poor implementation of Skia
Version 2.5R - 08.20.18 [GPU Supercharger Edition]
- GPU - Reduce TLB Pressure and Prevent Memory Fragmentation
- GPU - Port and Optimize HiSilicon GPUFreq Driver and FHSS GPU Feature
- GPU - Re-Tune Scene Aware and Disable D.U.B.A.I. Analytics on GPU Govs
- Update Wireguard to 0.0.20180809
- Optimize Async I/O for SSD Storage
- Disable HiSi PerfHub
- Minor FS Optimization
- Initramfs Optimizations
- Minor Memory Fragmentation Optimization
- Updated Proto init.d Script to v2
Version 2.0R - 06.29.18 - Major Milestone Update
- Upstreamed to 4.4.73
- New Optimal Timer Frequency - 156HZ Set as Default
- Go Tickless - Enable Full Dynticks System
- Power Efficient Workqueues can now be toggled
- Revert CPU DDR Link Enabling and other HiSi CPU Functions
- Keep Kirin Specific SMP Flow but move to ARM big.LITTLE CPUFreq Driver
- Reduce Kernel Max Wakelocks down by 90% relative to Stock
- Minor RAM and DevFreq Tweaks
- GPU Scene_Aware Tuned for Power Efficiency
- Minor Log Spam on CPU's Silenced
- Reduce Timeout to Stop Processes and Enter Sleep
- Optimized Sound Output Gains and Eliminate Rates below 16Khz
- Implement UKSM 0.1.2.6
- Upgrade SchedTune Boost to v3
- Major Update to Spectrum Profiles to accomodate new features as well
- Update Wireguard to 0.0.20180620
Version 1.7.1R - 06.02.18 - Minor Fix Version
- @zxz0O0 Capacitive Button Fix now included
- Update Wireguard to 0.0.20180531
Version 1.7R - 05.28.18
- Upstream to 4.4.63
- Implement USB Fast Charging Capability
- Minor Efficiency Tweaks to Sched, SchedTune CPU Boost and LMK
- Removed Sociopath TCP Algorithm (Not needed, performance similar to Westwood)
- Update Wireguard to 0.0.20180524 and make it built-in instead of module
- Updated Spectrum Profiles
- Introduction of Proto init.d script - Tweaks TCP and Enables the USB Fast Charging by Default
Version 1.6R - 05.19.18
- Upstream to 4.4.52
- Add FRandom RNG Driver
- Add Dynamic SchedTune Boost
- Update Westwood TCP Algorithm
- Add Boeffla Wakelock Blocker
- Fix for possible Entropy depletion
- Update Wireguard to 0.0.20180519
Version 1.5R - 05.10.18
- Add blu_active CPU Governor and CAF Boost driver for non-EAS users
- Enable CPUFreq DDR Link
- Enable HiSilicon Low Temp CPU Frequency Set
- Timer Frequency set to 300HZ
- Powersave, Userspace and Conservative CPU Govs no longer available
- Automatic Process Group Scheduling Support
- SMT Scheduler Support for Multi-Threading Optimization
- Disable Scheduler Logging to reduce Overhead
- GPU Scene Aware - Battery friendly balanced GPU management. OpenGL may suffer, Vulkan is favored.
- Add Powersave GPU Gov for users that really don't need any GPU performance
- Maple I/O Scheduler tuned and set to default
- ZRam Disabled
- Entropy Tuned for improved performance
- Add FSync Toggle capability
- Disable CRC checks
- NTFS File System R/W Support
- Enable CleanCache Driver
- Skip Kernel Sync on Suspend
- Disabled Huawei Root Scanner
- Add Sociopath TCP Algorithm
- Update Wireguard to version 0.0.20180420
Version 1.2R - 05.04.18
- Add Maple and Tuned SIOPlus I/O Schedulers (SIOPlus now default)
- Tuned CFQ and Deadline I/O Schedulers
- Updated Sched Governor to Kirin970 .103 Source
- Updated CPUFreq Drivers and Governors to Kirin970 .103 Source
Version 1.1R - 04.26.18
- [FIX] Knuckle Gestures now work
- Reverted Huawei Max Freq. Detection for Increased Granularity on "big" Cluster
- Sched Governor now tuned for faster Freq Ramp-Down - [This may affect Benchmark Performance but not device overall performance and/or behaviour]
Version 1.0R - First Official Release 04.21.18
- Linaro AArch64 GCC 4.9 2017.01 (ARMv8,A53 Optimized)
- UnderVolt CPU/GPU by @nutcasev1.5
- Activate built-in EAS and set "Sched" Governor as default
- Enable Kirin Hotplug Flow for big.LITTLE
- Enable Aggressive GPU Suspend on Low Frequencies
- Deactivated Swap
- Reduced Kernel Wakelocks by 50%
- Set CFQ as Default I/O Scheduler
- Renamed Interactive Gov to bypass EMUI Governor Overrides
- Set Westwood as Default TCP Algorithm
- Reactivated "setenforce" command
- Added Wireguard VPN Capability
YES! a custom kernel, will take a look at this with AOSP oreo.
You say it under volts the CPU, is it possible to allow CPU OC'ing, since the A73 cores can hit 2.6GHz according to ARM, but we get stuck with 2.4GHz?
ambitiousButRubbish said:
YES! a custom kernel, will take a look at this with AOSP oreo.
You say it under volts the CPU, is it possible to allow CPU OC'ing, since the A73 cores can hit 2.6GHz according to ARM, but we get stuck with 2.4GHz?
Click to expand...
Click to collapse
The frequency is there on the kernel CPU files but it's not being considered, and plus, the max frequency is locked by Huawei on a hardware config file on vendor partition that sets all kinds of parameters. So far, fortunately, we managed to get around the override on that file that forced "interactive" to be default governor, no matter what was set on kernel, or else, EAS with its Gov as default wouldn't be possible.
But tampering with the file itself is not an option at this point in time.
JBolho said:
The frequency is there on the kernel CPU files but it's not being considered, and plus, the max frequency is locked by Huawei on a hardware config file on vendor partition that sets all kinds of parameters. So far, fortunately, we managed to get around the override on that file that forced "interactive" to be default governor, no matter what was set on kernel, or else, EAS with its Gov as default wouldn't be possible.
But tampering with the file itself is not an option at this point in time.
Click to expand...
Click to collapse
Ah, ok, still nice anyway, maybe someone will find a way to get around this lock.
ambitiousButRubbish said:
Ah, ok, still nice anyway, maybe someone will find a way to get around this lock.
Click to expand...
Click to collapse
Time will tell. Huawei's manner of doing things is a bit tricky. They set one thing on the kernel but then override it on the rom, or on Vendor (because of Treble compatibility)
I'm still pissed at them for switching to 64bit audio drivers exclusively, which nukes the ability to use currently available audio mods.
so , hang on, on the AOSP rom, i am able to change the CPU governor, and it DOES have an effect (bench on interactive gave ~180000 antutu v7, on performance gave ~200000) so, is it a setting in vendor, if its in the ROM itself, then a custom ROM might allow modifications from the kernel to take an effect, though the ROM may have to exclusively support the feature.
ambitiousButRubbish said:
so , hang on, on the AOSP rom, i am able to change the CPU governor, and it DOES have an effect (bench on interactive gave ~180000 antutu v7, on performance gave ~200000) so, is it a setting in vendor, if its in the ROM itself, then a custom ROM might allow modifications from the kernel to take an effect, though the ROM may have to exclusively support the feature.
Click to expand...
Click to collapse
You misunderstood me. You can change the governor after boot with any kernel management app, that's not the question. (I use KA for example)
But if you do not use one of those apps, the governor by default is interactive, even if you go into the kernel code and change it to something else. (that's why we had to find a way to override that)
Also, that vendor file sets Performance as governor during boot, and sets different governors also when the device is charging.
oh, ok, yes, that makes sense
Use su.d or service.d for change govs or sched like you wish with time wait until process found.
I use this way for my mod .
My H9 have no values stock , cpu at Lmk and no kernel app
k1ks said:
Use su.d or service.d for change govs or sched like you wish with time wait until process found.
I use this way for my mod .
My H9 have no values stock , cpu at Lmk and no kernel app
Click to expand...
Click to collapse
That's not a user-friendly solution. It's not even a solution in itself when it comes to developing...
If I want my kernel to be set a certain way, I have the obligation to make it so, without telling users to follow extra steps... Furthermore, no user should be forced to root in order to have a kernel work as it is intended. This is flash-and-forget, no extra steps needed.
If a certain user doesn't want to use it as-is, then of course, they can install a kernel app or use your method to set things their way, but that's out of my control or responsibility.
JBolho said:
That's not a user-friendly solution. It's not even a solution in itself when it comes to developing...
If I want my kernel to be set a certain way, I have the obligation to make it so, without telling users to follow extra steps... Furthermore, no user should be forced to root in order to have a kernel work as it is intended. This is flash-and-forget, no extra steps needed.
If a certain user doesn't want to use it as-is, then of course, they can install a kernel app or use your method to set things their way, but that's out of my control or responsibility.
Click to expand...
Click to collapse
It's a solution anyway.
By the way, great to see a custom kernel here.
Good initiative.
k1ks said:
It's a solution anyway.
By the way, great to see a custom kernel here.
Good initiative.
Click to expand...
Click to collapse
Thank you!
In the meantime i've been looking through some files and there are things that may be possible to improve but require root access and "manual labor" since TWRP still can't flash stuff on certain partitions.
If i can validate them with my testing, they may end up as some form of "Optional Root-Only Additional Optimizations" but the goal should be to provide something that performs without extra work.
Anyway, any and all feedback is appreciated, this device has great potential.
Nice work bro.. Will definitely give it a try.. :good:
JBolho said:
Thank you!
In the meantime i've been looking through some files and there are things that may be possible to improve but require root access and "manual labor" since TWRP still can't flash stuff on certain partitions.
If i can validate them with my testing, they may end up as some form of "Optional Root-Only Additional Optimizations" but the goal should be to provide something that performs without extra work.
Anyway, any and all feedback is appreciated, this device has great potential.
Click to expand...
Click to collapse
What do you mean " TWRP still can't flash stuff on certain partitions " ??
Twrp flash well .
If you want some support for the optionnal root add.
Yes great potential , sadly Huawei does not do like the others.
k1ks said:
What do you mean " TWRP still can't flash stuff on certain partitions " ??
Twrp flash well .
If you want some support for the optionnal root add.
Yes great potential , sadly Huawei does not do like the others.
Click to expand...
Click to collapse
Last time I checked, it still couldn't mount system... But thanks for the suggestion, this is still a work in progress, Huawei's methods are a bit mind bending and we're still figuring out what works and what doesn't. But there's still much room for improvement, I'm sure.
JBolho said:
Last time I checked, it still couldn't mount system... But thanks for the suggestion, this is still a work in progress, Huawei's methods are a bit mind bending and we're still figuring out what works and what doesn't. But there's still much room for improvement, I'm sure.
Click to expand...
Click to collapse
Of course , for sure . Stille much.
About mount system , i can help.
My mod that I develop on G+ need to mount system and mount root img too and works perfectly.
Works on most Huawei devices , H9 , P9 , P10...
Twrp Oreo manage successfully this step.
New Magisk use another way to mount because .img is in /data/adb/**.
@JBolho your kernel is working on my P10 (VTR-L29c432 Oreo b365), it's pretty fast I'm impressed with it, great work!
Update: Wifi and Bluetooth not working.
Working great on latest 362 ROM with KangVIP341. Safetynet passed, setenforce supported. But I still can not make VIPER4ANDROIDFX work in any way. Also nandroid backup is impossible from latest TWRP 3.2.1-0 v3. Error 255.
This kernel work on honor 8 pro.

arter97 Pie Software Collection for the Mi Pad 4

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
arter97 Pie Software Collection for the Mi Pad 4​
/* Summary */
Stock software stack on this Mi Pad 4 is horrendous and full of retarded junks top to bottom.
This is a project to replace most of the software stack on the Mi Pad 4.
This is done by reworking the entire kernel and the vendor image, and providing a custom TWRP recovery with f2fs support.
Please read the entire post to get an idea how to use as this ain’t like other ROMs/kernels on this forum.
(Please don’t quote this entire post and spam the thread.)
/* System */
You may use Android Pie-based GSI images. Oreo is not supported. MIUI is obviously not supported. (Are you f***ing serious?) Compatibilities between other source-built ROMs targeting clover(Mi Pad 4) specifically is not guaranteed and most likely to cause issues.
You can also use Paranoid Android for Mi Pad 4, which is recommended for best performance.
/* Kernel */
The kernel is fully rebased to the latest Pie CAF tag, which is a different base from the stock Oreo CAF tag, not to mention most of Xiaomi’s ultra-poor-quality codes are gone.
- To mitigate the horrendous touch latency, numerous touch panel optimizations were made.
- Mi Pad 4 is using eMMC instead of UFS. Numerous changes were made to improve its performance including the enforcement of f2fs filesystem and optimizations to CFQ I/O scheduler.
- 3/4 GB of RAM is quite insufficient these days. zram is activated with updated LZ4 compression algorithm to provide a better memory management along side revamped lowmemorykiller.
- Touch boost is set aggressively due to the reality of most ROMs lacking QPerformance. This improves responsiveness.
- Kernel module support is disabled to make it a bit lighter.
- WireGuard is supported.
- Automatically sets correct Android version and security level to prevent booting issues caused by keymaster.
- Double-tap-to-wake is enabled by default.
- A whole lot more that I forgot.
/* Vendor */
For the best compatibility with Pie ROMs, Pie vendor must be used. To make this happen, the entire vendor firmware is ported from the Mi A2. This process took me weeks to debug and make it stable to this point.
Since this is the only one of its kind on the Mi Pad 4, the software experience with this vendor image will be quite different from other ROMs.
Also, an overlay is integrated to give the correct corner overlay for rounded corners.
Unfortunately, it’s not bug-free, but way beyond usable. Bugs will be listed below.
/* Recovery */
As I said, f2fs is enforced. Reason for this will be explained below.
You must format your userdata partition(erasing everything on the device) to f2fs before using this project.
You cannot use existing TWRP for 2 reasons:
a) The TWRP kernel won’t support f2fs.
b) TWRP’s mkfs.f2fs tool is outdated.
A custom TWRP is also provided, powered by my kernel and the latest mkfs.f2fs tool. You must use it to format /data to f2fs before using this project.
/* Harmony */
The whole kernel and the vendor image is meant to be used together. If you mix one another(e.g. using my kernel on other vendor image or vice versa), you will definitely encounter issues. Please don’t.
To make the experience consistent and since you’re locked with the kernel/vendor combination anyways, I decided to force f2fs. Please be extremely cautious when you want to test out other kernels that claims to support f2fs. If the f2fs version isn’t inline with my kernel, you may experience random panics, or even worse - data corruption.
It’s extremely recommended for you to wipe the entire /data back to ext4 if you want to switch from using this project.
/* Instructions */
You must be familiar with fastboot.
- Download kernel, vendor and TWRP from the link below.
*.img.xz is for fastboot. Extract the .xz files before feeding it to fastboot. *.zip is for TWRP.
- Download an Android Pie based GSI of your choosing.
- Flash kernel by ‘fastboot flash boot /path/to/kernel/image’.
- Flash TWRP by ‘fastboot flash recovery /path/to/recovery/image’.
- Flash vendor by ‘fastboot flash vendor /path/to/vendor/image’. This process will take about 5 minutes(it took 275 seconds for me).
- Enter TWRP by ‘fastboot boot /path/to/recovery/image’.
- Do ‘Wipe > Format Data’. This will automatically wipe to f2fs.
- Follow the instructions you got from the GSI ROM developer and flash system image.
- Reboot.
- Leave feedback.
Note about Magisk
Due to a (supposed) Magisk bug with f2fs. You must flash Magisk after the first initial setup to avoid memory leaks(which ultimately causes the kernel to shutdown). After Magisk is installed, reboot again after confirming Magisk Manager is installed.
/* Disclaimer */
Your warranty is now void.
I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you have any concerns about features included in this project before flashing it! YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.
/* Warning */
I won’t be granting permissions to redistribute or extract files from this project to serve others, without actually contributing something to this project.
You will be reported to XDA forum moderators.
Making mirrors, re-uploading to another servers are also prohibited with no exceptions.
/* Thanks to */
TheCrazyLex
xboxfanj
joshuous
jjajjaroni - for reporting bugs ahead of public release
nathanchance - for android-linux-stable
/* Downloads and links */
arter97.com
Kernel source
XDA:DevDB Information
arter97 Pie Software Collection for the Mi Pad 4, ROM for the Xiaomi Mi Pad 4
Contributors
arter97
ROM OS Version: 9.x Pie
Version Information
Status: Beta
Created 2019-01-13
Last Updated 2019-03-07
/* Bugs */
- Phone calls won't work
- Fingerprint sensor and GPS on the Mi Pad 4 Plus doesn't work
- For the Wi-Fi variant, the device may get confused and think it’s a phone. Not a big deal.
- Didn’t notice anything else.
/* Changelog */
20190810
This update is made with Paranoid Android in mind.
Go checkout the updated Paranoid Android thread.
Vendor image:
Base firmware updated from V10.0.8.0.PDIMIXM to V10.0.10.0.PDIMIXM
Camera hacks removed and reworked to fix camera on many ROMs
Kernel:
Fixed a commit mismerge that broke deep-sleep
Linux v4.4.188 merged
Wi-Fi drivers updated to 5.1.1.73Q
Bunch of memory allocations from various subsystems were reworked to perform much better (thanks to Sultan)
32-bit vDSO added for improving performance on arm32 programs
Backported speculative page fault to improve system performance
Latest f2fs-stable merged
Switched to zswap/vnswap approach
- Ditched conventional zram swap approach and taken zswap+vnswap for more efficient memory operations
- Backported zsmalloc memory allocator from mainline
- Backported zswap compressed page cache from mainline
- Samsung's Galaxy S9 memory modifications merged for better swapping efficiency tuned for Android
- This new kernel's memory management will be drastically different from existing kernels
20190428
Vendor image:
Base firmware updated from V10.0.1.0.PDIMIFJ to V10.0.8.0.PDIMIXM
Added missing goodix touch firmware
General LTE network stability improvements
Kernel:
Various changes from Proton kernel by kdrag0n
- Use flatmem to save kernel memory usage
- Use optimized memcmp
- Optimize rbtree
- Disable erratum 843419 properly
- Delay vmstat updating interval to avoid jitter
- Disable I/O stat accounting completely for lower overheads
- Reverted a cpuidle change for possible fix for power consumption regression during sleep
- Faster crypto algorithms ported(chacha20, sha2, crc32)
A bit lower power consumption by using WFE for long delays
Add accelerated crc32 routines
Use -O3 for input drivers for avoiding overheads
Various changes made to f2fs rapid GC to make it more efficient
dirty_expire_centisecs set to 30 seconds to reduce flash wearouts and power consumption
Various changes merged from the Razer Phone 2 and Snapdragon 855
Kernel is now built with -O3 optimization flag
Use CONFIG_HZ = 300
- This changes context switching interval from 10ms to 3.33ms
- Pixel used this for years and Google recommends other vendors to do the same for fewer jitters
Removed RTB(interrupt) logging entirely
Wi-Fi drivers updated to 5.1.1.71C
Linux v4.4.179 merged
ExFAT support added(ROM-side support required too)
Idle power consumption improved
Camera drivers stability improved
LA.UM.7.2.r1-06700-sdm660.0 merged
LV.HB.1.1.5-10310-8x96.0 merged
LA.HB.1.1.8-03910-8x96.0 merged
20190223
Fixed an issue causing kernel panics to enter dump mode
Fixed a f2fs merge durp causing issues from the recovery and potentially long-term performance on daily usage
RWSEM priority-aware enhancement merged from CAF
Added CIFS(SMB) support (requested by @currowth)
LA.HB.1.1.5-11310-8x96.0 merged (some minor bug fixes)
20190221
Paranoid Android breakage from 20190128 fixed
A totally new kernel base merged - LV.HB.1.1.5-10010-8x96.0
- Total of 471 commits and about 20,000 lines of code difference
- A lot has changed ranging from scheduler, memory management, GPU and panel handling, MMC device driver, ION, audio subsystem, cpuidle, binder and a whole lot more
Kernel configuration fixed for proper scheduler operation
Background Wi-Fi HAL scanning issue fixed
LA.UM.7.2.r1-05900-sdm660.0 merged
Linux v4.4.175 merged
Mainline f2fs fixes merged
WireGuard updated to 20190123
seccomp disabled in favor of less system-call overheads
Minor issue with f2fs rapid GC fixed
IRQ balancer settings updated to include MMC and USB interrupts for better overall smoothness
20190128
Bunch of stuffs missed from previous port were applied
Fixed video recording
Booting issues fixed for ROMs with 2019 security patch level
MTP fixed
Wi-Fi drivers' inconsistencies fixed
Merged Linux 4.4.172
Enabled ULPS for lower power consumption
Merged several changes from Sultan's kernel
- GPU performance improved with corrected priority
- Faster display wake-up
- Lower power consumption
20190123
Fixed an error causing Wi-Fi to not function for some users
Merged Linux 4.4.171
Disabled MMC SPI CRC for better eMMC performance
Removed brightness remapper to fix adaptive brightness
Compiler updated to GCC 2019.01
20190114
Initial release
/* Fundraiser */
After consulting with 2 forum moderators, I got a clarification that fundraiser is acceptable with some terms like transparency and a rough timeline.
A fundraiser is opened for me to purchase a Mi Pad 4 Plus LTE. This particular variant was chosen since it's extremely likely for me to make Mi Pad 4 non-Plus LTE and Mi Pad 4 Plus Wi-Fi model supported during the process.
Within a month after the goal is met and the device is shipped, I'll work to make the current kernel and vendor image working on the Mi Pad 4 Plus LTE. After this is done, I anticipate other variants to be supported as well. In the unlikely event that it ends up otherwise, I'll work on some members on the community to get logs and test. It'll be way easier then since both LTE and fingerprint sensor will be working on my project.
While I will try my best to keep up with my goal, do note that it is entirely possible that it could not be done(which is extremely unlikely). You're making a donation after all. Just note that donation doesn't give you rights to force me to do anything with the received device.
The price for the lowest end Mi Pad 4 Plus LTE seems to be around $295 with a seller that would actually use DHL for shipment, which is required as the standard Ali-Express shipping usually takes 20~30 days.
There's another 10% importing tax in Korea on top of $295 which would make the total around $330. I've opened a fundraiser for $350 to avoid possible headaches like PayPal and bank's fee for withdrawing the money back to my credit card.
With that said, here's a fundraiser's link.
You can see the progress of the fundraiser as well.
https://fundrazr.com/81RpR8
Reserved
Reserved 4
This device took an enormous amount of my time that it clearly didn't deserve.
Thanks!
To my knowledge Mipad4 will someday get MIUI Pie. Does that effect the vendor then or are you already decided sticking with ported one?
stunned said:
Thanks!
To my knowledge Mipad4 will someday get MIUI Pie. Does that effect the vendor then or are you already decided sticking with ported one?
Click to expand...
Click to collapse
I'm certain that general experience will be still better with mine even after Mi Pad 4 gets official Pie release.
It'll allow me to fix some bugs though.
Thanks arter. That is why I made a small donation to u knowing that u were working on clover.
Hope more people do the same to keep the motivation alive!
P.S. very nice thread title ?
@arter97 few bugs i found
1)wifi seems to be broken, it's turning off by itself and can't find any networks. (broken on both PA & pixelexp GSI)
2)file transfer broken, only charging is permitted, it keeps going back to charging only (able to test only on PA, on Pixel experience GSI, cant get pass the WIFI set up)
arter97 said:
And since the vendor image is rebased, this means anything other than what I’ve used is not supported.
Mi Pad 4 LTE, Mi Pad 4 Plus, Mi Pad 4 Plus LTE model is not supported. Only Mi Pad 4 Wi-Fi model is supported.
Click to expand...
Click to collapse
Hope you will have time and possibility to support mi pad 4 plus version in near future nice done.
Thank you for you work with this (weird) device!
- Performance seems to be so so good, at least for now, the touch latency also seems to be better.
- Wifi is stable for now (It didn't work on the first boot, but I rebooted and it worked).
- File transfer works randomly for me (I'm trying to get logs and dmesg right now).
And just a little of OT: What do you think about zstd? I was using that algorithm with a flash kernel in Taimen and, in my humble opinion, it works very well, maybe it's a placebo, but I think multitasking was a little better.
PS: best post name evear, lol.
onliner said:
Thank you for you work with this (weird) device!
- Performance seems to be so so good, at least for now, the touch latency also seems to be better.
- Wifi is stable for now (It didn't work on the first boot, but I rebooted and it worked).
- File transfer works randomly for me (I'm trying to get logs and dmesg right now).
And just a little of OT: What do you think about zstd? I was using that algorithm with a flash kernel in Taimen and, in my humble opinion, it works very well, maybe it's a placebo, but I think multitasking was a little better.
PS: best post name evear, lol.
Click to expand...
Click to collapse
I am stucked.
onliner said:
Thank you for you work with this (weird) device!
- Performance seems to be so so good, at least for now, the touch latency also seems to be better.
- Wifi is stable for now (It didn't work on the first boot, but I rebooted and it worked).
- File transfer works randomly for me (I'm trying to get logs and dmesg right now).
And just a little of OT: What do you think about zstd? I was using that algorithm with a flash kernel in Taimen and, in my humble opinion, it works very well, maybe it's a placebo, but I think multitasking was a little better.
PS: best post name evear, lol.
Click to expand...
Click to collapse
zstd is ratio oriented algorithm. lz4 is speed and latency oriented algorithm.
Unless you're really starving on memory like Samsung, using zstd for swap is a really bad idea.
For those having Wi-Fi issues, I need an actual logs to debug the issue.
I have 2 devices on my hand and neither of them have an issue with Wi-Fi, alongside 5 other testers.
arter97 said:
For those having Wi-Fi issues, I need an actual logs to debug the issue.
I have 2 devices on my hand and neither of them have an issue with Wi-Fi, alongside 5 other testers.
Click to expand...
Click to collapse
there you go arter, if you need other specific logs let me know
xzr3b0rnzx said:
there you go arter, if you need other specific logs let me know
Click to expand...
Click to collapse
mac adress is read from wrong path and thats why it fails
Thanks very much for this brilliant project
Waiting for mi pad 4 lte
rcstar6696 said:
mac adress is read from wrong path and thats why it fails
Click to expand...
Click to collapse
i didnt alter anything, what should i do to solve this?
@arter97 you're a legend bro, great job. One thing I noticed is that adaptive brightness fails in pitch dark room. The screen stays completely dark. Other than that everything else works great.

[Kernel][grus] Kowalski Kernel [ beta: XXX - stable: r1.9.3 ]

Ehm... hello everyone
Our phone is quite a little powerful beast, but Xiaomi really made a crappy job on optimizing it, right?
After unlocking the bootloader I felt the need to go back to my roots and get my hands dirty to fix the wrongs in the kernel they released. The phone felt slow and heavy, the battery barely lasted a day. I use my phone for my job and I need to be snappy, stable and last way more than a day. So I started tweaking, digging and experimenting and the result is this kernel that I'm releasing today, in an attempt to make our MI9SE a bit better for all those people who actually use this phone... as a phone...
This kernel is GSI / AOSP only. Don't flash it on Miui based roms unless you are suicidal or want to lose some features, in which case you're free to do as you please and I'm free to ignore your posts, right?
There will be, from time to time, experimental/unstable versions that I release for public testing (usually they're not harmful, but... ehm.... ok you get it) so watch out for the second post if you feel brave and want to be on the bleeding edge. Official kernels are released when the beta testing phase is done and 100% of the feedback is positive.
Don't ask for ETA or you'll be fish slapped... badly! Ignore this warning only in case a nasty bug slips in the release, then you can fish slap me
Ok, enough talk, let's get down to business now.
Features
* Compiled in release mode (all debug stripped)
* Removed all auditing
* Disabled modules support to avoid interference from Xiaomi vendor
* Battery friendly, performance aware
* DT2W support. If disabled the display and touchscreen will power down
* 3G modem small optimizations
* K-Lapse 5.0 support (thanks to tanish2k09 for this awesome piece of code)
* Flicker Reduction via heavily modified Exposure Adjustment module from Sony
* Boeffla Wakelock Blocker pre-configured to block most of the bad boys
* BFQ and CFQ I/O Schedulers
* Adreno Idler support (your gpu will thank me)
* Westwood TCP congestion algorithm enabled by default (and a lot more enabled)
* Support for NTFS (read only)
* Support for F2FS
* And loads more... yeah just ask or check my github
Q & A
Q: Battery !!! Why it's so baaaad ! My phone doesn't sleep !!!
A: Well, don't get it badly, it's not really my problem, is it ? 99.999% is an app you have installed that's preventing deep sleep... go ahead and install BetterBatteryStats, check the Partial Wakelocks and se what's killing your phone. Have fun
Q: App X crashes ! OMG all my data is gone !!!
A: Read again on top, not my fault, sorry. I try my best to give out a stable kernel, but "**** happens" and i can't control it...
Q: I get tons of bsods, my phone doesn't wake up from sleep, it freezes and omg... it just exploded !!!
A: No dmesg / logcat, no party. And please don't post messages like those in the thread if you're not ready to attach a log to the post.
Q: When will you enable gpu overclock, road runner speed mode or wile e. coyote immortality ?
A: Never... on a second thought... maybe... who knows ?
Q: When will you release the new version ? It's a week we're using the old one !!
A: Is it stable ? Then please allow me to fish slap you with a huge trout !
Downloads
All downloads for Kowalski Kernel will be linked in the second post AND in the thread when a new version is released and a changelog will be filed accordingly.
The downloads are labeled as "kowalski-XY-grus" where X can be either "r" for release or "b" for beta. Y is the version number. Eg: kowalski-r1.4-grus is a release, while kowalski-b4-grus is a beta version.
Source will be pushed to my github about 2 or 3 days after a release (or before if I'm not careful), to make sure that no major bugs are introduced in the public repository. You can find the magic code here
This kernel can be compiled with any clang 4.9.x that supports the aarch64-linux-gnu target, so if you want to compile it by yourself you'll have either to build your own toolchain, or use one of the many prebuilt ones (for example from aosp).
Please don't rip-off my work. Please don't kang this kernel. Please don't c&p from my github without proper credit. I'm a nice guy, but i will report you.
Little code of conduct for my threads is necessary: no drama, no OT. Oh and please don't message me on Telegram privately when we have this awesome platform where everyone can benefit from the Q&A.
Thanks
* Okita for the awesome job she made on the base kernel cleanup (this kernel is based on one of her first releases)
* Linus, well, for the linux kernel
* francescod for taking the risks of testing possibly harmful pre-releases
* qualcomm, because codeaurora is awesome!
* osm0sis, the one who allowed us mortals to provide flashable kernels without pain
Oh, I was almost forgetting... on a side note... i'm not really responsible if you decide to test it and your phone melts... right ?
XDA:DevDB Information
Kowalski Kernel, Kernel for the Xiaomi Mi 9 SE
Contributors
pengus77, okitavera, francescod
Source Code: https://github.com/pengus77/kowalski-grus
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: r1.9.3
Stable Release Date: 2019-09-13
Created 2019-07-25
Last Updated 2019-09-13
Version 1.9.3 release - Download here
* Implement display idle states and expose sysfs nodes to manage them
* qcacld-3.0: Add sme_power_save_api.h include
* Add toggle for disabling newly added USB devices
* sched: don't allow userspace to boost at will
* defconfig: disable misc device and rework a bit
* kernel: implement vDSO64 and vDSO32
* spi: increase timeout to make FOD more reactive
* Bump Linux version to 4.9.192​
Version 1.9.1 release - Download here
* updated ion, binder and uapi apis to latest upstream versions
* backported schedutil governor from 4.14 with a subset of improvements tree-wide
* backported qcacld-3.0 from 4.14 msm nicobar tree and cleaned it up​
Version 1.8 release - Download here
* reverted the update to the latest wifi driver
* disable ssbd mitigations
* mm:compaction: raise priority
* kernel:sched:fair: align periods to our kernel config (100Hz)
* techpack:audio: remove compat code
* mmage-writeback: tune values for better memory handling
* kernel: nasty hack to bypass VTS/VINTF checks
* defconfig: disable AUDIT,PROFILING,TRACING and MORE...
* kernel: build with -O3 optimizations
* defconfig: re-enable BFQ as default scheduler
* block: add zen scheduler
* binfmt_elf.c: use get_random_int() to fix entropy depleting
* net/wireguard: add wireguard
* PM: devfreq: Use high priority workqueue
* cpuidle: don't disable cpuidle when entering suspend
* gpu:drm:msm: convert all pr_info into pr_debug​
* Version 1.7 release - Download here
* Merged Linux v4.9.189 from upstream​
* Version 1.6 release - Download here
* Merged Linux v4.9.188 into MSM base
* Fixed a few wifi issues
* Fixed a possible memory leak in the ext4 driver
* Limited zRam to 1GB
* Rewritten defaults for blu_schedutil with an eye on power saving
* Disabled spammy audit logs
* Stripped all symbols from the kernel (smaller, speedier)
* Reverted an old commit in F2FS that was considered harmful​
* Version 1.5 release - Download here
* Merged Linux v4.9.187 from upstream
* Fixed K-LAPSE upper bounds and drafted a "saner" default target
* Reinstated VTS / VINTF compliancy​
* Version 1.4 release - Download here
* Pretty much initial release with all the goodies from OP after a month of testing...​
All the kernel tweaks can be edited as usual with any kernel management app (EX, FK, etc...)
About the Flicker Reduction system, if your ROM doesn't support it or if you want to tweak it a bit and you feel adventurous, you can play with these sysfs endpoints
* /sys/devices/platform/soc/soc:qcom,[email protected]/msm_fb_ea_min (the minimum amount of exposure added)
* /sys/devices/platform/soc/soc:qcom,[email protected]/msm_fb_ea_enable (kinda self explanatory, isn't it? 1 = enabled, 0 = disabled)
* /sys/devices/platform/soc/soc:qcom,[email protected]/msm_fb_ea_elvss_off_treshold (the brightness threshold under which the system is enabled)
Wow, finally a full battery and features oriented kernel. Great to see it for our little beast. And with no Miui support
I hope you don't fall in modern famous useless stuff as Overclock/Overvolting Cpu-Gpu and Overclocking display. Grus doesn't need it at all, at least now.
I'd like to thank you of course, for all of your hard work done. It was a pleasure to help just a little with testing!
After many test of various configurations I've come to these stable settings useful only if you're searching for some more battery juice, so, no high demanding games at all! Performances on daily light use, seem to me like the same as with stock values.
Cpu Governor: Blu_Schedutil
Freq small cores: 576-1516MHz
Freq big cores: 300-1536MHz
wq_power_saving: enabled
Gpu Governor: Simple_ondemand
Freq: 180-267MHz
Adreno Idler: active (should work only on MsmAdreno Governor, but I like to see it enabled anyway)
I/O scheduler: Maple
Readahead 384kb
Fsync: disabled
Tcp congestion algorithm: bbr or westwood
To maximize even more the battery saving use black/dark grey apps as much as possible, use the right brightness, turn off any fancy features as AOD, FOD, AmbientDisplay, PocketMode, every unused sensors, install AdAway, Greenify, use 2G when in Wi-Fi or 2G/3G/4G on mobile connection and pray for someone :cyclops:
All of these settings are fine on my device with my personal use and my personal apps, so, don't complain about bad behavior on your phone.
Which what GSI are you using your kernel? I'm on PE but it will be snappy to have your same experience... :fingers-crossed:
champagne66601 said:
Which what GSI are you using your kernel? I'm on PE but it will be snappy to have your same experience... :fingers-crossed:
Click to expand...
Click to collapse
Hey there, at the moment I'm on Floko because I need stability. Using it with latest xiaomi.eu vendor/firmware blobs and all is good so far
I know people using this on crDroid or Havok and no problems or issues are known so far.
Stupid question: What is different / advantage against Okita kernel?
I'm glad to see new and new kernels and ROMs for 9 SE. Thank you @pengus77
Does it work in miui rooms? Thanks
Fran Montero said:
Does it work in miui rooms? Thanks
Click to expand...
Click to collapse
Read the OP.
vecino said:
Stupid question: What is different / advantage against Okita kernel?
Click to expand...
Click to collapse
This is a fully debloated Kernel from Miui/useless/redundant stuff, so, for an only custom roms lover as me, it's perfect.
K-Lapse, Adreno Idler, unlocked frequencies and flickering reduction are the main visible points, with ofc more under the hood. I left OkitaKernel when it was perhaps on v4 build, so check it out what's changed recently on it.
While they're born from the same base, each Dev makes own customization, so it's up to you to try them both and choose the one who satisfies you better.
Finally I wanna thank again @okitavera for her dedication. Probably without her kernel I wouldn't have bought the 9 SE so fast :highfive:
@pengus77
I flashed your kernel ... is it working but after every restart I give this message: "Device has an internal problem. Contact the manufacturer for more information." Is it problém with firmware / vendor?
vecino said:
@pengus77
I flashed your kernel ... is it working but after every restart I give this message: "Device has an internal problem. Contact the manufacturer for more information." Is it problém with firmware / vendor?
Click to expand...
Click to collapse
Hi, yeah, it's absolutely normal and harmless. It's a standard thing Android *****es about on GSIs when the kernel is too "stripped" and can't neither debug it nor load modules and/or there is a mismatch between system and vendor props. Search for that message in XDA and you'll see that tons of people have the same "issue". It's nothing to worry about, the system will work just fine.
Some ROMs are more strict than others. I know Floko says that, while Havok doesn't.
Roger that - I will be keep testing.
Testing on havoc
Enviado desde mi MI 9 SE mediante Tapatalk
Kernel have in default min 576 MHz - is it so intentionally? Otika was 300 MHz if I'm not wrong. Doesn't this have a negative effect on higher consumption?
vecino said:
Kernel have in default min 576 MHz - is it so intentionally? Otika was 300 MHz if I'm not wrong. Doesn't this have a negative effect on higher consumption?
Click to expand...
Click to collapse
It's just the default to keep it a bit more responsive. Little technical explanation follows: When the phone is in suspend, the cores are disabled and the cpu goes in low power state, so the frequency doesn't really matter. When in active use, the energy and time required to reach a target frequency (when boosting on touch for example) is pretty high. Having a tiny higher min frequency actually lowers the power needed when a boost is required and the time to reach the target frequency is lower. When idling the energy consumption between 576 and 300 is basically the same and doesn't impact the battery life.
Of course the frequencies are unlocked, so you can set it back down to 300 if you feel more comfortable with it
Beta Release [ b1.5a ]
In the releases page on my github (and in the second post) I just pushed a little beta release.
Thanks @fereidooni for finding out a nasty bug occurring during hard memory copy operations .Will fix it soon, in the meantime ignore this version.
Changes:
* Adopted a drastically more power-efficient and reduced IOMMU implementation (your battery will say thank you)
* Cleaned up a few things (this will never end I think... sigh...)
* Disabled the MSM Performance min frequency override. Now YOU decide, not qualcomm.
Have fun
pengus77 said:
In the releases page on my github (and in the second post) I just pushed a little beta release.
Changes:
* Adopted a drastically more power-efficient and reduced IOMMU implementation (your battery will say thank you)
* Cleaned up a few things (this will never end I think... sigh...)
* Disabled the MSM Performance min frequency override. Now YOU decide, not qualcomm.
Have fun
Click to expand...
Click to collapse
Hi
I tried this version
Any video playing cause phone restarted
Thanks for your work
fereidooni said:
Hi
I tried this version
Any video playing cause phone restarted
Thanks for your work
Click to expand...
Click to collapse
Wow thanks mate, an adventurous soul that tested a beta version... gotta love this people
Anyway, just confirmed the problem and will soon get to fix it. In the meantime use the stable version if you want. It should be safe
pengus77 said:
Wow thanks mate, an adventurous soul that tested a beta version... gotta love this people
Anyway, just confirmed the problem and will soon get to fix it. In the meantime use the stable version if you want. It should be safe
Click to expand...
Click to collapse
Thanks mate
Sure I'm using stable version
I am using beta about 10 hors and I had only one problem with UI FC but after wipe cache and dalvik is all ok.

[EOL][KERNEL][Snapdragon][ZyC Clang 17][GCC 13.0.1][Perf based kernel] klimbokernel

Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM/Kernel
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
introduction:
welcome to my kernel, here i provide you with unique stuff related to stability and performance like none seen in other kernels. my kernel brings new features never seen in any other kernel for s20fe, stability and performance is my motto
Instructions:
Assuming you have a custom recovery installed, simply download and flash the kernel zip. This kernel uses Anykernel 3 so no need to reflash magisk(if you use magisk) after installing it.
compiled with lasted ZyC clang 17
and beta build with GCC 13.0.1
S20 FE Modding group: https://t.me/S20FeModding
kernel group: https://t.me/klimbokernel
works on both models : G780G/G781B ONLY!!
kernel source
Downloads:
Google Drive
do you want to learn how to compile my kernel? look at my thread : https://forum.xda-developers.com/t/...el-for-s20-fe-snapdragon-may-28-2022.4451267/​
Changelog:
Klimbobuzz v2.7 changes :
compiler :
*compiled with latest clang 17.0.0
and beta build with GCC 13.0.1 klimbo is the first to relase with this gcc (you can find it in download at beta build folder)
*some compiler tweaks for more performance
*kernel renamed to KlimboBuzz
•GPU:
*OC UP TO 935MHz SUPER STABLE
*Optimized all GPU voltages. using only those that are most efficient at the temperature in general
*Adreno boost enable by default:
•CPU SCHEDULERS:
•Ondemand (default) tuned for more performance and less temperature
*fully removed schedutil (I think anyone using klimbo is looking for performance not a balanced kernel)
•CPU:
*Tuned cpu cores for more performance instead of battery savings
*A few more minimal optimizations that help sustain performance
*Change default thermal GOV to USER_SPACE (USER_SPACE Is a good thermal menager Because it reduces the throttling consequently benefiting for a considerable performance gain)
*Disable WQ Power efficient (WQ efficient is useless in a performance based kernel since when enabled It causes a loss of performance in Exchange for minimal battery
rest as in previous builds
Klimbokernel v5.0 features :
compiled with ZyC clang 16 (lasted)
-add and enable adreno boost
-added new I/O sched drivers like : ZEN, FIOPS, MAPLE, ANXIETY etc..
-more undervolt on GPU
-added and enabled new cpu governor : schedhorizon (the best for performance and battery)
-incrase armv8 timer 19.2MHz ~ 25.2Mhz
klimbokernel-v3.8.1 is up!
• re-added OC on gpu to 910MHz
• more optimizations in the audio driver.
• Several EAS commits for balancing power+efficiency
• Disabled Bootstats.
klimbokernel-v3.2 is up!
• FS and F2FS improvements.
• Reverted 250HZ base timer frequency (for more stability)
• Misc ARM performance and battery patches.
• Some I/O control tweaks.
..status for GSI : working
klimbokernel-v3-rc2 is up!
• Disabled Gentle Fair Sleepers
• Removed GPU OC - This is to test drive if performance takes a small hit but battery is gained. I have this as *temp change* consider it a 'test' phase so i will need your feedback on it to see whether if we keep it or not.
klimbokernel-v1.1-rc1 is up!
• reversed the cpu frequency table so the user can put the frequencies he wants.
• Implemented optimized PM QoS for UFS
• Built with cortex-a55 specific optimizations
• removed facebook process from 'kill-in-the-background' mod. This was affecting the user experience (for those that use Facebook a lot, like my wife lol)
• Disabled several not needed debug
• finetuned for SM8250 (Samsung) specific frequencies/values
• added: CIFS, NTFS and ISO9660 FS in-kernel Support
• Slimbus OC
• Several 'under the hood' improvements to task/memory management.
• set timer tick to 11000HZ this provides super low latency
klimbokernel-v1-rc2 is up!
•set timer tick to 9000 Hz for more performance..
• gpu overclock from 587MHz to 660MHz
• removed battery charging throtling
reserved.
reserved.
reserved.
reserved.
Very unstable but the speed is insane for me. The only version that work for me is the stable v1, without random resets. Great work.
impreza555 said:
Very unstable but the speed is insane for me. The only version that work for me is the stable v1, without random resets. Great work.
Click to expand...
Click to collapse
in the latest versions there is no reboot, on telegram you can find
important message, DON'T WASTE YOUR TIME COMPLAINING ABOUT LOW SOT​my kernel was designed for stable performance as you can see in the changes above​thanks​
.
Hello colleagues
does it work on one ui?
or only in GSI?
mezacorleehone said:
Hello colleagues
does it work on one ui?
or only in GSI?
Click to expand...
Click to collapse
hi, work on both
snapdragon teaks said:
hi, work on both
Click to expand...
Click to collapse
As soon as I entered the telegram group.
but i am seeing 2 variants
GCC and Clang.
what is the difference between one and the other?
thank you for your patience.
mezacorleehone said:
As soon as I entered the telegram group.
but i am seeing 2 variants
GCC and Clang.
what is the difference between one and the other?
thank you for your patience.
Click to expand...
Click to collapse
GCC is more optimized for battery, so the phone won't heat up as much, now Clang is more optimized for performance and the phone will heat up a little more but nothing crazy.
You're welcome.
snapdragon teaks said:
GCC is more optimized for battery, so the phone won't heat up as much, now Clang is more optimized for performance and the phone will heat up a little more but nothing crazy.
You're welcome.
Click to expand...
Click to collapse
I already approved the kernel.
currently try 3 different kernels(counting this one)
1.it allows me to modify and lower and raise the frequencies to my liking. no matter how you do it, the kernel respects it.
2.another kernel did not allow me to modify anything, I selected a frequency and it automatically modified itself. (I hate this kernel)
3.the kernel of this post.
is a combination of both:
I can modify only the maximum frequencies (I am not interested in moving the minimum ones, I have no problems with them)
I only have problems with the frequency of the GPU
It is activated at 932 mhz, it never goes above 490 mhz
no matter how much stress the team.
It is normal ?
mezacorleehone said:
I already approved the kernel.
currently try 3 different kernels(counting this one)
1.it allows me to modify and lower and raise the frequencies to my liking. no matter how you do it, the kernel respects it.
2.another kernel did not allow me to modify anything, I selected a frequency and it automatically modified itself. (I hate this kernel)
3.the kernel of this post.
is a combination of both:
I can modify only the maximum frequencies (I am not interested in moving the minimum ones, I have no problems with them)
I only have problems with the frequency of the GPU
It is activated at 932 mhz, it never goes above 490 mhz
no matter how much stress the team.
It is normal ?
Click to expand...
Click to collapse
About gpu
You should check if adreno boost is enabled by default, If yes, at which level, if at level 1 (Low) then this is the problem Because adreno boost locks Max frequency depending on its use and also the setting selected by the user
snapdragon teaks said:
Acerca de gpu
Debe verificar si adreno boost está habilitado de forma predeterminada. En caso afirmativo, en qué nivel, si está en el nivel 1 (bajo), entonces este es el problema. Porque adreno boost bloquea la frecuencia máxima según su uso y también la configuración seleccionada por el usuario.
Click to expand...
Click to collapse
Is rare.
send the screenshot.
I have to activate minimum frequency at 932 mhz.
I would like it to be scaled.
Try some bench apps like, 3dmark, Geekbench, Antutu, etc. Also Use the CPU float app you can find it in the playstore.. open CPU float and open bench apps start the test and check if the frequency goes up to 932MHz
snapdragon teaks said:
Try some bench apps like, 3dmark, Geekbench, Antutu, etc. Also Use the CPU float app you can find it in the playstore.. open CPU float and open bench apps start the test and check if the frequency goes up to 932MHz
Click to expand...
Click to collapse
use antutu.
the score was very low.
once I set the frequency to 932mhz as a minimum.
I was surprised.

Categories

Resources