[MOD] BlackenedMod v2.0 (Pixel 3a / Pixel 3a XL)

Search This thread

Giocarro

Senior Member
Dec 11, 2012
2,086
980
So, I took the plunge and installed this script.

So far so good, device is quick but will have to test a bit more before giving a feedback.

Two questions:

1) how can I know whether the script got executed or not?

2) I'm more a performance guy rather than a battery guy, so I'd like to know if editing the script and changing the schedutil "hispeed_load" parameter from 60 to 50 for both clusters does make sense or not.
Is there any other tweak one could apply to gain smooth and stutter-free animations everywhere?

Thanks in advance!
 

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
So, I took the plunge and installed this script.

So far so good, device is quick but will have to test a bit more before giving a feedback.

Two questions:

1) how can I know whether the script got executed or not?

2) I'm more a performance guy rather than a battery guy, so I'd like to know if editing the script and changing the schedutil "hispeed_load" parameter from 60 to 50 for both clusters does make sense or not.
Is there any other tweak one could apply to gain smooth and stutter-free animations everywhere?

Thanks in advance!

1) Check what the guy above me wrote.

2) Changing hispeed_load to a lower value will make the CPU using the "desired" frequency more and close to avoiding using the rest of the frequency steps (which is a thing that's neither good or bad from a power consumption point of view - it depends all on what you prefer on a personal level.)
 
  • Like
Reactions: Giocarro

Giocarro

Senior Member
Dec 11, 2012
2,086
980
On a personal level I prefer higher frequencies to have better smoothness and performance: is hispeed_load the correct setting to tweak or not?
 

Giocarro

Senior Member
Dec 11, 2012
2,086
980
@xFirefly93 thanks for your suggestion!

Starting from an excellent script I tweaked just two parameters to gain more speed and I think that it is working, sacrificing a bit of battery life obviously:
hispeed_freq = 30
up_rate_limit_us = 222

Now, during night time (with AOD set to always ON) battery drained 11%, which is quite a bit so I guess I'll have to play a bit more to find the right balance between performance while using the device and power consumption when the device is idle.

That said I have one more question for you: do you think that it makes sense to lower the "swappiness" value from 100 to 10 or so, always in the direction of gaining a bit of speed? I think that Bonito and Sargo do suffer just a bit of slow eMMC storage and if I understand swappiness a lower value should make the device read and write a bit less. Is it correct or - maybe - it is not something noticeable at all?

Cheers!
 

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
Update!

Note: It is recommended that you reboot your phone after you have applied v1.7 so the customized changes / improvements takes full effect and is fully up & running as intended.

Version v1.7 (Major release):
- Finally fixed the battery life issues that a few may have experienced while having BlackenedMod up and running
- Included a simple guide on what you've to do for getting the alternative min & max frequencies working as intended
- Disabled power efficient workqueues once and for all (the overhead cost doesn't justify the notable performance loss)
- Re-configured my Schedutil profile from scratch so it works like a bulldozing charm together with the changes below
- Increased Schedutil up_rate_limit to 1000us (reduces any overhead caused by all over the board frequency scaling)
- Unlocked & enabled the 300Mhz freq for the big cluster
- Slightly underclocked the big cluster max frequency for better battery life power and for a better user experience
- Carefully adjusted the min LITTLE cluster freq a little for compensating for the new big cluster min & max frequencies
- Reverted commit sync interval to default 5 seconds again
- Some additional minor fixes and adjustments here and there

If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

Enjoy! :)
 

oscar1823

Senior Member
Jul 26, 2017
117
8
I've noticed even before this update if i try setting any big or lil cluster lowered to 300mhz it would start making crackling noises in games. Is it ok just to revert back to regular cpu frequency without messing with all the new updates?
 

Giocarro

Senior Member
Dec 11, 2012
2,086
980
Thanks @xFirefly93 for the new update!

Installed 1.7 release, so far so good.

Still wondering whether I should twek a couple of parameters to spice up performance a bit; specifically I'd lower a bit these settings:
- hispeed_freq
- up_rate_limit_us
- swappiness

I know that the script aims to be balanced, but I always care to tune toward performance rather than battery.
 

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
Thanks @xFirefly93 for the new update!

Installed 1.7 release, so far so good.

Still wondering whether I should twek a couple of parameters to spice up performance a bit; specifically I'd lower a bit these settings:
- hispeed_freq
- up_rate_limit_us
- swappiness

I know that the script aims to be balanced, but I always care to tune toward performance rather than battery.

Isn't the current releases version great enough on the performance for your needs? You need even more?
 
  • Like
Reactions: Giocarro

Giocarro

Senior Member
Dec 11, 2012
2,086
980
This script is perfect for 99% of people, but I'm a bit demanding and my bench test is always the side menu of Play Store: still have to find a way to get it perfectly smooth, other than setting everything to *performance*.

Now that I think about it, I might try to set up some kind of per-app profile and boost just Play Store... ^__^
 
  • Like
Reactions: hanifh

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
This script is perfect for 99% of people, but I'm a bit demanding and my bench test is always the side menu of Play Store: still have to find a way to get it perfectly smooth, other than setting everything to *performance*.

Now that I think about it, I might try to set up some kind of per-app profile and boost just Play Store... ^__^

If you want to, I can send a user customized version of v1.7 to you over at Telegram?
 
  • Like
Reactions: hanifh and Giocarro

Giocarro

Senior Member
Dec 11, 2012
2,086
980
That would be too kind of you!

But wouldn't it make sense to share it here, maybe under a different name, like "SpeedDemonMod" profile?

^__^
 

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
Update!

Note: It is recommended that you reboot your phone after you have applied v1.8 so the customized changes / improvements takes full effect and is fully up & running as intended.

Version v1.8 (Minor release):
- Re-wrote and "patched up" the whole script from scratch
- Removed all the modified frequency stuff for now (needs a few more adjustments before they will be added again)
- Re-enabled power efficient workqueues (=PEWQ) again
- Fully enabled laptop_mode (slightly improves battery life)
- Disabled fsync per default (improves IO performance)
- Cleaned up a few crucial typos both here as well as there

If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

Enjoy! :)
 
