[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
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
 
Last edited:

pengus77

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

francescod

Senior Member
Jun 13, 2010
313
121
Italy
Wow, finally a full battery and features oriented kernel. Great to see it for our little beast. And with no Miui support :D

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.
 
Last edited:

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Which what GSI are you using your kernel? I'm on PE but it will be snappy to have your same experience... :fingers-crossed:

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.
 
  • Like
Reactions: champagne66601

francescod

Senior Member
Jun 13, 2010
313
121
Italy
Stupid question: What is different / advantage against Okita kernel?
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:
 

vecino

Senior Member
Aug 12, 2008
554
187
@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?
 

pengus77

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

Hi, yeah, it's absolutely normal and harmless. It's a standard thing Android bitches 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.
 
  • Like
Reactions: vecino

vecino

Senior Member
Aug 12, 2008
554
187
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?
 

pengus77

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

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 :)
 
  • Like
Reactions: vecino

pengus77

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

fereidooni

Senior Member
Mar 1, 2015
587
170
30
tehran
Xiaomi Mi A2 Lite
OnePlus 8T
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 :)



Hi

I tried this version

Any video playing cause phone restarted

Thanks for your work
 
  • Like
Reactions: pengus77

pengus77

Recognized Developer
Mar 10, 2011
2,140
22,971
Penguins' Republic of Antarctica
Hi

I tried this version

Any video playing cause phone restarted

Thanks for your work

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

vecino

Senior Member
Aug 12, 2008
554
187
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.
 

Attachments

  • Screenshot_20190727-095406_EX_Kernel_Manager.png
    Screenshot_20190727-095406_EX_Kernel_Manager.png
    211.4 KB · Views: 303

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