[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 1.9.1 Release

Hey guys,
it's that time of the week already :laugh:

Sorry for not posting public betas in the meantime but the work done this week has been quite hard and complicated. The way to a full 4.14 integration is getting simpler now and the results start to be really interesting. The new upstreamed and cleaned wifi driver is awesome and the schedutil governor from 4.14 really improves a lot over the older version (especially in our tickless kernel). All the other things are mostly support and tree-wide modifications. Slow and steady, right?

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

As usual, have fun and enjoy :good:
-
 

vecino

Senior Member
Aug 12, 2008
554
187
Band Steering and FOD wakeup

Hey @pengus77,

please I have questin on wifi modul / wifi stack in your kernel. I have at home UniFi system with 5Ghz and 2.4Ghz and on all my devices (Nexus 10, Goole Chromebook, Nexus 5X,...) is working band steering good but Mi 9 SE is most of the time on 2.4 only (5Ghz signal is strong more then 2.4). Is there any "energy-saver" for better baterry live or problem is elsewhere?

crDroid 5.7 and FOD wakeup

I saw changelog from 21.8.2019 and there is: "FOD wakeup (works with built-in kernel only)". Can you do something about it?

source: http://svr4.ru/projects/grus/test/READ.me

Thanks
 

okitavera

Senior Member
Jan 6, 2016
436
808
Malang
okitavera.me
Hey @pengus77,

please I have questin on wifi modul / wifi stack in your kernel. I have at home UniFi system with 5Ghz and 2.4Ghz and on all my devices (Nexus 10, Goole Chromebook, Nexus 5X,...) is working band steering good but Mi 9 SE is most of the time on 2.4 only (5Ghz signal is strong more then 2.4). Is there any "energy-saver" for better baterry live or problem is elsewhere?

crDroid 5.7 and FOD wakeup

I saw changelog from 21.8.2019 and there is: "FOD wakeup (works with built-in kernel only)". Can you do something about it?

source: http://svr4.ru/projects/grus/test/READ.me

Thanks
FOD Wakeup is not implemented in Kowalski (neither mine too in stable release) because the feature will conflict with the powersaving features that Kowalski have (where the panel is fully cutted down if dt2w is off)
 
Last edited:

pengus77

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

Quick beta just to share the latest and greatest updates from qualcomm to our beloved camera.
All works as supposed, so it's here for whoever wants to play with it until I release the next stable.

Download here

* merged tag LA.UM.7.8.r1-06900-SDM710.0 from caf (camera and sched updates)

As I said, this is just a small update on top of r1.9.1, so if you don't think it's worth it you can skip it and you'll get all the goodies in the next release.

Have fun :)
-
 

okitavera

Senior Member
Jan 6, 2016
436
808
Malang
okitavera.me
Ok I am testing your kernel now (7.2) and 5GHz holding well. Kowalski probably holds primary 2.4Ghz to save more energy. At least that's how I explain it to lay people.

that's because pengus77 using hardcoded WCNSS_qcom_cfg.ini just like krasCGQ's kernel (or maybe they're using the exact same file ? idk).

while my kernel is letting the ROMs (or vendor to be precise) uses their own configuration.
which is make it up-to the ROM itself whether they (or you too) want to support certain features or not (for example: channel bonding, tx-power, etc) :eek:

and besides, the coverage issue will have something to do with power usage.
if you have good 5 GHz and 2.4 GHz coverage in the same area, using 5 GHz is better as it will retrieve data much faster and let your phone's wifi go to deep sleep state faster vs 2.4 GHz.
but when coverage starts getting worse for the 5 GHz, and not for 2.4 GHz, you may want to switch to 2.4 GHz instead to save some juice.
 
Last edited:
  • Like
Reactions: vecino

pengus77

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

Hey guys,
another beta before the next stable.... even if this one seems a lot stable to me :)

Changelog:
- Fixed wifi driver config file loading
- Blu Schedutil fixes from upstream merged with 4.14 sched improvements
- Linux 4.9.190 merged from upstream
- Re-enabled minimal profiling for rom support (this one is a requirement from google apparently)

Download here

As usual, have fun and don't blame me if something goes horribly wrong :D
-
 

vecino

Senior Member
Aug 12, 2008
554
187
Hi there, with b1.9.2d is not working NFC / GPay. crDriod have too your Kowalski stock kernel and here is working ok. Beta have any limitations? Thanks
 

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
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 !
-
 

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