--------- INTRODUCTION ---------
First of all I want to thank @RogerF81 (soilwork) and @fapste (wingoku_battery_saving4.1) for their work.
At start I based on wingoku CPU governor profile, but then I was adjusting and testing values (based on trials and errors method, because I don't have knowledge to know what every parameter do).
After a while I changed so much that I guess I can call this profile my own.
I decided to post it as new thread, because I hope there will be people who are willing to try it and maybe help to adjust more to make it even more efficient. My goal is to make tweaks which is battery focused of course, but with no impact on performance. It's mean we can't have any stuttering, lag etc. on our phone, even if we loose 30 - 60 minutes SOT on the way.
--------- WHAT YOU NEED AND HOW TO INSTALL ---------
1. ROM: Leedroid 5.2.1 r149
2. Kernel: CleanSlate v3.7.13
3. Magisk 17.0 or higher
4. Profile: ZIP file for Magisk 17+
That's basically all you need. I think any ROM (stock or custom) will do, any Kernel with Interactive scheduler should be ok (although I get better results with CleanSlate than ElementalX), but I think it's better to have option to disable Touchboost.
This is simply ZIP file flashable in Magisk. It contain ALL settings from my latest governor profile + extra additional settings from Soilwork and @RogerF81 add-on to Helix Engine and some other too. Some of values I left, some I changed according to my profile.
You don't need anything besides Magisk and this ZIP file to make it work, although you could have any app similar to EX Kernel Manager to check if values are applied. Values will apply after around 2 minutes after restart phone (after Magisk will start modules).
1. You HAVE TO disable HTC power manager (pnpmgr).
2. Copy ZIP file to your phone
3. Go into Magisk Manager --> modules
4. Tap "+" button, search for ZIP file and tap on it
5. Restart phone - done
Latest working method to disable HTC power manager (at least as most of users reports it's working) is:
1. Delete perf folder in /system/vendor/etc
2. Delete powerhint.xml file in /system/vendor/etc
3. Delete pnp.xml file in /system/vendor/etc
This is what I did and it's working for me with no problems - profile values aren't changing back to default, no overheating, no CPU overload etc. Some people says it's better to leave pnp.xml and only delete perf folder and powerhint.xml file. You have to test for yourself.
--------- OTHER SETTINGS ---------
GOOGLE SERVICES, PROGRAMS IN BACKGROUND, MORE IDLE TIME
I didn't do much with Google Services since I don't have problem with Deep Sleep and idle battery drain (it's fine for me as it is). All I did was 1 thing:
1. In the system, I went inside every app settings --> battery and I unchecked Activity in background
Check screenshots. Unfortunatelly you have to do it for every app and system app whenever it's available (it's not always is). If you have problem with any app, just switch it back and let that app works in background. I only had problem with EX Kernel Manager - setting "Apply at system start" didn't work and Leedroid Tweaks.
Also since version 3.1 I added some tweaks for google services to help with battery drain (thanks to @korom42).
Good luck with optimizing your HTC 10. I will be appreciate for any feedback and help with this profile. Thank you.
--------- RELEASE NOTES ---------
-- Release date: 27.06.2018
-- Initial release
-- Release date: 30.06.2018
-- Small changes in: above_hispeed_delay, target_loads, max_freq_hysteresis - both little and big cluster (CPU should stay more on lower frequencies)
-- Changed sched_spill_nr_run and sched_ravg_hist_size - for testing results
-- More battery friendly
-- Release date: 02.07.2018
-- Small changes in: above_hispeed_delay, target_loads, hispeed_freq (lower values) - both little and big cluster (CPU should stay more on lower frequencies)
-- Hopefully more battery friendly without any impact on performance
-- Release date: 03.07.2018
-- Changes in: above_hispeed_delay, target_loads - both little and big cluster. Values are now according to CPU frequencies in our HTC 10
-- I feel like phone is more smooth
-- I expect really noticeable difference in battery life compare to all previous versions
-- Release date: 05.07.2018
-- Changes in: many small changes here and there(fast_ramp_down OFF now for Big Cluster, go_hispeed_load decreased for Little and Big Cluster)
-- wq_power_saving option OFF
-- I hope performance is same or better than 1.3 with a bit better battery saving
-- Release date: 06.07.2018
-- Changes in: many changes here and there to make phone more responsive without loosing battery life (hopefully)
-- Trying use_migration_notif OFF for small cluster
-- Probably better performance, but a bit less battery saving
-- Release date: 09.07.2018
-- Changes in: many "small" adjustments, but as I see, some small changes in values has quite big impact in battery and performance
-- Phone should be smooth and responsive, better than v.1.5
-- Screen On Time should be better than 1.5
-- Release date: 10.07.2018
-- Changes in: little adjustments
-- Phone should be more smooth, good battery life when watching YouTube
-- Release date: 12.07.2018
-- Changes in: different approach in min_sample_time, timer_slack, timer_rate. Slight changes in above_hispeed_delay and target_loads
-- Hard to get faster phone without using higher frequencies and loosing battery life. In my case I think it's a bit more responsive and smooth and SOT is the same, hopefully even better with latest adjustments
-- Release date: 16.07.2018
-- Changes in: many areas to test different settings for more responsive phone
-- A bit more simple approach for above_hispeed_delay and target_loads settings - removed unnecessary (?) values
-- Phone should be slightly faster than on previous versions (a bit faster apps starting).
-- Release date: 20.07.2018
-- Changes in: small adjustments to 1.9 for performance and battery savings
-- wq_power_saving back ON - you might have to change value to 1 manually, because somehow profile is not changing it during loading
-- Phone should be same responsive and fast as on 1.9, but a bit more battery friendly
-- Release date: 25.07.2018
-- Changes in: slight changes to 1.10
-- Theoretically should be a bit more battery friendly
-- Release date: 03.08.2018
-- Changes in: as always here and there, but this time also in /proc/sys/vm/ section, so swappiness, dirty_ratio, dirty_background_ratio, min_free_kbytes, vfs_cache_pressure and overcommit_ratio is changed
-- Focused on more responsive phone (as close as possible to stock) with better SOT than stock
-- Release date: 05.08.2018
-- Changes in: small upgrades to 2.0 for better battery (based on feedback 2.0.1 is less battery friendly than 2.0)
-- Release date: 11.08.2018
-- Changes in: small tweaks to 2.0
-- Added lowmemorykiller tweaks
-- (hopefully) improved 2.0 version
-- Release date: 13.08.2018
-- Changes in: fixes and really small adjustments to 2.0.2
-- Release date: 15.08.2018
-- Changes in: msm_thermal - OFF, changed lowmemorykiller tweaks and some small adjustments to governor
-- Release date: 20.08.2018
-- Changes in: small adjustments to 2.0.4 for hopefully better battery life
-- Release date: 28.08.2018
-- Changes in: small adjustments to 2.0.5 for hopefully better battery life
-- Magisk version is changing files permissions to 644 now instead of 444
-- Release date: 06.09.2018
-- Changes in: Tweaks in Low Memory Killer, above_hispeed_delay a bit changed to get better phone response and less time at max frequencies, lower hispeed_freq for better battery life (as always hopefully )
-- Version for Magisk 15+ and 17+ (thanks to @RogerF81 for permission to use his template again)
-- Release date: 04.10.2018
-- Changes in: Tweaks in Low Memory Killer, above_hispeed_delay a bit changed to get phone more smooth and responsive
-- Added some new tweaks from Pixel 2 (XL) Unified Kernel(s) Tuning Script made by @xFirefly93
-- Version 3.0 is only for Magisk 17+ and no more EX Kernel Manager version since I can't implement all settings in there anyway
-- Release date: 18.10.2018
-- Changes in: max_freq_hysteresis from 0 to 20000 and 30000 (small and big core)
-- Added Google Services drain fix thanks to @korom42
-- Release date: 30.10.2018
-- Changes in: here and there, more into 2.0.5 version (I had best results there if it's not only coincident)
-- Release date: 26.11.2018
-- Changes in: I didn't like 3.2. This one works faster and I had better battery life
-- Release date: 26.11.2018
-- Changes in: Added tweak for google services thanks to @xFirefly93 (suppose to go for deep sleep better). Most of settings very close to 3.3
-- Release date: 29.03.2019
-- Changes in: Best performance from all version (at least for me). Stock experience with better battery life
-- Release date: 26.04.2019
-- Changes in: Stock experience with better battery life. Optimizing, optimizing...
-- Release date: 20.06.2019
-- Changes in: HTC stock camera recorging stuttering should be fixed, if anyone had that problem with default settings. Stock experience with better battery life. Optimizing, optimizing...
-- Release date: 12.07.2019
-- Changes in: Optimizing, optimizing...
-- Release date: 16.01.2020
-- Changes in: Small adjustments. Last release - no more HTC
--------- DOWNLOAD for Magisk 17+ ---------
GOOGLE DRIVE ---> HTC10BatteryTweaks_alderon666_v4.0_magisk17+.zip <---
Since attachments system wasn't working properly I made google drive link for all versions. I left old versions for EX Kernel Manager, but I recommend to flash Magisk version.