[Honor 9  ROMs, Kernels, Recoveries, & Other Develo] JBolho:
ProtoSSC, Changelog, Init.d Script and EMUI8 Theme

Q&A, Proto-Spectrum System Control, Proto init.d Script and Proto EMUI8 Theme

Proto-Spectrum System Control (ProtoSSC)

- Spectrum App - Google Play Link

- Spectrum System Control - AFH Download

"What is Spectrum and ProtoSSC?"

Spectrum, to put it simply, it's a quick and easy way of changing between Kernel settings oriented for 4 different scenarios, using pre-programmed profiles. More info? Check out the XDA link:

Spectrum App XDA Thread

Huge thanks to [MENTION=5051294]frap129[/MENTION] for this work (and for Maple I/O too by the way)

ProtoSSC is a set of intructions that will give you full power over your system, completely eliminating Huawei's Management and Override Framework, replacing it with Spectrum-based Management, without having to mess around with files on internal storage.

Profiles are now built-in and are persistent after reboots

(read notes)

ProtoSSC Instructions

First download the SSC flashable zip for your device file from the link above and place it on external SD card

Go to <root>/vendor/etc and delete the "

perfgenius_boost_policy

" and "

perfgenius_config

" XML files.

Go to <root>/vendor/bin/hw and rename (do not delete) "

vendor.huawei.hardware.iawawreperf@1.0-service

" and "

vendor.huawei.hardware.perfgenius@1.0-service

" (just add ".bak" in the end)

Go to <root>product/etc/xml and delete the "

uniperf_config_cust

" XML file.

Go back to <root>/vendor and open the build.prop, find the lines "

ro.config.hw_perfgenius

" and "

persist.sys.iaware.cpuenable

" and change them from 'true' to 'false'.

If you were already using Spectrum, on your Internal Storage,

delete the Spectrum folder, along with the profiles.

Leave the Spectrum app installed.

Reboot to TWRP and flash the SSC file and reboot. (If you do not have Spectrum app installed, install it - Play Store link is above). Just give root permissions to the app and set whatever profile you want to use.

Every SSC Profile is now EAS based and separated by device family and was designed and tested for each purpose.

Every single profile has also some degree of underclocking, according to its design and purpose.

Therefore, we don't want to hear any noobs ranting about Antutu points.

​

Balance - Designed for normal everyday use. Best balance between performance and SOT.

Performance - Designed for more demanding use, heavy multi-tasking and heavy Camera usage.

Battery - Designed for the best Battery life while maintaining minimal settings to avoid lags. GPU and Big cluster capped to minimum frequencies.

Gaming - Specifically designed and tested for sustained performance with heavy 3D gaming.

IMPORTANT NOTES

:

After a lot of headaches and trying to figure all this Huawei system out, with the precious help of people at fRom Future Roms TG Group, and of course the ProtoKernel Testing Team, we finally made the profiles 100% persistent, and CPU/GPU freqs will no longer be overriden by the system.

There is only one logic exception to this, and that is of course, the Thermal Engine. Suffice to say, we will never mess with this.

These devices are not gaming consoles, i've heard the complaints, and i adjusted Boost settings on Gaming profile to be less agressive and underclocked the Little Cluster as well. With highly demanding games it will heat anyway, but should be better now. I take no complaints regarding PUBG or hour-long gaming sessions.

What is the Proto init.d Script and how do i use it?

- The Proto init.d Script tweaks the TCP buffers to optimize Mobile Data performance and enables the USB Fast Charging by default.

The script is best used with Magisk and you have to place it under <root>/magisk/.core/post-fs-data.d or <root>/sbin/.core/img/.core/post-fs-data.d depending on Magisk version.

Download is attached to this post as a zip file.

There's a Proto EMUI8 Theme? Where do i get it?

Right this way! --> Download Proto Kernel EMUI 8 Theme

Put it on Themes folder on Internal Storage and it will show up on your Themes app.

"My device started to lag a bit, what's happening?"

- If this occasionally happens, you really should know that rebooting your device every other day is a good thing. Swap and ZRam are dead for good and i'm not bringing them back.

Enjoy!

Version 5.1F - 10.24.18 [Final Feature-Development Release]

- Upstreamed to Linux 4.4.159

- Disable Huawei's D.U.B.A.I. functionality (No More Analytics for the H Company)

- Optimize build for big.LITTLE (GCC 5.5 based version only)

- Full Rebase of EAS to AOSP

- Implement Schedutil Governor

- Port Blu_Schedutil from OP6 Blu_Spark Kernel

- Deprecate Sched Governor

- Fix and Implement WALT (Window-Based Load Tracking)

- Add Tuned Zen I/O Scheduler (Now part of SSC Balance Profile)

- Separate SSC Profiles between Honor9 and P10 family (avoids error spamming on init logs and tailored freqs)

- Update Wireguard

- It's recommended you use the Kernel along with SSC and the init.d Script

Older Versions:

Version 3.0R - 09.19.18

- Upgrade to Linaro GCC 5.5-2017.10 (Keep Linaro GCC 4.9 for CN versions)

- Upstreamed to 4.4.103 -

Kernel now on par with stock K970

- Increased Buffer on GPUFreq driver

- Port HiSi JPEG Processing Engine

- Update Wireguard to 0.0.20180910

- Update on SSC - All profiles are now based on EAS with heavy frequency customization

- Revert Proto init.d Script back to v1 due to Huawei's poor implementation of Skia

Version 2.5R - 08.20.18 [GPU Supercharger Edition]

- GPU - Reduce TLB Pressure and Prevent Memory Fragmentation

- GPU - Port and Optimize HiSilicon GPUFreq Driver and FHSS GPU Feature

- GPU - Re-Tune Scene Aware and Disable D.U.B.A.I. Analytics on GPU Govs

- Update Wireguard to 0.0.20180809

- Optimize Async I/O for SSD Storage

- Disable HiSi PerfHub

- Minor FS Optimization

- Initramfs Optimizations

- Minor Memory Fragmentation Optimization

- Updated Proto init.d Script to v2

Version 2.0R - 06.29.18 -

Major Milestone Update

- Upstreamed to 4.4.73

- New Optimal Timer Frequency - 156HZ Set as Default

- Go Tickless - Enable Full Dynticks System

- Power Efficient Workqueues can now be toggled

- Revert CPU DDR Link Enabling and other HiSi CPU Functions

- Keep Kirin Specific SMP Flow but move to ARM big.LITTLE CPUFreq Driver

- Reduce Kernel Max Wakelocks down by 90% relative to Stock

- Minor RAM and DevFreq Tweaks

- GPU Scene_Aware Tuned for Power Efficiency

- Minor Log Spam on CPU's Silenced

- Reduce Timeout to Stop Processes and Enter Sleep

- Optimized Sound Output Gains and Eliminate Rates below 16Khz

- Implement UKSM 0.1.2.6

- Upgrade SchedTune Boost to v3

- Major Update to Spectrum Profiles to accomodate new features as well

- Update Wireguard to 0.0.20180620

Version 1.7.1R - 06.02.18 - Minor Fix Version

- [MENTION=3975929]zxz0O0[/MENTION] Capacitive Button Fix now included

- Update Wireguard to 0.0.20180531

Version 1.7R - 05.28.18

- Upstream to 4.4.63

- Implement USB Fast Charging Capability

- Minor Efficiency Tweaks to Sched, SchedTune CPU Boost and LMK

- Removed Sociopath TCP Algorithm (Not needed, performance similar to Westwood)

- Update Wireguard to 0.0.20180524 and make it built-in instead of module

- Updated Spectrum Profiles

- Introduction of Proto init.d script - Tweaks TCP and Enables the USB Fast Charging by Default

Version 1.6R - 05.19.18

- Upstream to 4.4.52

- Add FRandom RNG Driver

- Add Dynamic SchedTune Boost

- Update Westwood TCP Algorithm

- Add Boeffla Wakelock Blocker

- Fix for possible Entropy depletion

- Update Wireguard to 0.0.20180519

Version 1.5R - 05.10.18

- Add blu_active CPU Governor and CAF Boost driver for non-EAS users

- Enable CPUFreq DDR Link

- Enable HiSilicon Low Temp CPU Frequency Set

- Timer Frequency set to 300HZ

- Powersave, Userspace and Conservative CPU Govs no longer available

- Automatic Process Group Scheduling Support

- SMT Scheduler Support for Multi-Threading Optimization

- Disable Scheduler Logging to reduce Overhead

- GPU Scene Aware - Battery friendly balanced GPU management. OpenGL may suffer, Vulkan is favored.

- Add Powersave GPU Gov for users that really don't need any GPU performance

- Maple I/O Scheduler tuned and set to default

- ZRam Disabled

- Entropy Tuned for improved performance

- Add FSync Toggle capability

- Disable CRC checks

- NTFS File System R/W Support

- Enable CleanCache Driver

- Skip Kernel Sync on Suspend

- Disabled Huawei Root Scanner

- Add Sociopath TCP Algorithm

- Update Wireguard to version 0.0.20180420

Version 1.2R - 05.04.18

- Add Maple and Tuned SIOPlus I/O Schedulers (SIOPlus now default)

- Tuned CFQ and Deadline I/O Schedulers

- Updated Sched Governor to Kirin970 .103 Source

- Updated CPUFreq Drivers and Governors to Kirin970 .103 Source

Version 1.1R - 04.26.18

- [FIX] Knuckle Gestures now work

- Reverted Huawei Max Freq. Detection for Increased Granularity on "big" Cluster

- Sched Governor now tuned for faster Freq Ramp-Down - [This may affect Benchmark Performance but not device overall performance and/or behaviour]

Version 1.0R - First Official Release 04.21.18

- Linaro AArch64 GCC 4.9 2017.01 (ARMv8,A53 Optimized)

- UnderVolt CPU/GPU by [MENTION=7074010]nutcasev1.5[/MENTION]

- Activate built-in EAS and set "Sched" Governor as default

- Enable Kirin Hotplug Flow for big.LITTLE

- Enable Aggressive GPU Suspend on Low Frequencies

- Deactivated Swap

- Reduced Kernel Wakelocks by 50%

- Set CFQ as Default I/O Scheduler

- Renamed Interactive Gov to bypass EMUI Governor Overrides

- Set Westwood as Default TCP Algorithm

- Reactivated "setenforce" command

- Added Wireguard VPN Capability