[KERNEL][HH] Electroactive Kernel v2.00 [20.05.2015]

  • 27 Antworten
  • Letztes Antwortdatum
Bödi

Bödi

Philosoph
6.180
LZnGnJd.png
For Nexus 5
XDA-Thread

Hier möchte ich euch einen weiteren Kernel für unser Nexus 5 vorstellen, den ich zur Zeit am liebsten nutze. Er basiert auf dem einschlägig bekannten ElementalX von flar2 und bietet höchste Performance kombiniert mit einer guten Akkulaufzeit.

- A C H T U N G -
Das Flashen dieses Kernels sowie das Rooten deines Smartphones geschieht auf deine eigene Verantwortung. Sei dir bewusst, dass bei diesem Vorgang Schäden entstehen können und dass die rechtlich zugesicherte Herstellergarantie damit erlischt. Der Entwickler dieses Kernels oder ich als Ersteller dieses Threads, sowie Android-Hilfe.de übernehmen keinerlei Verantwortung für Schäden an deinem Gerät, die durch das Flashen dieser (oder anderer) Dateien entstehen.


:: Features

  • Based on ElementalX kernel
  • Overclocking/underclocking options
  • Aroma installer (coming soon...)
  • Electroactive default CPU governor with powersave_bias=0 and new optimized boost_sampling factor with boostpulse
  • Many other popular CPU governors including Elementalx(flar2), UberDemand(Cl3Kener), Badass(Dennis Rassman), Impulse(neobuddy89), and much more.
  • Multiple hotplugs, intelli_plug, msm_sleeper
  • Optional ElementalX l2 and bus overclocking thanks to flar2
  • Full voltage control
  • Wake gestures
  • Optional sweep2wake and doubletap2wake
  • Optional USB fastcharge
  • Optional backlight dimmer
  • Kernel compressed with LZ4-r127, GZIP for faster boot times
  • Several I/O controls with ROW as default
  • Optional cooler color
  • Advanced color and gamma control
  • Built using Ubuntu 14.04.2
  • Build with optimized Toolchains
  • Full -O3 & graphite and -pthread support
  • Optional max screen off frequency at 1190 MHz
  • Charge light support
  • Optional disable fsync
  • Enhanced TCP with wifi and network enhancements with WESTWOOD as defaut
  • Optimized AES, SHA1, and RWSEM
  • OTG flash drive support FAT32
  • NTFS r/w and exFAT filesystem support
  • MultiROM support
  • init.d support
  • DriveDroid compatible
  • electroactive.conf support
  • F2FS support*
  • Linaro enhancements
  • Thermal throttling control: elexcool, extracool, and stockcool options
  • Compatible with ElementalX Kernel app, TricksterMOD, Device Control, Kernel Tweaker, Franco Display Control and FauxSound Control, Synapse Kernel manager
  • Vibration strength tunable
Für eine detaillierte Übersicht über Governors, Hotplugs etc. pp bitte den folgenden SPOILER öffnen!

:: Notes & Information

Electroactive governor
The Electroactive CPU governor has been created to get some of the best balances between battery life and performance that you will see on a device. It includes some extra additions and enhancements to be more battery saving than interactive governor and some boost tunes and additions that allow better power management and performance in games as well as better power saving when in normal use. CPU boost, fast_start deep_sleep and detection features are built in as well as 500 MHz clock speed in suspend. This performs extremely well in games, normal use, battery performance, and just about everything.

Some tunables available in the governor (these can also be tuned in any kernel management app):

boostpulse: Immediately boost speed of all CPUs to hispeed_freq for min_sample_time, after which speeds are allowed to drop below hispeed_freq according to load as usual.

boosted_sampling_down_factor: This custom made parameter's set default setting will give several 0.4 second bursts of full throttle CPU to programs. It's about the time that user interface has to produce some meaningful response to your input so to feel smooth, especially while gaming. Besides better responsiveness, this setting will also give better overall speed to many programs which often interchange high CPU demand with IO waits and then suffer because the CPU governor too eagerly throttled down the frequency during those waits.

default_freq_boost_time: this is the default time that the CPU will spend in 'boost mode' before scaling down to normal frequencies, such as when in normal use.

down_differential: After spending sampling_down_factor*sampling_rate micro seconds at maximum frequency on high load, governor samples the load again to calculate an approx target frequency to scale-down-to which should not trigger up_threshold in the next sample. (Triggering up threshold may cause jumping to max frequency again). Max_load_freq is checked against (up_threshold - down_differential) * current frequency. If found to be smaller, CPU is scaled down to a target frequency as described above. Down_differential also act as the factor to prevent aggressive scale down. Higher value of down_differential corresponds to delayed scaling down.

powersave_bias: this parameter takes a value between 0 to 1000. It defines the percentage (times 10) value of the target frequency that will be shaved off of the target. For example, when set to 100 -- 10%, when ondemand governor would have targeted 1000 MHz, it will target 1000 MHz - (10% of 1000 MHz) = 900 MHz instead. This is set to 0 (disabled) by default. When AMD frequency sensitivity powersave bias driver -- drivers/cpufreq/amd_freq_sensitivity.c is loaded, this parameter defines the workload frequency sensitivity threshold in which a lower frequency is chosen instead of ondemand governor's original target. The frequency sensitivity is a hardware reported in a value between 0 to 100% that tells software how the performance of the workload running on a CPU will change when frequency changes.

ignore_nice_load: this parameter takes a value of '0' or '1'. When set to '0' (default), all processes are counted towards the 'cpu utilisation' value. When it's set to '1', the processes that are run with a 'nice' value will not count aka ignored in the overall usage calculation. This is useful if you are running a CPU intensive calculation that you do not care how long it takes to complete as you can 'nice' it and prevent it from taking part in the deciding process of whether to increase your CPU frequency.

freq_for_responsiveness: up threshold considered for sampling load is up_threshold_at_min_freq. Also during the part where CPU is at maximum load frequency, governor need to find the optimal frequency as the next frequency - which should not trigger up_threshold in the next sampling. When such a frequency_next is found to be a) less than freq_for_responsiveness b) will not trigger down_threshold in the next sample, then the optimal frequency is set to freq_for_responsiveness.

Electroactive (EX based) Configuration File
Kernel defaults are used to build a configuration file, based off of elementalx's original config file. The config file is found at /etc/electroactive.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere).

Overclocking
If you want to overclock, then you can set this in the electroactive.conf file found in the /etc folder. If you overclock, the CPU frequency will probably be throttled due to extensive heat, and will act the same as a non-overclocked CPU except with some unpleasant and unnecessary heat. The stock frequencies are fine, unless you want to do some extreme benchmarking or gaming with thermal throttling set to elexcool (flar2, can be set in .conf file) which gives best performance but your device WILL overheat.

fsync
fsync can be disabled if you're looking for the last ounce of performance. If you disable it however there is a slight risk of data loss if your phone shuts off unexpectedly before the filesystems are synced.

Max screen off frequency
The default max screen off frequency is 1190MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. This can be changed manually at /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq

NTFS and exFAT support
This is for anyone who wants to use OTG cable to connect a USB stick or portable hard-drive formatted with Microsoft's NTFS or exFAT filesystems. (Useful for installing and transporting files from your device) You will need Stickmount or a similar app

F2FS support
F2FS support is built into the kernel, however, you will need to flash the F2FS support patch below before installing Electroactive.

Color preset
Some users complain that the Nexus 5 screen has too 'warm' colors, so there are two color presets: stock and slightly cooler. You can edit /etc/electroactive.conf to change the setting on boot.
0 = stock color
1 = slightly cooler color

Sweep2wake (by flar2)
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
/sys/android_touch/sweep2wake

Doubletap2wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. This causes significant battery drain, so you choose at your own choice if you want it enabled or not. You can edit /etc/electroactive.conf to change the setting on boot.
0 = disabled
1 = enabled (bottom of screen only)
2 = enabled (full screen)

Sweep2Sleep
Sweep2Sleep allows you to put the device to sleep by sweeping your finger across the navigation bar area. You can choose different directions to swipe. Unlike Sweep2wake, this does not cause any battery drain. You can edit /etc/electroactive.conf to change the setting on boot.
0 = disabled
1 = sweep right
2 = sweep left
3 = sweep left or right

Backlight dimmer
Backlight dimmer allows you to adjust the LCD screen brightness lower than is possible with stock. You can edit /etc/electroactive.conf to change the setting on boot.
0 = disabled
1 = enabled

USB fast-charge
This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 900ma. This only works on laptops/desktops/any computer but not the phone's charger. You can edit /etc/electroactive.conf to change the setting on boot.

CPU Hotplug
The CPU Hotplug manages the CPU cores based on changes in CPU load, etc. There are 4 options available in Electroactive Kernel.
0 = stock mpdecision
1 = msm_sleeper
2 = intelli_plug

## IntelliPlug Options ##

# full_mode_profile settings (0 to 6) #
This is a very nice feature that sets profiles for the hotplug. The current profiles and their corresponding values are as shown below. Default value is 0.
# 0 for balanced four cores (balanced battery saving and performance)
# 1 for performance four cores (extreme performance)
# 2 for conservative four cores (saves battery)
# 3 for disable (disable hotplug completely)
# 4 for Tri
# 5 for Eco
# 6 for Strict

## Max cpus online (1 to 4) ##
Maximum cpu cores online during use. Default value is 4.

## Min cpus online (1 to 4) ##
The minimum cpu cores online. Default value is 1.

## Max cpus boosted (1 to 4) ##
Maximum number of cpus to go to boost in when the cpu boost threshold is reached. The default value is 2.

## Max cpus online in suspend (1 to 4) ##
Maximum number of online cpus when the device is in suspend. Default value is 1.

## Threshold value (0 to 1000) DO NOT CHANGE##
Do not change yet, currently in development. Default value is 722.

## Hysteresis value (0 to 16) ##
The smaller the number the faster, but may drain battery quicker. I recommend values between 6 and 13. Default value is 8.

ALL OTHER SETTINGS FOUND IN THE .CONF FILE ARE SELF EXPLANATORY.

:: Installation
  1. Von einem anderen Custom Kernel kommend, bitte vorher die aktuelle Rom nochmal dirty drüber flashen (ohne Wipes)
  2. Falls du F2FS nutzt flashe den verlinkten Patch vor dem Kernel
  3. Electroactive Kernel flashen
  4. Reboot

*F2FS users:
THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are so to not create any incompatibilities with roms or other kernels. If you want to use F2FS on your device you must first flash Cl3Kener's F2FS support patch zip file prior to Electroactive Kernel. Also, some things to consider when using F2FS:
Use F2FS in only r/w partitions (/data and /cache).
F2FS in /system does not make any difference and requires selinux to be set to permissive, and Electroactive kernel is enforcing by default, although you can change this in the .config file found in /etc/electroactive.conf, but is still not recommended.



Credits:

@flar2 for awesome kernel, features, ElementalX cpu governor included in my kernel, and his hard work and you will find many of his features in my kernel. Couldn't have done it without him.
@Cl3Kener for his support and his Uberdemand cpu governor, F2FS-EXT4 kernel ramdisk, and more
@neobuddy89 for his support and some awesome features
@showp1984 for support, awesome features, Badass governor and his hard work.

And thanks to all of them for their good spirit and support.
PLEASE DONATE TO ALL OF THEM AND MAKE ME HAPPY
Also consider donating to me if you like this kernel. I need
the financial support for college.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Morphi, black_bottom, razorblade2011 und eine weitere Person
Hab gerade ein Nandroid gemacht und den Kernel geflasht. Bisher nur Gutes gelesen über diesen Kernel. Der Reboot war schon mal super flink. Mal sehen wie der sich mit der Euphoria macht.
 
  • Danke
Reaktionen: Bödi
Was für ein Gamma Profil nutzt der Kernel? Gefällt mir richtig gut.
 
Zum Gamma Profil kann ich so spinnen nix sagen. Schau mal in den Spoiler oben, vielleicht steht da was.

black_bottom schrieb:
@bödi: mit welcher app hast du im im electroactive kernel den governor geändert?
Ich habe Kernel Adiutor genommen. Geht aber bestimmt mit so ziemlich jeder Kernel App.
 
  • Danke
Reaktionen: black_bottom
Ich bin in den letzten Tagen auch mal auf diese App umgestiegen.
Gefällt mir sehr gut:thumbsup:
 
@Bödi
Wie ist bei dir die Akkulaufzeit des Kernels? Er läuft ja out of the box richtig flott mit Euphoria, allerdings geht hier die Leistung auf Kosten des Akkus. Bei dir auch so? Hast du irgendwas optimiert am Kernel?
 
Ja, wenn man ihn so nimmt, wie er kommt dann leidet die Akkulaufzeit etwas. Ich habe den Governor auf "elementalx" geändert, das bringt meiner Meinung nach etwas und schränkt auch nicht die Performance ein. Davon abgesehen setze ich immer die "Read Ahead Buffer"-Größe auf 512, aber das hat glaube ich mit dem Akku wenig zu tun. :winki:
 
  • Danke
Reaktionen: black_bottom und yetixx
.. neugierig ... warum setzt Du die "Read Ahead Buffer"-Größe auf 512 ? merci ;)
 
Dann werden mehr Daten vorgebuffert und theoretisch läuft es dann etwas smoother, weil er nicht mehr so viel "denken" muss. ;) Bei manchem Kernel ist sogar 1024 voreingestellt.
 
  • Danke
Reaktionen: black_bottom und yetixx
Danke für die Tipps. Ich teste jetzt mal deine Einstellungen. Mich interessiert trotzdem noch, welches Gamma Profil der Kernel nutzt. Finde nix, auch nicht im Startpost Spoiler oder Kernel Audiutor. Habe alle bekannten Kernel durch, keiner hatte so ein farbechtes und kontrastreiches Profil wie dieser hier.
 
  • Danke
Reaktionen: Bödi
Neue Version online.... v1.40
 
  • Danke
Reaktionen: yetixx und Bödi
OP aktuell, Download-Link eingefügt.

Und beim Flashen bitte den Hinweis beachten:
Note: Before flashing this build, delete /etc/electroactive.conf and /sdcard/.electroactive.backup to prevent conflicting issues with some added features.
 
  • Danke
Reaktionen: black_bottom, konsumhaus und yetixx
Gesagt getan :D
 
Testen wir mal
 
Update auf 1.45

Electrex schrieb:
New update posted in the OP. Changelogs are in the second post.

Electroactive-N5-1.45

NEW GOVERNOR: Electroactive Governor. Much more battery friendly with much smoother transitions. Uses a unique way to merge the best of Interactive and Ondemand. Includes over 20 governor tunables.
Old governor now called Electrodemand (if you prefer ondemand governors, this is for you).

OP wird morgen aktualisiert. ;)
 
  • Danke
Reaktionen: Sherge69, yetixx, konsumhaus und 2 andere
Wieder ein kleines Update auf 1.47.

Electrex schrieb:
New update posted in the OP. Changelogs are in the second post.

Thermal throttling cooler: No more overheating
ELECTROACTIVE SCRIPT SUPPORT: You can now change the kernel values without rebooting in the config file. Simply change the values you want in the config file (/etc/electroactive.conf) and execute the script file (/sbin/electroactive.sh) to apply them.
Reason not inside init.d: Prevents conflicts with other init.d scripts
To execute the script file:
  1. Install Terminal Emulator from the Play Store if you haven't already and open it.
  2. In the emulator type: "su" and press enter
  3. Type: "cd sbin" and press enter
  4. Type: "sh electroactive.sh" and press enter
  5. The values should now be applied, with no need to reboot

As always, you can also edit the values using the Synapse app.

Download: Androidfilehost
Quelle: XDA.


Bei mir läuft der Kernel zur Zeit mit der aktuellen Euphoria und ich bin mit der Performance sehr zufrieden. Die Akkulaufzeit muss sich erst noch zeigen. Ich habe allerdings das Gefühl, dass der Standard-Governor etwas viel Akku frisst und habe deshalb auf "intelliactive" umgestellt. Außerdem habe ich noch die Read Ahead Buffer Size auf 512 angehoben.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: black_bottom, yetixx und OnkelDan
Stimmt. Sehr gute Performance, die ROM rennt damit extrem flink, aber der Akku macht des Spiel leider nicht mit. Habe bis jetzt jedes Build des Kernels getestet und werde auch dieses probieren.
 
Was bedeutet der Hinweis vom Dev dass man die config ohne booten direkt ändern kann hinsichtlich des Einsatzes von Adiutor? Beißt sich das?

Soweit ich weiss (bin kein großer Linux-Guru werden die Skripte die in /init.d sind beim Booten ausgeführt. Irgendwo muss ja auch das skript oder was auch immer es ist für den Adiutor stehen.

Ihr wisst bei Linux besser Bescheid - kommt sich da was ins Gehege ? Merci.
 
Update auf Version 1.50!

Electrex schrieb:
New update posted in the OP. Changelogs are in the second post.

Electroactive-N5-1.50

Kernel sources updated to android-5.1.1_r0.10 and linux 3.4.107. Many new improvements; Too much to add to this post. One such is the addition of optimized SHA-256/224. Compared to 256-generic, they have an overall average speed improvement of 1.40x. Full details of this commit can be found here. The rest of the changes can be found in the changelog.

OP wird später angepasst ist aktuell. :winki:
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Sherge69, konsumhaus und black_bottom
Mittlerweile gibt es Version 1.56. OP ist wieder aktuell.

Electrex schrieb:
New update posted in the OP. Changelogs are in the second post.

Electroactive-N5-1.56

-Kernel sources updated. Reverted some bad commits. Added GPU implementation to prevent wavelocks and be more responsive and less freezing/lagging, especially in Chrome.
-Updated the ramdisk, now has greater compatibility and better performance on more ROMs.
-Chrome freeze issue being worked on. Some improvements
-Script errors from previous build fixed
-Updated config file and sh scripts, and kernel zip. MUCH more options in the config file, enhanced kernel options
-Ability to change kernel governor in config file.
- Overclocking experimental (may not work)
-More incremental underclocking
-Minimum CPU frequency now down to 96 MHz. Can also be changed in the configuration file. (Working)

NOTE: Not needed, but highly recommended to delete these two files:
-/etc/electroactive.conf
-/sdcard/.electroactive.backup

NOTE 2: CPU frequency underclocking issue gone, but overclocking is being worked on.
 
  • Danke
Reaktionen: black_bottom, konsumhaus und yetixx

Ähnliche Themen

qu4nd
  • qu4nd
2
Antworten
21
Aufrufe
4.808
qu4nd
qu4nd
qu4nd
Antworten
47
Aufrufe
14.274
vivalasven
vivalasven
M
Antworten
2
Aufrufe
2.377
Elting
Elting
Zurück
Oben Unten