Last edited:

oscar1823

Senior Member
Jul 26, 2017
117
8
I don't know what was causing my battery drain on 1.7 but it would go from a hundred and then go down by 2% until it reached 89 which would then start draining by 1% but now the battery draining normally plus it give in accubattery its giving me better battery life.
 
  • Like
Reactions: xFirefly93

xFirefly93

Senior Member
Jan 10, 2018
1,423
2,293
Timrå
I don't know what was causing my battery drain on 1.7 but it would go from a hundred and then go down by 2% until it reached 89 which would then start draining by 1% but now the battery draining normally plus it give in accubattery its giving me better battery life.

How much better compared to when running without BM?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    Introduction:

    Hello everyone!

    The idea to this 'project' did blossom after having an conversation with @pkgnex in the past about the general idea of creating something else that follows what he started with his PK's Tuning Script for Pixel 2 (XL) but with a twist, mainly as a complement to his own thread that you can find here, but also with a completely different vision and focus on what the script itself should achieve (and deliver) for kind of results for myself and for all of you personally, of course, that wants to try it out and use it as a "daily driver".

    Shortly explained.

    This script is created with the goal of improving both battery life and performance on our Pixel 3a (XL) devices, and after a whole range of configurations and various set-ups, I've come up with something that, in my eyes, is worth sharing with all of you so that you can try it out yourself and judge on your own, with constructive feedback on what can be improved or added in future releases - if desired. My philosophy is, and will always be, this:

    If something can be improved or altered in a positive way so the average user can feel and see a difference, then go for it. Non stop.

    The latest release can be found here.

    Disclaimer:
    This is presented as "what if". If this modification screws up or breaks anything for you, I am not the one to be held responsible. It's a free will to try out this kind of changes/modifications/addons/tweaks, just don't blame the inventors for eventual bad results and/or screw-ups.

    Note: This script is not recommended to be modified or customized by the user.

    Features:
    • Reduced battery consumption
    • Device specific enhancements for best possible balance between battery life & performance
    • Enabled, and fully configured, Boeffla generic kernel wakelock blocker
    • Disabled a lot of useless stuff at kernel level (Improves battery life as well as performance)
    • CPUSet improvements & optimizations
    • Power efficiency enhancements
    • Wide IO block tuning (Reduces the possibility of hiccups, lags and overhead)
    • Possibly other miscellaneous things I've forgotten to write down here, both big and small.

    Requirements/what you need for getting this script fully working:
    • An unlocked bootloader
    • Your own specific choice of kernel
    • Latest possible version of Magisk
    • Busybox for Android NDK Magisk Module by @osm0sis
    • Patience

    Installation/How-To use & abuse:
    • 1) Download the attached ZIP
    • 2) Extract the script
    • 3) Move the script to the following location;
      /data/adb/service.d and give it the following & needed file permissions (0775)
    • 4) Reboot your phone, let Android boot to the launcher and let Magisk boot service do its crucial magic (takes a few seconds before the scripts is fully up and running around behind the scenes)
    • 5) Enjoy!
    • Note: If you still are unsure how to do for making my kernel configuration / modification work & be up and running behind the scenes, then please read @Phalanx7621 phenomenal guide here or check out @Phalanx7621 in-depth video here. The installation method is the same for all generations of released Pixels!
    Credits:
    • @franciscofranco for all the information on which kernel wakelocks that is safe to block
    • @Phalanx7621 for his phenomenal how-to guide
    • @Lord Boeffla for his awesome generic kernel wakelock blocker
    • @pkgnex for inspiring me walking into this partially unknown territory.
    • @flar2 for his excellent EXKM application and ElementalX Kernel
    • @osm0sis for his Magisk Busybox module
    • Everyone that I've forgotten to mention here
    Telegram:
    If you want to try out betas / previews of my script before they are officially released, or just hangout and chat a little, then join the official Telegram group here

    To-Do list:
    • Optimize and properly tune things even further for best possible balance between battery life, system responsivness and performance

    Contributors:
    @xFirefly93

    Created: 2019-07-06
    Last updated: 2019-11-15
    10
    Update!

    Note: It is recommended that you reboot your phone after you have applied v1.3 so the customized changes / improvements takes full effect and is fully up & running as intended.

    Version v1.3 (Minor release):
    - Added the needed commands so the logs folder, and the output message, will be automatically generated after each completed boot sequence (Thanks to @crian for giving a few seconds of his time helping me out with this contribution. You rock, dude!)
    - Simplified a few explanations of what each section does
    - Fully enabled the RET idle power state for both clusters (may, or may not, lead to slightly improved battery life for everyone)
    - Most likely fixed the minor issue with the weird all over the place maximum CPU frequency bouncing on the whole LITTLE cluster

    If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

    Enjoy! :)
    10
    Update!

    Note: It is recommended that you reboot your phone after you have applied v1.2 so the customized changes / improvements takes full effect and is fully up & running as intended.

    Be aware that you have to flash the Busybox Magisk module by @osm0sis for getting the newest enhancements, that is featured / included on v1.2, up and running as intended!

    Version v1.2 (Major release):
    - Added a few crucial filesystem tweaks for improved performance (Credits goes to @pkgnex for this contribution. Be aware that you have to flash the Busybox Magisk module for getting those modifications up and running as fully intended)
    - Fully removed all of the alternative task scheduler values / settings (they was only causing random freezes and lagspikes)
    - Slightly adjusted the default stock CPUSet values for hopefully improved power efficiency as well as system responsivness
    - Cleaned up the script on a few minor typos and what not
    - Disabled a few minor CPU related loggers (experimental)
    - Reduced suspend latency by enabling console_suspend
    - Added a few tweaks for overall better network performance
    - Shifted to Westwood TCP congestion algorithm per default
    - Disabled the useless Adreno GPU frequency throttling tunable
    - Disabled RCU expedited and 'replaced' it with RCU normal for improved real-time latency, CPU utilization and energy efficiency

    If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

    Enjoy! :)
    10
    Update!

    Note: It is recommended that you reboot your phone after you have applied v1.8 so the customized changes / improvements takes full effect and is fully up & running as intended.

    Version v1.8 (Minor release):
    - Re-wrote and "patched up" the whole script from scratch
    - Removed all the modified frequency stuff for now (needs a few more adjustments before they will be added again)
    - Re-enabled power efficient workqueues (=PEWQ) again
    - Fully enabled laptop_mode (slightly improves battery life)
    - Disabled fsync per default (improves IO performance)
    - Cleaned up a few crucial typos both here as well as there

    If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

    Enjoy! :)
    9
    Update!

    Note: It is recommended that you reboot your phone after you have applied v1.7 so the customized changes / improvements takes full effect and is fully up & running as intended.

    Version v1.7 (Major release):
    - Finally fixed the battery life issues that a few may have experienced while having BlackenedMod up and running
    - Included a simple guide on what you've to do for getting the alternative min & max frequencies working as intended
    - Disabled power efficient workqueues once and for all (the overhead cost doesn't justify the notable performance loss)
    - Re-configured my Schedutil profile from scratch so it works like a bulldozing charm together with the changes below
    - Increased Schedutil up_rate_limit to 1000us (reduces any overhead caused by all over the board frequency scaling)
    - Unlocked & enabled the 300Mhz freq for the big cluster
    - Slightly underclocked the big cluster max frequency for better battery life power and for a better user experience
    - Carefully adjusted the min LITTLE cluster freq a little for compensating for the new big cluster min & max frequencies
    - Reverted commit sync interval to default 5 seconds again
    - Some additional minor fixes and adjustments here and there

    If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!

    Enjoy! :)