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

Search This thread

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Kowalski Kernel r1.6 (Infinite Battery Works)

After extensive beta testing I finally got to the conclusion that this is a release worthy kernel, so here it is:
Main focus of this release has been "battery love". From tuning the blu_schedutil defaults, to disabling a ton of useless logging (especially the useless audit spam) and slimming the kernel by almost 1Mb by stripping all the debug symbols, this is a stable base on which to build the next improvements.

So, from now on, I'll start tagging the releases with a nickname. This will be "Infinite Battery Works", how's that for some ego pumping? :D

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

As usual, little disclaimer here, this kernel has been tested for a few days now on a couple phones. If your phone doesn't like it and starts crying bring it to mama, not to me... ok ? :)
-
 

elpaablo

Senior Member
Nov 18, 2017
291
114
But yes, there's no sound with the latest firmware + vendor. Also, I experienced screen flickering after unlock, with v1. 7. Reverted to 1.6.

edit: nevermind, I reflashed r1. 7 and the flickering issue is gone.
 
Last edited:

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Kowalski Kernel b1.8c

Hey hey, just finished another round of tests but this one will be considered a beta for now until I get some feedback.

Download here


* Updated wifi driver to latest caf tag LA.UM.7.8.r1-06700-SDM710.0
* Disabled SSBD mitigations, useless for our phone and quite battery and performance hungry

Hope you like it as much as I do :)

Enjoy!
-
 

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Kowalski Kernel 1.8 release (moar battery lovah)

Hey guys, this one was a blast. Had to revert all the updates to the wifi driver because they only caused problems and a bit of drain. I'm working on a complete rebase of the kernel with really minimal Xiaomi patches and full Qualcomm opensource compatibility for wifi and audio. It's going to take a bit of time but it will be here for the 2.0 release (no ETA or be fish slapped!)

Anyway, the changelog is quite long and techy, so in few words: MOAR BATTERY LOVAH! Finally getting below the 130mA for idle screen drain and the race-to-idle code has been improved vastly. Included the awesome ZEN I/O scheduler (try it if you please) and a ton of patches to memory and various timings. Also, removed a ton of debug printouts from the whole gpu/drm subsystem. Next will be taking care of the qualcomm battery (spammy as hell too).

Oh, was almost forgetting, hacked my way through the VTS/VINTF logic and found a little loophole. Exploited successfully and now the kernel is compiled without modules support, profiling, auditing and tracing. Way smaller, lots lighter.

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
* mm: page-writeback: tune values for better memory handling
* kernel: nasty hack to bypass VTS/VINTF checks :p
* 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

This one is the result of 9 private betas.... it should work for you too LOL

As usual, have fun (but not too much)!
-
 
Last edited:

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Kowalski Kernel 1.9a beta

Hi guys,
this is a beta, really really beta version, that includes quite a few heavy modifications on top of 1.8, so flash it if you want but be advised :)

The only thing that has changed drastically is the whole wifi stack. Now it's aligned on the bleeding edge NICOBAR tags from CAF. IT works really well and the battery drain is so low, you can almost forget to recharge your phone... BUT.... it could crash, explode, melt your display, glue your fingers together or bisect your brain... you've been advised :good:

But, camera got a bit of love too :)

Download here if you really want to :p

P.S. from now on I won't publish beta releases in the second post, I'll just announce them here in the thread and in the title.

-
 

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Hi guys! 1,8 release don't work in full treble CrDroid 5.7 (stuck on MI logo) any solution? 1.7 working good, it's very strange
Weird, it's being used on that rom by one of my testers so I'm pretty sure it works there. Crdroid full seems to have a problem with reboots though. Try a hard reset maybe (all three buttons pressed until you feel a little vibration).
 

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    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? :D

    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 :D

    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 ? :p

    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
    15
    Kowalski Kernel 1.9.3 Release

    Hey hey,
    new week, new release. This one has been in the works for a loooong time actually (go look at the dev branch on my github to get an idea) but it's really starting to work as I wanted.
    Brief recap of the changes between the last public beta and this one:

    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

    See, lots of cool things in there under the hood. First, as usual, lots of wifi love... second, FOD speed... third, compatibility with crdroid FOD... and more, lots more....

    Let me know how it goes while I keep working on my lineage port. It's going to blow you away but hey, for now I keep it only for me and few selected testers. Want to give it a spin? Drop me a PM and I'll send you a link or a telegram message.

    As usual, have fun !
    -
    13
    Kowalski Kernel 1.8 release (moar battery lovah)

    Hey guys, this one was a blast. Had to revert all the updates to the wifi driver because they only caused problems and a bit of drain. I'm working on a complete rebase of the kernel with really minimal Xiaomi patches and full Qualcomm opensource compatibility for wifi and audio. It's going to take a bit of time but it will be here for the 2.0 release (no ETA or be fish slapped!)

    Anyway, the changelog is quite long and techy, so in few words: MOAR BATTERY LOVAH! Finally getting below the 130mA for idle screen drain and the race-to-idle code has been improved vastly. Included the awesome ZEN I/O scheduler (try it if you please) and a ton of patches to memory and various timings. Also, removed a ton of debug printouts from the whole gpu/drm subsystem. Next will be taking care of the qualcomm battery (spammy as hell too).

    Oh, was almost forgetting, hacked my way through the VTS/VINTF logic and found a little loophole. Exploited successfully and now the kernel is compiled without modules support, profiling, auditing and tracing. Way smaller, lots lighter.

    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
    * mm: page-writeback: tune values for better memory handling
    * kernel: nasty hack to bypass VTS/VINTF checks :p
    * 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

    This one is the result of 9 private betas.... it should work for you too LOL

    As usual, have fun (but not too much)!
    -
    10
    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
    * mm:page-writeback: tune values for better memory handling
    * kernel: nasty hack to bypass VTS/VINTF checks :p
    * 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)
    8
    Kowalski Kernel b1.8c

    Hey hey, just finished another round of tests but this one will be considered a beta for now until I get some feedback.

    Download here


    * Updated wifi driver to latest caf tag LA.UM.7.8.r1-06700-SDM710.0
    * Disabled SSBD mitigations, useless for our phone and quite battery and performance hungry

    Hope you like it as much as I do :)

    Enjoy!
    -
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone