[KERNEL][5 Dec] T700/T705 Exynos TW Oloendithas Kernel v1.5 - Galaxy Tab S Original Android Development

Hello.
Here is something I've made for myself, but I think it might be useful for someone else.
Here are some major features list:
Based on T700ANG2
CPU - 1900-250MHz, voltage control
Simple hotplug governor integrated into Interactive governor
GPU - 677-100MHz (default to 480-100), governor control, voltage control
BFQ I/O governor
FIOPS I/O governor (default)
Async fsync, dynamic fsync, dynamic read-ahead, dynamic vfs_cache_preassure
- /proc/sys/vm/[dynamic_dirty_writeback | dirty_expire_centisecs | dirty_writeback_centisecs | dirty_writeback_suspend_centisecs | dirty_writeback_suspend_centisecs]
- /sys/kernel/dyn_fsync/Dyn_fsync_active
New Google's POWERSUSPEND driver
SELinux disabled (still present in ROM)
mDNIe tunning profiles moved to /data partition to make them stick across screen off/on cycles
mDNIe brightness dependency correction mechanism (it's complicated, will be explained later in this post)
Wolfson Audio Control (thanks to AndreiLux and UpInTheAir)
- stereo DRC
- stereo EQ for both headphones and stereo speakers
- controlling EQ frequency bands explained next in this post
Init.d
Frandom random number generator
Haveged - even faster then Frandom
printk and logcat on/off interfaces (/sys/kernel/...)
Alot of debug noise removed
hundreds of performance and battery saving patches
Changelog in 2-nd post
Attention! Kernel has SELinux disabled, so you might have trouble with installed user apps if returning to kernel with SELinux enabled from this one. Thus, as always it's a good idea to make a backup.
Downloads in attachment
Source here
Now the tricky parts
Color correction
If you are not interested in waisting your life fighting for color correction, just skip this part
There are two features regarding mDNIe color correction gonna need explanation:
First one is about profiles themselves. It was explained here, but the difference now is that profiles folder was moved from /sdcard/mdnie to /data/mdnie to make loaded tunning profile stick across screen off/on cycles, so it needs to be loaded only once on boot.
To work, profile need to be copied to /data/mdnie folder and loaded as follows:
echo 1 > /sys/devices/platform/s5p-mipi-dsim.1/lcd/panel/mdnie/tuning
echo "CUSTOM1" > /sys/devices/platform/s5p-mipi-dsim.1/lcd/panel/mdnie/tuning
It's explained in details in aformentioned thread.
The second one is really tricky. It is related to non-linear color distortion. I've seen it on my previous Tab 7.7, now I see it here, so I guess true for all AMOLED screens (or maybe only Samsung's, or even maybe only SuperAMOLED). Anyway, on low brightness levels screen goes really green. It can be seen clearly on grayscale images.
So the "solution" implemented here is another one profile, which gets loaded ontop of the primary one. Assuming that the primary profile is made for maximum brightness condition, when colors are most correct, this "secondary" profile contains not actual, but shift values, the corrections, need to be applied to primary profile in lowest brightness conditions.
Example:
Suppose you have a value 0x05(5) in line 151 (red in black) of your primary profile, and you figured out that for lowest brightness you need to set that value to 0x14(20) to keep the tint visually same or close to the one in highest brightness condition. So now you just need to substract base value from corrected value and you'll get the shift:
0x14(20) - 0x05(5) = 0x0F(15)
So the value 0x0F is the one you need to have at line 150 in your secondary profile. And when you'll have the implemented algorithm can calculate corrected color values for all brightness levels in between.
Now make deep breath and please be patient a couple of minutes more. Since that mDNIe thing only supports a positive values in profiles, when it comes to addition correction value to the base value you can't just set something like -0x0F or 1x0F. So I've had to use another dirty trick.
Thus, shift values from 1 to 127 are added to base value, like in example above -- base 0x05 + shift 0x0F = corrected value 0x14.
While shift values from 128 to 255 are lowered by 127 and then substracted from the base value like this -- base 0xFD - (shift 0x8A - 0x7F(127)) = 0xF2 corrected value for lowest brightness condition.
I'll attach my personal profiles to help you understand all this better. TUNNING is for primary profile, CORRECTION is for secondary.
Script to load them on boot:
Code:
sleep 40;
echo 1 > /sys/devices/platform/s5p-mipi-dsim.1/lcd/panel/mdnie/tuning
echo "TUNING" > /sys/devices/platform/s5p-mipi-dsim.1/lcd/panel/mdnie/tuning
sleep 5;
echo "CORRECTION" > /sys/devices/platform/s5p-mipi-dsim.1/lcd/panel/mdnie/tuning_correction
PS: you can use Windows(c) calculator for hexadecimal calculations, just switch it to "Programmer" mode - Alt+3.
Parametric equalizer settings
For people not aware of what parametric equalizer is, here is a plain explanation:
It's like any regular graphic equalizer you can see in any consumer audio player or application with a difference that in regular graphic equalizer you have predefined bands like 100Hz - 400Hz - 1kHz - 6kHz - 14kHz, while for parametric equalizer you can set those bands manually.
Default values here are might be alright for external speakers, but not quite useful for a headphones.
Now, to the point.
We have a folder /sys/devices/virtual/misc/wolfson_control/ with the following EQ-related attributes:
Code:
/sys/devices/virtual/misc/wolfson_control/switch_eq_headphone
/sys/devices/virtual/misc/wolfson_control/eq_hp_freqs
/sys/devices/virtual/misc/wolfson_control/eq_hp_gain_1
/sys/devices/virtual/misc/wolfson_control/eq_hp_gain_2
/sys/devices/virtual/misc/wolfson_control/eq_hp_gain_3
/sys/devices/virtual/misc/wolfson_control/eq_hp_gain_4
/sys/devices/virtual/misc/wolfson_control/eq_hp_gain_5
Code:
/sys/devices/virtual/misc/wolfson_control/switch_eq_speaker
/sys/devices/virtual/misc/wolfson_control/eq_sp_freqs
/sys/devices/virtual/misc/wolfson_control/eq_sp_gain_1
/sys/devices/virtual/misc/wolfson_control/eq_sp_gain_2
/sys/devices/virtual/misc/wolfson_control/eq_sp_gain_3
/sys/devices/virtual/misc/wolfson_control/eq_sp_gain_4
/sys/devices/virtual/misc/wolfson_control/eq_sp_gain_5
And while it's all pretty simple with switch_eq_headphone and switch_eq_speaker, you just set 1 to on, 0 to off, so as for eq_[hp/sp]_gain_[1-5] you can set values from -12 to 12 dB.
But eq_[hp/sp]_freqs attribs are showing us some weird hex values.
So the bad news is we don't have the algorithm to generate custom values for this. The official documentation states "use WISCE software to get..." those magic values. So be brave, it's not that terrifying as you might imagine.
First you have to download that WISCE software, thankfully it's free:
http://www.wolfsonmicro.com/products/software-licence-agreement/?dl=WISCESetup.zip
http://www.wolfsonmicro.com/products/software-licence-agreement/?did=5273
Install them both.
Than start it from WM5102 shortcut.
There you'll see an "Add new system" dialog (do as on screenshots):
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the opened window from the tree on left select Tuning->EQ1 (or any of four EQs)
There you'll see an equalizer window
You can setup bands as you prefer
Now select "Registers" from tree on left and scroll right pane till Address RE12h.
There you'll see the values we are looking for:
You need to wright them down and you are ready load them to tablet:
Code:
echo "0x0fc6 0x03ff 0x00e8 0x1ed9 0xf11a 0x040a 0x045d 0x1e60 0xf150 0x040a 0x64cc 0x0b46 0xfed3 0x040a 0x3ab5 0xfc8f 0x0400 0x323c" > /sys/devices/virtual/misc/wolfson_control/eq_hp_freqs
.
That's pretty much it.
I'll attach a script for speaker to make them sound more bassy and sample for headphones with settings from tutorial above.
For speakers
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/misc/wolfson_control/switch_eq_speaker
echo 6 > /sys/devices/virtual/misc/wolfson_control/eq_sp_gain_1
echo 10 > /sys/devices/virtual/misc/wolfson_control/eq_sp_gain_2
echo -2 > /sys/devices/virtual/misc/wolfson_control/eq_sp_gain_3
echo -1 > /sys/devices/virtual/misc/wolfson_control/eq_sp_gain_4
echo -2 > /sys/devices/virtual/misc/wolfson_control/eq_sp_gain_5
For headphones
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/misc/wolfson_control/switch_eq_headphone
echo "0x0fc6 0x03ff 0x00e8 0x1ed9 0xf11a 0x040a 0x045d 0x1e60 0xf150 0x040a 0x64cc 0x0b46 0xfed3 0x040a 0x3ab5 0xfc8f 0x0400 0x323c" > /sys/devices/virtual/misc/wolfson_control/eq_hp_freqs
echo 5 > /sys/devices/virtual/misc/wolfson_control/eq_hp_gain_1
echo 3 > /sys/devices/virtual/misc/wolfson_control/eq_hp_gain_2
echo 0 > /sys/devices/virtual/misc/wolfson_control/eq_hp_gain_3
echo 1 > /sys/devices/virtual/misc/wolfson_control/eq_hp_gain_4
echo 3 > /sys/devices/virtual/misc/wolfson_control/eq_hp_gain_5
That's pretty much it for now.
Special thanks to
Faux123
Yank555
Halaszk

Changelog
1.5
- Updated to Samsung's ANJ5 source drop
- Stability fix
1.4
- Stability and performance improvements
1.3
- Stability and performance improvements
1.2
- Hotplug integrated into Interactive governor
- Interactive governor performance optimizations
- Stability fixes
1.1
- Disabled Intelli-Plug (luggy and unstable)
- Latest Interactive governor source from Google
- Interactive governor short circuits to optimize for IKCS cluster
- Simple hotplug governor
1.0
- Initial release
Click to expand...
Click to collapse

Tried this kernel last night, am running twrp which could be the reason, but installed fine but the OS wouldn't hold long enough to get a catlog as to why crashing.
As I say could well be twrp issue as the download says cwm... Nice to see some fresh deving in the thread though. Need to get my nose into the xda university pages
Edit: Am running Super Samsung V2, Not that TW is that super!

chrispgibbs81 said:
Tried this kernel last night, am running twrp which could be the reason, but installed fine but the OS wouldn't hold long enough to get a catlog as to why crashing.
As I say could well be twrp issue as the download says cwm... Nice to see some fresh deving in the thread though. Need to get my nose into the xda university pages
Edit: Am running Super Samsung V2, Not that TW is that super!
Click to expand...
Click to collapse
Can you please describe, how did that crash looked like?
And also have you tried to clear the dalvik-cache?

heyjoe66 said:
Can you please describe, how did that crash looked like?
And also have you tried to clear the dalvik-cache?
Click to expand...
Click to collapse
I installed it but had a screen lock issue (would not unlock-simple swipe unlock) (phone had been charging for some time with screen off). After some pressing home and power buttons, it rebooted (have taken it off for now..was using the Synapse kernel earlier..no mods or anything in kernel was being used either on Synapse or your kernel) thanks will use in future (using the Devious SuperSamsung v2 ROM on T705 LTE, rooted and flashed through twrp 2.8.0.1...did I need to do any dalvik and/or cache wipe after installation before rebooting?)

(resolved)

heyjoe66 said:
Can you please describe, how did that crash looked like?
And also have you tried to clear the dalvik-cache?
Click to expand...
Click to collapse
Hi, yes I always wipe dalvik/cache as a matter of habit...
I was experiencing crash almost as soon as android booted up, I barely had time to open the app drawer, then device just died and reboot... When I think it could be a trickster MOD conflict? I have that apply settings on boot! Will do a full backup tonight and remove to check... If that doesn't help I shall try those packages to see if they make any differences.
Cheers

Thanks! will try them
Sent from my SM-T705 using XDA Free mobile app

Have reinstaled the original file with Trickster uninstalled and all appears to be running smoothly, will try to reinstall Trickster and see how I go with that. Hopefully it was just a setting conflict...
Good work
Edit: Seemingly there was a setting conflict in trickster from stock kernel to yours which caused the system to choke! All running smooth as a touch wiz system can be expected to run... roll on AOSP rollout for this device, as I said earlier in a post, need to get the xda university pages out to try to get my own head around such a feat!
Again, nice work heyJoe66!

So for the mentally codely challenged, can we just flash each zip you have one by oneand should be awesome? Lol. And will this work for the Cyanogenmod port?

TehJorge said:
So for the mentally codely challenged, can we just flash each zip you have one by oneand should be awesome? Lol. And will this work for the Cyanogenmod port?
Click to expand...
Click to collapse
It's not necessary, if build from the first post works for you. If it's not, feel free to try, but please make a backup.
I'm pretty sure that TW kernels don't work with CM.

Thanks..it was the dalvik+cache wipe....runs well. One question..do not know if this requires kernel work but was wondering if the task manager hard key could be remapped to a menu key instead. Asked this on general forum as have seen this done for like camera and power button. Thanks (anyone)

mac231us said:
Thanks..it was the dalvik+cache wipe....runs well. One question..do not know if this requires kernel work but was wondering if the task manager hard key could be remapped to a menu key instead. Asked this on general forum as have seen this done for like camera and power button. Thanks (anyone)
Click to expand...
Click to collapse
Indeed, remaping it through /system/usr/keylayout/gpio-keys.kl file is magically useless, but if you're using Xposed Framework, there is a nice little extension called Xposed Additions, with which you can easily accomplish what you're looking for.

remapped app switcher to menu
heyjoe66 said:
Indeed, remaping it through /system/usr/keylayout/gpio-keys.kl file is magically useless, but if you're using Xposed Framework, there is a nice little extension called Xposed Additions, with which you can easily accomplish what you're looking for.
Click to expand...
Click to collapse
Well I did it...remapped
Key 254 is the app switcher...reassigned to menu and wake
commented out the original
dusted off some from n7000 days (forgotten it)
won't let me attach the .kl files but anyway
in generic.kl
# samsung
#key 254 APP_SWITCH
key 254 MENU WAKE
in gpio-keys.kl
just added
key 254 MENU WAKE
not sure if both needed that statement
now I am happier (gg)
Note..the xposed mod needed the codes anyway so I went into the system keylayout files and thought well I can just do it here

mac231us said:
Well I did it...remapped
Key 254 is the app switcher...reassigned to menu and wake
commented out the original
dusted off some from n7000 days (forgotten it)
won't let me attach the .kl files but anyway
in generic.kl
# samsung
#key 254 APP_SWITCH
key 254 MENU WAKE
in gpio-keys.kl
just added
key 254 MENU WAKE
not sure if both needed that statement
now I am happier (gg)
Note..the xposed mod needed the codes anyway so I went into the system keylayout files and thought well I can just do it here
Click to expand...
Click to collapse
Ha! So generic.kl still does something. When I was playing with HOME button remaping, I was doing it in gpio-keys.kl, so as people over web think that gpio-keys.kl does the actual mappings.
Anyway, good to know that you have what was looking for.

Hello!
I wonder if you can include the kexec-hardboot patch into your kernel?
That would be great if you could do it.

svardman said:
Hello!
I wonder if you can include the kexec-hardboot patch into your kernel?
That would be great if you could do it.
Click to expand...
Click to collapse
No problem, but gonna have to test recent changes for stability. After that will try to add this one.

I know this says its for t705 but will it work on a t700? Are the kernels compatible?

svardman said:
Hello!
I wonder if you can include the kexec-hardboot patch into your kernel?
That would be great if you could do it.
Click to expand...
Click to collapse
I've investigated this topic deeper and it couldn't find a patch for Exsynos.
So, alas, I guess I can't add it for now. Sorry.

NerdFurgison said:
I know this says its for t705 but will it work on a t700? Are the kernels compatible?
Click to expand...
Click to collapse
I can try to build it for T700, but I have no any chance to test it, so if you can try this and say if it's working, I would much appreciate that.

Related

[APP] [9/7] Proton Voltage Control v1.3 | Easy UV for Netarchy and Matr1x Kernels

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Version 1.3 [Released 9/7/11]​
Proton Voltage Control is an easy to use app that allows you to set custom voltages for Nexus S phones running a supported version of Netarchy and Matr1x kernels (1.3.0.6 for Netarchy and 4.0 for Matr1x and up) This means you no longer have to muck around with command line codes and scripts, just one easy to use app!
I am a busy highschool student, with no solid income. If you like my app, please consider a donation
Click to expand...
Click to collapse
Downloads
Update 16/9/11: Due to requests, I have built 1.3 again but with a different release key. Please UNINSTALL any old version before installing!
Version 1.3 ProtonVoltageControl-130.zip
Emergency Restore: proton_emergency_boot.zip
Usage
Enter in your new voltages in the 8 text boxes, or use one of the 3 buttons at the top to give you a base to try.
Hit Apply to set temporarily, and see how the voltages perform. If you reboot at this stage, the new voltages will be lost
If these new voltages work well on your phone, enter them in again and this time check 'Save on Boot' then hit Apply. These voltages should be applied upon startup every time now
Easy!
- It is easier to press one of the 3 voltages buttons to give you a base to work on
- The suggested voltages is mostly -20mV on all frequencies (from stock voltages) except for 1.4ghz and 1.3ghz which have been raised ever so slightly
- 'Save on Boot' creates an init.d script called proton_voltage_control with your entered values, so don't be alarmed if you see an extra init.d script
- Press Menu and Emergency Boot Zip to download a flashable update.zip to remove any 'Save on Boot' files in case you can't boot up due to setting the voltages too low. Boot into Recovery and flash like any other update.zip
Enjoy! Please ask if you have any questions, I will try to help with them. Standard disclaimer applies, I claim no responsibility for anything that goes wrong with your phone due to misuse of this app.
Also on the Market! https://market.android.com/details?id=com.jonathongrigg.proton.voltagecontrol
Proton Voltage Control is fully open sourced
Source is available at my Github, https://github.com/jonathongrigg/ProtonVoltageControl
Credits
Jonathon Grigg
Spiicytuna [New UI overhaul]
Xan [Original Galaxy S app which gave me inspiration to write my own from scratch for the Nexus S]
'Serge' (from MarketEnabler I believe) [ShellInterface code]
Donators
Tord Persson
Should work on all Nexus S models (including the 4G)
Sent from my Nexus S
Can I request custom settings save profile? In case something doesn't work you might want to go back to a profile and change things around.
Using it, and loving it so far
Sent from my Nexus S using XDA App
Good App. I will buy Pro Version if you publish one in the market.
Sent from my Nexus S using XDA Premium App
Had been using script manager with custom scripts to get settings loaded on boot, but have deleted them to use this
Really like the app, can't wait for UI improvements (even though it is fully working now).
Get this thing on the Market with a pro version!
Edit: Jonathon, maybe you could go in depth a tad more on usage , just for the moment because people new to UV may be confused what it does and how it works exactly
thanks dude, it's awesome! I've been waiting for an app like this to UV netarchy's kernels!
i'm running CM 7.0.3 with netarchy's 1.3.2, just did a -50mV across all frequencies and it has been working very well.
Please forgive my ignorance... but what exactly can be obtained by altering voltages??
Better battery life etc?
Thanks for the UI for UV'ing! It makes life so much more easier than typing on terminal.
One concern though, my settings are not saving on reboot. I'm running SuperAOSP 8.0 with Netarchy 1.3.0.12 CFS 2.3.4 Universal and after entering my desired values and checking Save on Boot, upon restart the app reads back the default voltages again (1450 etc...).
The program does state that it saves it to init.d but other than that it doesn't save it. Am I doing something wrong or am I supposed to re-enter values everytime i make changes to my phone that requres a reboot, which is a lot considering i try out a lot of the ROMs out there often.
Dario777 said:
Please forgive my ignorance... but what exactly can be obtained by altering voltages??
Better battery life etc?
Click to expand...
Click to collapse
Better battery life and lower temperatures.
Sent from my Nexus S using XDA Premium App
jello24 said:
Thanks for the UI for UV'ing! It makes life so much more easier than typing on terminal.
One concern though, my settings are not saving on reboot. I'm running SuperAOSP 8.0 with Netarchy 1.3.0.12 CFS 2.3.4 Universal and after entering my desired values and checking Save on Boot, upon restart the app reads back the default voltages again (1450 etc...).
The program does state that it saves it to init.d but other than that it doesn't save it. Am I doing something wrong or am I supposed to re-enter values everytime i make changes to my phone that requres a reboot, which is a lot considering i try out a lot of the ROMs out there often.
Click to expand...
Click to collapse
Do you have super user set up properly? Clear permissions from the app and try again
Sent from my Nexus S using XDA App
Thanks for this. Great app, makes it very easy.
Sent from my Nexus S running NSCollab, Cyanbread Theme and OC'd to 1.2ghz (Perfection)
Great app! Definitely saves time when tinkering with the voltages.. Thanks!
Has anyone tried this with default kernel from superaosp 8.2? It looks very similar to netarchy....
Also any recommendations for voltage levels?
Sent from my X10i TripNMiUI-IRIS using XDA App
can you add support for trinity kernels?
shubu000 said:
Has anyone tried this with default kernel from superaosp 8.2? It looks very similar to netarchy....
Also any recommendations for voltage levels?
Sent from my X10i TripNMiUI-IRIS using XDA App
Click to expand...
Click to collapse
Voltage levels will depend on individual phones, some will go lower while others would bootloop so low (good idea to not use set on boot to start with until you've tested it for a bit). There is a suggested voltages button in the app which is -25mV across all 8 frequencies as a starting point. Most phones should be able to handle this, but there are a few exceptions.
Sent from my Nexus S
The only two reasons why you would want to decrease or under volt (UV) set your frequencies is to save battery and extend your processor life expectancy.
The only reason to to increase or over volt (OV) your frequencies is to get a higher clock speed on your processor. Some phones will not handle the default setting and need extra voltage for transistors to get a better and cleaner signal.
This is very much the same principle as in any desktop PC. You increase voltage to be able to overclock but if you have a good quality fabrication, ie later production processor or maybe manufactured in a different fabrication facility you might be able to get away with less voltage which in effect lowers your battery usage. You could also achieve the same by better cooling, but unless you expect to keep ice on your phone, this doesn't really make sense.
To dig deeper into the matter, as far as I understand, when higher clock speeds are requested of a processor, transistors give away more heat. This in turn will also swell them up and they will start to short from one to another and/or loose current flowing through them. Another effect is the slowing down of the transistor gate on/off. All these conditions may trigger an error and in some cases a major freeze of the processor.
There... a quick explanation to have this app available.
BTW, we should also thank Netarchy for making such settings available in his kernel. Cheers
jello24 said:
Thanks for the UI for UV'ing! It makes life so much more easier than typing on terminal.
One concern though, my settings are not saving on reboot. I'm running SuperAOSP 8.0 with Netarchy 1.3.0.12 CFS 2.3.4 Universal and after entering my desired values and checking Save on Boot, upon restart the app reads back the default voltages again (1450 etc...).
The program does state that it saves it to init.d but other than that it doesn't save it. Am I doing something wrong or am I supposed to re-enter values everytime i make changes to my phone that requres a reboot, which is a lot considering i try out a lot of the ROMs out there often.
Click to expand...
Click to collapse
bringonblink said:
Do you have super user set up properly? Clear permissions from the app and try again
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
yeah SU was set up to allow the UI to work, but I cleared that permission and ran the program again allowing it to go but it still won't save on boot. Existing voltages always show the default, instead of my desired settings.
I even tried it where i'd have to keep clicking allow on SU to get it running but it still won't save.
any other suggestions?
jello24 said:
yeah SU was set up to allow the UI to work, but I cleared that permission and ran the program again allowing it to go but it still won't save on boot. Existing voltages always show the default, instead of my desired settings.
I even tried it where i'd have to keep clicking allow on SU to get it running but it still won't save.
any other suggestions?
Click to expand...
Click to collapse
Can you try the 'cat' command to list the voltages in Netarchys thread and see if its the same as the existing voltages shown in Proton.
Sent from my Nexus S
jello24 said:
Thanks for the UI for UV'ing! It makes life so much more easier than typing on terminal.
One concern though, my settings are not saving on reboot. I'm running SuperAOSP 8.0 with Netarchy 1.3.0.12 CFS 2.3.4 Universal and after entering my desired values and checking Save on Boot, upon restart the app reads back the default voltages again (1450 etc...).
The program does state that it saves it to init.d but other than that it doesn't save it. Am I doing something wrong or am I supposed to re-enter values everytime i make changes to my phone that requres a reboot, which is a lot considering i try out a lot of the ROMs out there often.
Click to expand...
Click to collapse
I think I might know what your problem is. You have to hit apply after you select set on boot, otherwise it won't save the changes.
I didn't realise this the first time either!!!

Voltage Control - control OC/UV for OC kernels.

I take no responsibility for ANY damage / data loss may occur. Use this at your own risk. Beta quality software!/Alpha quality features!
The news:
Completely rewritten whole app! Epic 4G FCs gone thanks to theimpaler747
Voltage Control Extreme unlock Key on Android Market!
For now features exclusive to Extreme version are:
+ overvolting capability (max +50mV, 1500mV absolute maximum)
+ increased uv range (max -250mV)
Click to expand...
Click to collapse
Sources available, project on google code:
http://code.google.com/p/voltage-control/
Look for kernels with this label:
Kernel developers who added VC support please show this image in your topic
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Uploaded with ImageShack.us
Features:
- minimum/maximum CPU frequency choosing
- selecting IO scheduler
- selecting CPU governor
- changing voltage per frequency
- chosing which frequencies should be used and which shouldnt
- saving settings to be automatically applied at boot (init.d script)
- saving/loading a OC profile
- well designed and highly optimised UI (I hope..)
- robust kernel detection, support of not-so-well-working kernels
About donations:
This software is available free of charge.
It cooperates with OC kernel by raspdeep.
It uses some code from: MarketEnabler (Fool your market to make all apps visible!)
If you find this software useful, please consider funding a beer and pizza. There is a "Donate to me" link just over my avatar.
Donator list:
nitr8
kalpik
laststufo
glitterballs
screwyluie
Gembol
Coreym
Thanks!
How to?
Generally idea is simple: make changes to one tab and hit apply. If any changes have been made apply/discard buttons appear on bottom.
The first tab, "General" allows to change Scheduler,Governor/min and max frequencies.
Make changes and click apply
So, you want to pick a maximum/minimum frequency?
Just chose from slider and hit apply.
Governor/scheduler can be choosen by picking from the list, then hitting apply.
You can always discard changes before applying if you want start from loaded settings.
The "Advanced" tab has sliders to control undervolting settings and green/red icons, representing enabled/disabled state.
(green = enabled, red = disabled)
Pick your settings and hit apply, or discard and start over.
Profile support:
If you want to save as boot or as profile, you need to make adjustments and on "General" or "Advanced" tab and then apply them where applicable.
To save as boot -> press menu key, then select "Save as boot settings".
To save as profile -> press menu key, then select "Save profile".
Boot settings are automatically loaded on every device boot.
Profile settings can be loaded by pressing menu -> "Load profile"
Both "boot" and "profile" settings can be deleted from menu.
RECOVERY
If Your device freezes after boot because of too agressive boot settings:
Flash Voltage Scheduler Remover by user Coreym, via CWM. Don't forget to press thanks under one of his posts!
FAQ:
Q: Extreme version?
Yes, I wanted to give some extras for people that support my work.
For now features exclusive to Extreme version are:
+ overvolting capability (max +50mV, 1500mV absolute maximum)
+ increased uv range (max -250mV)
Q: What is it?
Its voltage control app for undervolt and overclocking kernels providing sysfs interface, designed and implemented by raspdeep (thank You!) It is being tested on his kernel releases and I can guarantee (kind of) its functionality on those kernels.
The idea of the app is to keep all simple as possible, not adding any startup services and reusing existing solutions (such as init.d support).
Q: What does it mean to undevolt, and what is overclocking?
Read more in "OC / UV 101" section That is a detailed(sort of) explanation what UV/OC means.
Check this great overclocking/undervolting guide by shaolin95 (thanks!) and discussion topic!
Prerequisites:
-root (superuser + su)
-busybox
-OC kernel supporting either UVLF and UVHF (Version 1.61) or UV_mV_table (1.97 and up)
-init.d scripts support for apply on boot
xan said:
Hi I've seen some reports on market that new version is broken on Epic4g. Anybody knows whats goin on?
Logcat output welcome.
Click to expand...
Click to collapse
First!!!
I tried it with the Bonsai Rom a couple of days ago and it worked for me. I purchased the extreme and I undervolted straight across the board 250mv and I have no problems so far. I think it all depended if the kernel on the phone is compatible or not.
xan said:
Hi I've seen some reports on market that new version is broken on Epic4g. Anybody knows whats goin on?
Logcat output welcome.
Click to expand...
Click to collapse
It made me smile when I saw that you posted. Taking a personal interest and such.
I think you might be getting reports from Syndicate people. Syndicate's Twilight kernel didn't implement sysfs very well. Voltage Control will recognize it but changes can't be made and some clocks aren't read correctly. PimpMyCPU won't read it all.
Genocide kernel, Vision kernel, and Bonsai's kernels all work flawlessly.
Thanks
This rewrite costed me *a lot* of work seeing 1 star ratings on market makes me sad ;p
I'm using twilight kernel without any problems but I'm no longer on SFR anymore.
Sent from my SPH-D700 using Tapatalk
xan said:
Thanks
This rewrite costed me *a lot* of work seeing 1 star ratings on market makes me sad ;p
Click to expand...
Click to collapse
Yeah, that's not right. My Epic doesn't play nice with Voltage Control but I know better than to rate the app bad. These Epics each have a mind of their own. Some like undervolting, some dont. Some like certain ROMs better. I can run 1400 all day but no undervolting for me
Sent from my SPH-D700 using XDA Premium App
FCS on some kernels fixed ;p
Thanks going to theimpaler747, for detailed bug report and testing
I have found multiple issues with the Twilight kernel, I love the rom, just Genocide has been a lot more stable AND I never had any issues with Voltage Control. I was wondering if you might incorporate multiple profiles like SetCPU? I had to start looking for a different program when it would constantly lock my phone when trying to use them and then I found Voltage Control, and after the rewrite it just makes it that much easier to use.
This might be good, true.
Multiple profiles seem doable...
xan said:
FCS on some kernels fixed ;p
Thanks going to theimpaler747, for detailed bug report and testing
Click to expand...
Click to collapse
Happy to have helped out for a great app!
hey all, im running SFR 1.1.1 with its stock twilight kernel.
i use to run genocide, but i think i messed up with the UV features and i started getting a lot of lockups. right now i just run setcpu with 1300/400 and i seem to be ok.
i think i bought the WRONG voltage control app also. i bought voltage control extreme by sulph8.
i would love to get back to 1400/400, but im really unsure what the best course of action is. are there default voltage settings in this app? initially, i'd like to run 1400/400 with all the standard voltage settings to see if my phone acts normally again.
Well, Voltage Control by nitr8 is a unlock key for 'mine' voltage control. For now all money goes to him, he promised to send it to me.
To revert to stock settings -> Chose delete boot settings and reboot.
Viola, you have booted on stock settings!
Then set desired frequency limits and you are done
so i should set my setcpu back to 1000, remove setcpu, flash genocide kernel, install your voltage control and start from there?
Sounds ok
what should i set my governers to?
Well, depends on your experience with kernel, generally:
For battery saving try conservative.
For reasonable performance try interactive/ondemand or smartass.
Some kernels have bad implementation of some governors, which can make them unstable, so you need to test, test, test and observe
From my experience smartass (where implemented) is very smooth.
Stock Samsung Gingerbread kernels came with ondemand (not entirely sure)
Stock Froyo/Eclair was conservative.
useport80 said:
so i should set my setcpu back to 1000, remove setcpu, flash genocide kernel, install your voltage control and start from there?
Click to expand...
Click to collapse
Well, I just flashed it again on Genocide. I am running 1400/200 on demand. I am going to check CPU Spy to see if it performs similar to SetCPU. Curious if on demand still drops below 200 if its set as my minimum like Set did
Sent from my SPH-D700 using XDA Premium App
Voltage Control doesnt use any "hacks" for setting frequencies, it just works with standard implemented sysfs.
The governor is responsible for respecting max/min frequency, its kernel implementation that should keep CPU running within desired freqs.
Can the UI include a CPU temp and aninfo page?
Sent from my armed and operational battle station.
SGS's only thermal monitor is refferred as "battery"...
Info page is somewhat coming, but I have to be sure what and how to put there.

[krn.modules] smartassV2 governor for Galaxy S3 stock Kernel

I've FINALLY managed to compile smartassV2 module for SGS3's stock kernel.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The trouble is that the stock kernel does not accept modules...
Every attempt I made ended up with an error about the version of module_layout. I even wrote to Samsung asking for clarification, but I have no reply yet (after about 24 hours).
I will write a post on my blog describing all the investigations; I had to go the hard way and patch /dev/kmem to skip the validation. I've created a small executable which does this.
The good part about it ? It is already included in the .tar.gz below and once executed, it allows any modules to be installed on stock!
I am almost sure that Samsung did not provide the up to date .config file (I am using the Update 1 .tar file) since I had to disable flags in .config to get rid of "unknown symbol" errors. And another proof, the validation errors related to the version of the module_layout symbol.
Thus, the install procedure is a one step longer, patchs3k needs to be executed once, and then any module can be inserted.
Installation procedure:
a) mount your /system in RW mode.
b) create folder /system/xbin/lib
c) copy the contents of the archive to that folder.
d) execute the provided load_smartassV2.sh script (which already does all the steps: calls patchs3k, inserts the module and sets it as current governor).
That's it!
Observations:
a) only for stock kernel.
a1) repeat after me: I will not attempt to run patchs3k if I already flashed a different kernel!
b) load_smartassV2.sh script is made so it is also runnable by Script Manager at boot as super user using the paths in the Install procedure.
c) if you have another way of loading things, you need to figure out how to execute the patchs3k file before inserting the module - I found that the easiest is with the method above.
d) smartassV2 supports lots of configuration options. The only think I made default is the ramp up increment, which is in 500MHz so you don't have to wait forever until the phone gets to max speed. The ramp down I left it at 100MHz increments. All these are configurable and you can echo values in the files found in the list below.
A brief description of each field (but with different values since back then I did it for Sony X10) is found in the Settings part of this post: http://forum.xda-developers.com/showthread.php?t=1212012
Code:
[[email protected]]/sys/devices/system/cpu/cpufreq/smartassV2# ls -1
awake_ideal_freq
debug_mask
down_rate_us
max_cpu_load
min_cpu_load
ramp_down_step
ramp_up_step
sample_rate_jiffies
sleep_ideal_freq
sleep_wakeup_freq
up_rate_us
Download:
Update: download disabled until hotplug issues will be fixed! Please check 4th post below, thanks AndreiLux!
Use it at your own risk!
cpufreq_smartass2_sg3_1.0.tar.gz
Enjoy!
Im really interested in the part regarding the patch to use any module without validation...
Waiting for kernel patch
Sent from my Desire HD using Tapatalk 2
The patchs3k is already bundled in the .tar.gz file above - is this what you meant ?
There's absolutely no point in having smartass on this device, especially on a stock kernel since there is no remaining hotplug logic on it to be used, if that would be even possible. It has major detrimental effects on battery life.
However, we would be interested in what you are doing inside of patchs3k to make it load the module properly and to see if we can use any of that to load Samsung's exFat driver module on custom kernels. Sources please?
viulian said:
The patchs3k is already bundled in the .tar.gz file above - is this what you meant ?
Click to expand...
Click to collapse
AndreiLux said:
There's absolutely no point in having smartass on this device, especially on a stock kernel since there is no remaining hotplug logic on it to be used, if that would be even possible. It has major detrimental effects on battery life.
However, we would be interested in what you are doing inside of patchs3k to make it load the module properly and to see if we can use any of that to load Samsung's exFat driver module on custom kernels. Sources please?
Click to expand...
Click to collapse
That's what i mean
Sources for patchs3k please
Sent from my Desire HD using Tapatalk 2
About the sources - I will create the article these days but I believe it doesn't matter; if you already have control over the custom kernel then you can just make it accept everything and see how things behave.
The trouble with what exFat (which I could also investigate if I have time) is that the CRC checks are thorough and if ANY of the structs used by exFat are different that what the kernel is build with, then there could be big issues with corruption of data and so on. Only Samsung (or sheer luck) could solve this issue. But I did not investigate so these are just assumptions..
@AndreiLux
Then it means I was extremely tired thanks for the explanations with hotplug. I have disabled the download so people won't take it without reading below.
One other thing, the kernel (3.0) like all other kernels has the posibility to create high priority work queues - alloc_workqueue with WQ_HIGHPRI as flag. It means that the work queue that rises the frequency should have higher priority so you don't notice any lag for example.
What I don't like about pegasusq is that it doesn't appear to create high priority work queues. I did not study carefully, but a quick search on the cpufreq_pegasusq.c doesn't show the high priority flag. Maybe the phone one has it ?
They also keep a history of the CPU usage (probably used with hotplugging also).
So I believe the two factors above might contribute to the lag I notice when waking up the phone.
I did notice this weird fact with the cores of the CPU not turning on or off with smartass2 - or remain in the state that pegasusq left them. I was checking test results and it appear to behave normally and have all 4 cores ON during stress test. It was late in the night and I did not check that they are not also shut down.
Maybe I should work on a smartass3 since I can add hotplug logic to smartass - but it is tedious you have to use locks and so on - and I don't have much time.
I think I have more success here with just building ROMs and not digging deep since you just take what everybody does and put a small thanks in a corner then you get all the Thanks and donations.
viulian said:
So I believe the two factors above might contribute to the lag I notice when waking up the phone.
Click to expand...
Click to collapse
The wake up lag is irrelevant to priorities or anything, it's caused by a) if you are referring to the wake up delay then it is because of the kernel is waiting for the modem to wake up which takes an eternity. b) if you are referring to unresponsiveness at the lockscreen, it was due to something in the Wifi drivers.
@AndreiLux Ok cool the modem interaction worths an additional look then!
BUT I have good news!
cpufreq_smartass2.c will be able to have hotplugging! I did a test module that activates cores and shuts them down and there it works.
In few days I will release the smartass2 with hotplug support for stock kernel.
One thing I saw, the pegasusq does NOT have a high priority work queue to bring the frequency up meaning that other work queues could interfere and actually introduce delays. It also has a complex logic to decide when to bring another core back online and it brings them back one by one.
I would like to have feedback from the community on what should be the bringing up / down behavior for each core for the new smartass2 governor.
I am tempted that upon waking up, to actually bring back all 4 cores at once. It is easier for me, FASTER to be executed (instead of going through heaps of samples to decide if one more core is needed) and is also on the same track with the initial smartass concept, FAST AND QUICK or go slow.
The delicate thing is how to handle shutting down cores. I can make it go back to 1 core and if loaded then bring back all again.
What do you guys think ?
I like this new way in customizing phones design by the community, not by what the rom cooker / kernel builder decides and that's it.
I find it fine and dandy, but the most critical point is why you would want to port such a feature to smartass when you already have pegasus with much more optimal frequency scaling. Also the frequency of which the cores are being hotplugged is incredibly high with runqueue sample rate/times of 50 milliseconds and time of bringing up the cores of only a couple of microseconds, all several orders of magnitudes below usual frequency scaling latencies. We've ported it to the S2 with magnificent results and ditched interactive based governors a long time ago, there is no benefit to it. Exynos is relying on aggressive and optimal DVFS scaling for power efficiency and interactive governors do not suit that too well.
It means that the work queue that rises the frequency should have higher priority so you don't notice any lag for example.
Click to expand...
Click to collapse
This is fine in theory but does it hold up in practice? The S3 is already considered as the smoothest running device running Android or even the smoothest device bar the iPhone.
Not trying to critique your work but I think your approach into improving things here is a bit flawed and viewing it from an odd angle.
Excellent constructive feedback! Thank you,
Let me explain my point of view:
1. First, there are many users that do not feel comfortable putting a custom kernel on the phone. Personally, I do not trust custom kernels even if they come with source code. Theoretically is correct to have the open; but I save a lot of time customizing what I trust (Samsung's stock kernel) than checking all the patches of custom kernels to start trusting them. And is not about privacy and so on, but I need the phone to work and I can't really tell if the custom kernel won't decide to play tricks when I mostly need it to work. So I stick with defaults and try to customize here and there.
2. Second, I have no idea how pegasusq compares with smartass2 unless I see them running - also, since I do debugging and so on, the phone uses different frequencies (mostly plugged and running stuff) and so I can't say if pegasusq matches the time_in_state pattern that smartass2 shows. Too early to tell.
And if it can be done why not ? It gives me more experience, it gives people alternatives. Plus, S3 is better than 4s, for sure, but what about the next phones appearing in the next half of year ?
This is just warm up for me to the phone, I have other ideas to dig and hopefully something will come up out of them (at least until the new big market killer comes around and we all jump ship to that one )
Any progress on this
None as it doesn't support multicore correctly...
Sent from my GT-I9300 using xda app-developers app
That was what he was trying to accomplish.andreilux and Simone gave him some new pointers.that's why I ask.
I had no time to take care of it but I am curious to do at least a bare metal version that will wake up with all 4 core at once instead of one by one which I believe pegasus does.
With the default one, the phone is sluggish for half a second when unlocking - I can see it because the launcher struggles for a bit.
But is true, smartass doesn't support cores activation/deactivation.

[KERNEL] ElementalX-m7-Sprint-13.1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Kernel for Sense-based Jelly Bean ROMs
FAST • STABLE • FULL-FEATURED
ElementalX brings the best performance and battery life on the HTC One. Stable and full-featured, you get complete control over your phone. The only kernel that offers GPU overclocking, individual control of all CPU cores without third party apps, automatic undervolting options, full compatibility with paid apps, thermal options, fully working sweep2wake, doubletap2wake and pocket detection to prevent accidental wakes. Other features include button light notification, 60Hz refresh rate for HDMI, HTC logo as menu button, sleep/wake with long press of the HTC logo, support for many gamepads and more.​​
Click to expand...
Click to collapse
Code:
* Standard disclaimer:
* Your warranty is now void. Use at your own risk.
* In other words: It is your choice to use this software,
* I am not responsible for any damage or problems you may have!
FEATURES:
based on HTC Jelly Bean source code
Aroma installer
optimized for extended battery life
overclocking/underclocking options
select independent frequencies for each core
user voltage control
optional GPU overclocking
choose undervolting levels
kernel based thermal control
thermal options
sweep2wake
doubletap2wake
logo2wake
pocket detection
logo2menu
button light notification
powersave mode works
/system writable
init.d support
force fastcharge
NTFS r/w support
CIFS support
OTG support
support more game controllers (including PS3)
maintains compatibility with all paid apps
increased refresh rate for HDMI output via MHL adapter
optimized -O3 linaro 4.8.1
DOWNLOAD
Sense 5.5 Android 4.4 or Android 4.4.2
ElementalX-m7-Sprint-13.10
NOTE: I don't have a Sprint One, please refer to the thread for any necessary workarounds on various ROMs.
Google Play Edition Android 4.4.2
ElementalX-m7-Sprint-11.4.1
Previous versions:
ElementalX-m7-Sprint-13.0
ElementalX-m7wl-0.6
ElementalX-m7wl-0.5
ElementalX-m7wl-0.4
ElementalX-m7wl-0.2
As always, with overclocking, not all phones can handle all frequencies. If it doesn't boot, or randomly reboots, or freezes, your first course of action should be to reinstall with a lower frequency.
INSTALLATION
1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the preselected option
3. Reboot
4. Let it boot up all the way, and reboot again
Don't use dumlock, just flash as normal in recovery.
Please hit the Thanks button if you download this
If you really like it, please consider buying me a beer
Actually, I won't spend it on beer. I'm saving it all up to buy my next device
Thanks to those who have donated!
Click to expand...
Click to collapse
Special thanks:
@tbalden l2m and bln
@xHausx and @amarullz for installer stuff
@backfromthestorm for fstrim
@crpalmer for kernel based thermal control
@-TheEdge- for help building on Android 4.4+
​
NOTES:
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.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!)
The settings can be changed by editing /etc/elementalx.conf and rebooting. Advanced users can apply settings on the fly by running /etc/init.d/99elementalx as root.
There is no need to edit /etc/init.d/99elementalx. All settings are configured in /etc/elementalx.conf.
If settings are not sticking, make sure the file permissions for /etc/init.d/99elementalx are set to execute. Every time the settings are applied, a log file is created at /data/local/tmp/elementalx-kernel.log. Problems can be diagnosed by looking at the log file.
Please check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or Trickstermod) are interfering with your settings.
ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options.
Kernel Tuner
You don't need Kernel Tuner because the ElementalX installer sets everything up automatically, but if you want to check or change settings, Kernel Tuner is a nice app. Just be aware that Kernel Tuner is set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.
Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose a maximum between 1134MHz (underclocked) and 2160MHz (overclocked). You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. The stock maximum CPU frequency is 1.7GHz. I recommend a mild overclock, like 1836MHz. Clocking higher creates heat and wastes battery for very little performance gain.
CPU voltages
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (384MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep is a sign that your minimum voltage is too low. The minimum voltage allowed is 700mV.
Minimum CPU frequency
The minimum CPU frequency in this kernel is 384MHz. This chip was not designed to operate below 384MHz and I am respecting Qualcomm's design decision to have the CPU idle on pll8 at 384MHz. There is a way to achieve lower frequencies using the high frequency pll, however, this is likely to cause instability and inefficient operation (battery drain, ui stuttering)
GPU frequencies
You can choose to a GPU frequency of 400MHz (stock) or 450 MHz (overclocked). Overclocked offers better performance and will not have a significant impact on battery life. The same voltages are used no matter if the GPU is overclocked or not. Other phones using this chipset (e.g, the S4) set the GPU to 450MHz by default.
Thermal Control
I've added kernel based thermal control and throttling. HTC's thermald is very aggressive and throttles the CPU frequency pretty much anytime you use all four processors. This kernel based implementation allow better performance while still protecting your phone from overheating. There are three levels of thermal control, which can be chosen in the installer or changed in /etc/elementalx.conf. The default option is recommended. With the run cool option, your CPU will run about 5C cooler than default while under heavy load. With the run hot option, the CPU will run about 5C warmer than default under heavy load.
Governors
The default governor is ondemand. I have not done extensive testing of governors so the stock governor is recommended for now. Intellidemand, lagfree, lionheart and smartassv2 are also available. Feedback on their operation is welcomed.
I/O Schedulers
The default i/o scheduler is cfq. I have not tested the others much so the default is recommended for now. Other available schedulers are ROW, FIOPS, SIO, NOOP and deadline. Feedback on their operation is welcomed.
Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.
Sweep2Wake
Sweep2wake (S2W) allows you to wake up your device by swiping your finger across the capacitive buttons from left to right. Swiping from right to left will put it back to sleep (sweep2sleep). The options are: sweep2wake/sweep2sleep, sweep2sleep only, and disabled. If you use apps such as Kernel Tuner, the sweep2sleep only option can be selected by choosing "On with backlight". You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/sweep2wake
0=disabled
1=enable sweep2wake + sweep2sleep
2=enable sweep2sleep only
DoubleTap2Wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping in the bottom inch or so of the screen, above the capacitive buttons. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0=disabled
1=enable doubletap2wake
Logo2Wake
Logo2Wake (L2W) allows you to sleep or wake the device by long pressing the HTC logo. You have to press just slightly above the HTC logo. The screen will automatically turn on or off with a long press. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2wake
0=disabled
1=enable logo2wake
Pocket Detection
Pocket detection protects against accidental wakes while S2W, DT2W or L2W are enabled and the phone is in your pocket. Pocket detection uses the proximity sensor. A few people have a problem with their proximity sensor that makes DT2W not work, so I've made an option to disable pocket detection. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/pocket_detect
0=disabled
1=enable pocket detection
Logo2Menu
Enabling Logot2Menu (L2M) allows you to use the HTC logo as a menu button. You must press just slightly above the HTC logo. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2menu
0=disabled
1=enable logo2menu
Button Light Notification
With Button Light Notification (BLN), the capacitive buttons will blink on and off when you have a new notification. As soon as the screen comes on, BLN is canceled and the lights will no longer blink until you have another notification. Please note that if you have your screen set to turn on when a message arrives, you will not see the buttons blinking because once the screen comes on, the button light notification is canceled. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/class/leds/button-backlight/blink_buttons
0 = disabled
1 = BLN enabled
NTFS support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS filesystem. You will need Stickmount or a similar app, HTC Sense does not automatically detect NTFS filesystem.
Paid Apps
All the cryptographic modules load properly, so you shouldn't have an issues with paid apps.
Other stuff
This kernel supports many game pads and controllers, including PS3 controllers and some X-Box controllers. It has full OTG support. A refresh rate of 60Hz for HDMI output allows you to play games on the big screen without choppiness. CIFS support is built into the kernel. Faux sound control is also supported.
Source:
https://github.com/flar2/m7-GPE *latest*
https://github.com/flar2/m7wl-ElementalX
https://github.com/flar2/m7-ElementalX
Changelog:
January 6, 2014 - ElementalX-11.4.1
-too numerous to mention
July27, 2013 - ElementalX-0.6
-updated installer
-Makefile optimizations
-doubletap2wake fixes
-home button timeout option in installer
-use custom Linaro toolchain 4.8
-fix capacitive buttons sometimes still active while screen off
-option to disable HTC color enhancement
-add mpdecision options
-add optional max screen off frequency (default 702MHz)
-add simple GPU governor (faux123)
-improved sweep2wake
-fix bluetooth?
July13, 2013 - ElementalX-0.5
-update Aroma installer
-option to restore menubar
-add more undervolting options
-fix touchscreen registering input during calls
-add sysfs config for sleep/wake vibration strength
-new logo (thanks jonas2295)
-slight boost to L2 freq
-slight boost to GPU bus bandwidth
-vibration feedback for s2w
-add TCP congestion algorithm options
-fix fastcharge (thanks tbalden)
-revert some tweaks
June 24, 2013 - ElementalX-0.4
-update dt2w, pocket detection
-increase capacitive button sensitivity
-fix earpiece & bluetooth sound routing issues
-revert previous earpiece fix
-update modules
May 25, 2013 - ElementalX-0.2
-fix installer
-fix frequencies
May 25, 2013 - ElementalX-0.1
-add "extra cool" thermal setting
-add option to disable pocket detection
-suppress accidental wakes with s2w and dt2w
-add ROW scheduler
-add Lionheart, lagfree, smartmax, wheatley governors
-button light notification (tbalden)
-add thermal options
-add doubletap2wake
-add kernel based thermal control (crpalmer)
-Improve scalability via 'CPU buddies'
-avoid loadavg moire
-automatic undervolting to 850, 800 or 750
-compatible with faux sound control
-hsic wakelock fix
-L2W vibrates on sleep/wake
-optimized AES and SHA1 routines
-disable usb whitelist
-lower possible voltage to 700
-logo2menu (tbalden)
-sleep/wake with longpress HTC button
-select oc frequency up to 2160MHz
-optional graphics overclock
-add /dev/frandom
-fix audio in calls (tbalden)
-ensure crypto modules load
-camera fix option
-disable /system write protection
-linaro 4.7.3 -o3 optimization
-ntfs r/w
-fast rcu nohz
-intellidemand governor
-arm cpu topology
-update cpu_power according to cpu load
-mhl change to [email protected]
-add CIFS support
-add FIOPS and SIO i/o schedulers
-update ramdisk
-add sweep2wake
-force fastcharge
-voltage control
ElementalX Sprint & Verizon Downloads -kernel source
This is ElementalX kernel from http://forum.xda-developers.com/showthread.php?t=2249774 just compiled for Sprint and Verizon.
Downloads
ElementalX 17.0 http://forum.xda-developers.com/showpost.php?p=54967779&postcount=796
ElementalX 17.2 http://forum.xda-developers.com/showpost.php?p=55860330&postcount=871
ElementalX 17.2-3 http://forum.xda-developers.com/showpost.php?p=55894170&postcount=875
ElementalX 18.0 http://forum.xda-developers.com/showpost.php?p=56016009&postcount=901
ElementalX 19.3 http://forum.xda-developers.com/showpost.php?p=59142158&postcount=993
kernel source : https://github.com/smokin901
Credits @flar2 - Kernel Source @poondog help making it work on sprint and verizon
and others i may have missed.
flar2 said:
also reserved
Click to expand...
Click to collapse
what's the difference between this and [KERNEL] [May 15] Bulletproof-1.0 | S2W | L2W | DT2W | L2M | BLN | More..
twe90kid said:
what's the difference between this and [KERNEL] [May 15] Bulletproof-1.0 | S2W | L2W | DT2W | L2M | BLN | More..
Click to expand...
Click to collapse
Bulletproof aims to be close to the stock kernel. He doesn't make a whole ton of modifications in order to ensure compatibility and whatnot. With the ElementalX series, he 'goes crazy' with adding stuff.
bulletproof makes my home and back buttons not work. I heard this was a problem which HTC fixed. I'm using a screen protector which worked perfectly before installing the kernel
twe90kid said:
bulletproof makes my home and back buttons not work. I heard this was a problem which HTC fixed. I'm using a screen protector which worked perfectly before installing the kernel
Click to expand...
Click to collapse
They haven't released source code for the fix, so some people have problems with the capacitive buttons on custom kernels .
Oohhh... I been waiting for this one!
Downloading now. Thank you Mr. Flar2!
Sent from my HTC One
EDIT:
Won't install. Getting "Installer Status 6" at the end.
Link to the AROMA log. https://www.dropbox.com/s/mjw96ybd6ld2u8h/ElementalX-m7wl-0.1.zip.log.txt
Installation failed at the last step
Sent from my HTCONE using Tapatalk 2
dasfast said:
Installation failed at the last step
Sent from my HTCONE using Tapatalk 2
Click to expand...
Click to collapse
Any details? Recovery log? I depend on you guys to let me know what happens so I can fix it.
dasfast said:
Installation failed at the last step
Sent from my HTCONE using Tapatalk 2
Click to expand...
Click to collapse
Future reference, that isn't helpful at all. Posting a log along with the error and the error message (if one) actually gets results and doesn't annoy the Dev's.
flar2 said:
Any details? Recovery log? I depend on you guys to let me know what happens so I can fix it.
Click to expand...
Click to collapse
I posted a log above him.
Thanks, I'll fix that up and post a new zip in about 15 minutes
Syntax error in the installer, please give it another try.
flar2 said:
Syntax error in the installer, please give it another try.
Click to expand...
Click to collapse
downloading now. At the end there is an option for "Camera fix" Is this for Sprint variant and should I say yes or no? lol
felacio said:
downloading now. At the end there is an option for "Camera fix" Is this for Sprint variant and should I say yes or no? lol
Click to expand...
Click to collapse
Say yes if you're on a rom with the new base
flar2 said:
Say yes if you're on a rom with the new base
Click to expand...
Click to collapse
Awesome. That is what I thought but wanted to make sure, thanks. Just now finished downloading. Goo.IM is sluggish today.
giving it a shot now, thank you!!!!! been eyeing this from the other One forum!
felacio said:
Future reference, that isn't helpful at all. Posting a log along with the error and the error message (if one) actually gets results and doesn't annoy the Dev's.
I posted a log above him.
Click to expand...
Click to collapse
Sorry I didn't attach the log, but that was the same one I got.
Sent from my HTCONE using Tapatalk 2
dasfast said:
Sorry I didn't attach the log, but that was the same one I got.
Sent from my HTCONE using Tapatalk 2
Click to expand...
Click to collapse
No problem, just a note for the future.
Onto the Kernel.
Wifi = Works
Bluetooth = partial (same mic issue that every other kernel aside from stock has.)
Front and Back camera = Works
Data = Works
Video playback = Works
Checking values in Kernel Tuner is weird. it will switch from a max of 918 up to 1836, which is what I chose in AROMA. The option to change the max GPU are available, but they aren't reading right and say "200mhz"
Anything else I should check? everything seems to be in order.
Thanks so much flar! Everything is working, 4g, 3g, text, wifi, etc. Performance is going just fine with 1.9, gonna see how far she lets me push

[Kernel][6.0] Valkyrie-L-4 [6/9/2016] / HurtSkySimplerV14 [09/07/2016]

This is a port of Hurtsky's Kernel by Hurtsky for Peregrine​
Must sure to thank him - Here​Attention
/*
I'm not a developer, im taking effort to put more choices of kernel for our community.
This kernel is tweaked for my own taste.
Please do not request for more features because i want to ensure the stability of the kernel first.
And thank you for using this kernel.
*/
Disclaimer
Code:
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
WARNING !! Please read before proceeding to download section as to avoid any confusion happen !
This thread contain 2 kind of kernel which is SIMPLER and EXPERIMENTAL-HYBRID Version
EXPERIMENTAL-HYBRID Version (click here for EXPERIMENTAL version)
​
CODE NAME: SIMPLER VERSION
"this kernel using stock CM kernel and only add few features without touching others driver configuration – known to be most stable one – updates only be done if CM updates their kernel only "
Features
Optimization Flags
- Compiled with latest Built with latest custom Gcc 5.1 ArchiToolchain optimized for Cortex-A7
- -O3 Optimization (optimize for more performance! )
- Graphite optimizations
- Optimized ARM RWSEM algorithm
Hotplug Drivers
- mpdecision hotplug
Governors
- zzmoove Governors with tweaked profile for moto G - please read #4 post for more information
- yanactive governor
- impluse governor
- disabled CPU-Boost - we already boosted enough with interactive !
IO schedulers
- ZEN (tweaked for mobile usage)
- SIO
- FIOPS
- VR
- noop
Audio and Sound Tweaks
- Faux Sound Control
- add high performance mode audio (enabled by default)
Extra Users Change-able Features (please refer to #4 post for more explanation in how you can adjust this below features)
- Dynamic management of dirty page writebacks
- implement s2w dt2w with pocket mode
- filter WAKEUP from francisco
- implement doubletap2wake, sweep2wake and sweep2sleep
- KCAL support for post processing control [v2]
- selinux in permissive - not in force, you can change it to enforcing if you want
- Enabled all kind Advance TCP
Quote:
Extra Driver Modification differ from stock/CM kernel
- GPU driver aligned with CAF latest update
- Enabled ULPS(Ultra Low Power) for panel ! - save more power !
- Enabled Dynamic FPS for panel ! - save more power !
- add lcd notifier for dt2w/s2w and akm8963 usage
- AKM8963 driver used lcd notifier (keep phone sensor suspend during LCD off to save more power usage)
- powersuspend - USERS cant configure it (no sys support) - all hotplug driver in this kernel use powersuspend – powersuspend is hooking panel on/off state.
- silenced various kernel logs
DOWNLOADS:
AndroidFileHost
or
XDA check the downloads tab
Installation Guide :
Using TWRP
1. Download the kernel and place it into your phone storage
2. Reboot into recovery
3. Reinstall(Dirty flash) Rom + the kernel
4. Reboot and enjoy!
or
2. Flash it using Flashify
Code:
[I]Credit to :-[/I]
- hurtsky for being awesome and sharing his work
- CyanogenMod Developer team for providing the source
- developers that contributed in my github changes - all credit goes to them
- xda-developers.com
- and to all my kernel users, thanks.
XDA:DevDB Information
HurtSky Kernel, Kernel for the Moto G
Contributors
Kayant, hurtsky
Source Code: https://github.com/Kayant/android_kernel_motorola_msm8226
Kernel Special Features:
Version Information
Status: Stable
Created 2016-01-17
Last Updated 2016-09-06
FAQ - Freaking Annoying Question
THIS KERNEL WORKING IN STOCK ROM ????
1. NO, this kernel for ROM that based on CM kernel - Android 6 - Marshmallow and up only
2. This kernel not for AOSParadox also .
SYNAPSE NOT WORKING SUDDENLY ????
1. Read this >>> CLICK HERE
IF HAVING ANY REBOOT? WHAT TO DO?
1. upload file last_kmsg that located in /proc/last_kmsg
2. infomation about what setting that you use : example: intelli plug with zzzmove
3. if only state that youre having reboot without any logs will be ignore.
ERROR DURING OR AFTER FLASHING THE KERNEL
1 . if you comes from others kernel or after flashing the kernel you had this following "error : Fastboot Reason : Fall-through from normal boot mode" or any error during flashing, please dirty flash your rom again to clean up any conflict from different kernel script.. let it reboot.. and flash this kernel..
2. If still happen, flash recommended recovery for this kernel >>> CLICK HERE
KERNEL DID NOT FLASH/THE VERSION STILL THE OLD VERSION
1. Put the kernel ZIP at folder /sdcard and flash it.
2. Please use recommended recovery for this kernel >>> CLICK HERE
OWN CUSTOM SETTING FOR KERNEL DID NOT STICKING AFTER BOOT
1. Make sure you used only 1 kernel tweaks and make sure you did change anything in "advance setting", remove the others apps and start tweaking your own favorite config. (i always suggested to use only Kernel Adiutor for tweaking the kernel)
2. Some ROM had they own boot script that will force the user to stick with it, this happen normally with interactive and cpu-boost config (in this kernel i already disabled completely cpu-boost so no need to worry about this). change interactive to another governors if you did not like what the ROM already did for you. (but i always recommend interactive, as it the most stable governors and updated for current time)
WHAT THE BEST OR RECOMMENDED CONFIGURATION FOR THIS KERNEL??
1. Default configuration is always the best for me because i already tweaked and tested by my own and with my tester before release it to the forum.
2. If you did not like default config, just do your own way (google,do research or re-read all post in this thread because there are some advance users posted their own configuration) and i wont answer or provide any advice for this kind of questions because i always stick with my own configuration
A LITTLE UNRESPONSIVE TOUCH AFTER DOUBLETAP2WAKEUP
1. Please read 4th post in dt2w/s2w/s2s section.
HAVING LAG AFTER USING "YOUR OWN CONFIGURATION OR OTHERS CONFIGURATION" OR NOT USING THIS DEFAULT KERNEL CONFIG
1. Well, i only test my own configuration.. for newbies that try to use their own setting, please do research more before applying or changing any value or using other tweakable features here.. Having lag with your own setting is not my fault, this tweakable features e.g other governors/hotplug/io and etc is for advance user that love trying new stuff and the result is depend on how user tweak it....
2. i only provided guarantee for performance and better battery through my own config (flash and use it).
HELP ! HELP ! I SUDDENLY HAD ALL AWAKE IN BATTERY STATS
1. Just clear dalvik cache from your recovery/twrp
Downloads/Changelogs
Changelogs of VALKYRIE Kernel
ValkyrieL1 - http://forum.xda-developers.com/showpost.php?p=67680206&postcount=684
ValkyrieL2 - http://forum.xda-developers.com/moto-g/development/kernel-hurtsky-m-s1-22-11-2015-t3254471/page18
ValkyrieL3 - http://forum.xda-developers.com/mot...22-11-2015-t3254471/post68341335#post68341335
ValkyrieL4 - http://forum.xda-developers.com/showpost.php?p=68506164&postcount=728
ValkyrieL5 - http://forum.xda-developers.com/showpost.php?p=68565937&postcount=740
ValkyrieL6 - http://forum.xda-developers.com/showpost.php?p=68685813&postcount=746
Kernel changelog for VALKYRIE Kernel > CLICK HERE
Changelogs of SIMPLER Kernel
V4s1 - http://forum.xda-developers.com/showpost.php?p=64830848&postcount=272
V5 - http://forum.xda-developers.com/showpost.php?p=64893268&postcount=290
V6 - http://forum.xda-developers.com/showpost.php?p=65287913&postcount=389
V7 - http://forum.xda-developers.com/moto-g/development/kernel-hurtsky-m-s1-22-11-2015-t3254471/page11
V8 - http://forum.xda-developers.com/showpost.php?p=65560139&postcount=496
V9 - http://forum.xda-developers.com/mot...22-11-2015-t3254471/post65809850#post65809850
V10 - http://forum.xda-developers.com/showpost.php?p=66030209&postcount=549
V11 - http://forum.xda-developers.com/showpost.php?p=66174279&postcount=568
V12 - http://forum.xda-developers.com/showpost.php?p=66857731&postcount=636
V13 - http://forum.xda-developers.com/showpost.php?p=66982971&postcount=641
V14 - http://forum.xda-developers.com/showpost.php?p=67030570&postcount=650
Kernel changelog for Simpler version > CLICK HERE
Changelogs of HYBRID Kernel(Discontinued)
Hs9s1 - http://forum.xda-developers.com/showpost.php?p=64830848&postcount=272
Hs10 - http://forum.xda-developers.com/showpost.php?p=64893268&postcount=290
Hs11 - http://forum.xda-developers.com/showpost.php?p=64991974&postcount=305
Hs12 - http://forum.xda-developers.com/showpost.php?p=65122074&postcount=332
Hs13 - http://forum.xda-developers.com/showpost.php?p=65287913&postcount=389
Hs14 - http://forum.xda-developers.com/moto-g/development/kernel-hurtsky-m-s1-22-11-2015-t3254471/page11
Hs15- http://forum.xda-developers.com/showpost.php?p=65909609&postcount=526
Exp16 - http://forum.xda-developers.com/showpost.php?p=66030209&postcount=549
Exp17 - http://forum.xda-developers.com/showpost.php?p=66174279&postcount=568
Exp18 - http://forum.xda-developers.com/showpost.php?p=66571860&postcount=617
Exp19- http://forum.xda-developers.com/showpost.php?p=66857731&postcount=636
Exp20 - http://forum.xda-developers.com/showpost.php?p=66982971&postcount=641
Exp21 - http://forum.xda-developers.com/showpost.php?p=67030570&postcount=650
Kernel changelog for Hybrid Version > CLICK HERE
DOWNLOAD SECTION FOR VALKYRIE KERNEL
>>>>PLEASE CLICK HERE TO DOWNLOAD(Androidfilehost)<<<<
OR
>>>>PLEASE CLICK HERE TO DOWNLOAD(XDA)<<<<
DOWNLOAD SECTION FOR SIMPLER KERNEL
>>>>PLEASE CLICK HERE TO DOWNLOAD(Androidfilehost)<<<<
OR
>>>>PLEASE CLICK HERE TO DOWNLOAD(XDA)<<<<
Special features and sysfs settings
Dynamic dirty page writebacks
This feature has been developed by me and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.
How to customize the dynamic dirty page writebacks feature (default enabled):
Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)
To change the value you can use Performance Controlto suit your own taste
KCAL support for post processing control [v2]
Please click the link below for more information, and how to use it : - all credits to savoca
[DEV][PATCH] KCAL - Advanced color control for Qualcomm MDSS 8x10/8x26/8974/8084
ZZMoove Governor Profile
use tools like Kernel Adiutor, Android Tuner or similar tools which are supporting the change of multible tuneables on-the-fly
or just do it directly in kernel sysfs via a terminal emulator and give the tuneable "profile_number" one of the following values:
1 for Default Balanced Profile
2 for Yank Battery -> Better battery, try to use lower freq as possible
3 for Yank Battery Extreme -> Aggressive Battery profile, by trying to reduce hotplugging as can as possible and with this profile the user will suffer abit in performance side
4 for ZaneZam Performance -> Extreme tuned for performance, aggressively try to hold on high frequency to obtain higher performance
5 for ZaneZam Relax -> Moderate tuned, more to balance but abit performance
WAKE GESTURE
Implemented with Pocket mode, in which, each time proximity sensor been covered, it will suspend touch to avoid sudden screen wakeup.
Normally proximity sensor will active to covered when it detect any object about 3cm from phone distance.
Please use kernel adiutor to enable it.
Known bug for this features for now is:
1 - touch will less responsive during first wakeup after doubletap
/-------------New wakegesture been reverted because bugging touch in multiROM startup screen-------------------/
/-------------Wake Gesture implementation only available in Hs9 until Hs12, and simplerV5-----------------------------/
Unhide to read more information about it
NOTE !
1- To ensure all the wake gesture working correctly, users must use this apk >>> http://elementalx.org/wake-gestures/ to enable or modify the setting
2- Only use kernel adiutor to change doubletap2wake function for FULL SCREEN or HALF SCREEN/bottom side and to enable sleep2wake ONLY.
3- Do not use kernel adiutor to enable sweep2wake feature and all feature that activate through swipe
4- Pocket detection in wake gesture.apk wont work for us, so no need to enable or tick it, we already had automatic pocket detection from kernel directly
5- doubletap2wake is default in HALF SCREEN MODE/bottom side only, which means, you can only double tap on bottom side only to wake up, use kernel adiutor to change it.
EXTRA FEATURES IN WAKE GESTURE!
Wake Gestures
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires this app:http://elementalx.org/wake-gestures/
Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).
Note that if you enable wake_gestures, nothing will happen if you don't install the Wake Gesture Xposed module.
Sweep2wake
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. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0 = disabled
1 = enabled (bottom of screen only)
2 = enabled (full screen)
Vibration Strength
Haptic feedback can be enabled for the wake gestures in /sys/android_touch/vib_strength. This setting takes a number between 0 and 90. Default is 20. Setting this to 0 disables haptic feedback for gestures.
S2W/DT2W power key toggle
If enabled, turning the screen off with the power button disables s2w and dt2w to save battery (since s2w/dt2w cause significant battery drain). When you turn the screen back on, s2w and dt2w return to their previous settings. If the screen times out, s2w/dt2w are not disabled this is only if you use the power button to turn it off. You can edit /etc/elementalx.conf to change the setting on boot.
S2W/DT2W Timeout
Doubletap2wake and sweep2wake can be automatically disabled after a certain number of minutes. I give a few choices between 5 and 120 minutes in the installer. Default is 30 minutes. You can put in whatever you want in /etc/elementalx.conf.
When the screen is turned on, the timeout is canceled and will start again next time you turn the screen off. This means that if you have your screen set to come on for incoming messages or notifications, the timeout will start over again.
If you also enabled the power button to toggle s2w/dt2w, there is no timeout when you use the power button, the wake functions are immediately disabled (same as before).
You can edit /etc/elementalx.conf to change the setting on boot.
Sweep2Sleep
Sweep2Sleep allows you to put the device to sleep by sweeping your finger across the navigation bar area. Unlike Sweep2wake, this does not cause any battery drain. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/sweep2sleep
0 = disabled
1 = sweep right
2 = sweep left
3 = sweep left or right
MSM_LIMITER
This function will limit the cpu in certain condition such as frequency during suspend, resume and min frequency. This features enabled in default and the frequency already been set for highest suspend freq to 787Mhz (screen off), min freq 300Mhz, resume freq 1.2Ghz. This feature may can reduce power consumption as it limit our cpu frequency after the screen off.
so here the step to disable it: -
1. By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable msm_limiter feature
Code:
su
echo "0" > /sys/kernel/msm_limiter/limiter_enabled
echo "0" for disable or echo "1" for enable it back
Furthermore, you can adjust the frequency of suspend, resume and min frequency to suit your taste here the command
1. For resume frequency
Code:
su
echo "<put you own frequency here without ">" symbol >" > /sys/kernel/msm_limiter/resume_max_freq
example:-
Code:
su
echo "1824000" > /sys/kernel/msm_limiter/resume_max_freq
this will make your CPU freq up to 1.8Ghz when screen on.. it just an example.
2. For suspend frequency
Code:
su
echo "<put you own frequency here without ">" symbol >" > /sys/kernel/msm_limiter/suspend_max_freq
Table of our devices frequency
Code:
300000
384000
600000
787200
998400
1094400
1190400
Valkyrie version
VALKYRIE VERSION
Features
Optimization Flags
- Compiled with latest Built with latest UBERTC 4.9 Toolchain optimized for Cortex-A7
- -O3 Optimization (optimize for more performance! )
- Graphite optimizations
Hotplug Drivers
- Add AutoSMP hotplug driver - default hotplug (really nice)
Audio and Sound Tweaks
- Faux Sound Control
- add high performance mode audio (enabled by default)
Extra Users Change-able Features (please refer to #4 post for more explanation in how you can adjust this below features)
- KEXEC Support
- KCAL support for post processing control [v2]
- selinux in permissive - not in force, you can change it to enforcing if you want
- Enabled all kind Advance TCP
Extra Driver Modification differ from stock/CM kernel
- GPU driver aligned with CAF latest update
- Use new hotplug infrastructure from 3.10.x kernel
- Disable many debug option to reduced overhead of the kernel
- silenced various kernel logs
CUSTOM LOGO !
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
flash it like any zip
thanks to @antarix and @Angua 666 for testing with me and for inspiration for the logo ! :angel:
Wow Kayant!! Another kernel! Thanks Buddy for all your hard work for our beloved device!! This community can't thank you enough.. Testing it right now!!
Kayant, the magician of the kernels for the 4g version. Thanks!!! Will test it now.
Sent from my Xperia SP using Tapatalk
Hi @Kayant!
I'm gonna try Slimper version, thanks for your work
Wyneg said:
Hi @Kayant!
I'm gonna try Slimper version, thanks for your work
Click to expand...
Click to collapse
Update: Working OK, but file explorer changed the name of sdcard1, image attached.
H10 and Simpler V5 are up on androidfilehost/XDA.
@hurtsky updated zram a lot which has improved general "smoothness" :good:
Kayant said:
H10 and Simpler V5 are up on androidfilehost/XDA.
@hurtsky updated zram a lot which has improved general "smoothness" :good:
Click to expand...
Click to collapse
H10 is on point with the zram update, excellent addition mate ?
Having some issues with kernel wakelocks.
Seems that s2w, dt2w and 'wakefunc' pwrkeys are keeping my phone awake for hours on end even though I don't use them :/. They show up as disabled under Kernel Adiutor.
Any ideas?
droident said:
Having some issues with kernel wakelocks.
Seems that s2w, dt2w and 'wakefunc' pwrkeys are keeping my phone awake for hours on end even though I don't use them :/. They show up as disabled under Kernel Adiutor.
Any ideas?
Click to expand...
Click to collapse
i will try look into this with my battery stats also.. maybe im not properly disabled it after adding new wakegesture.
hurtsky said:
i will try look into this with my battery stats also.. maybe im not properly disabled it after adding new wakegesture.
Click to expand...
Click to collapse
The disable wake control features toggle in kernel aduitor doesn't seem to work (setting doesn't persist once leaving page) so I've found that mounting /system in terminal and adding this as an init.d script via kernel aduitor does the trick... temporary workaround (breaks the wake control features).
#!/system/bin/sh
rm /dev/input/event3
rm /dev/input/event5
rm /dev/input/event6
check the event numbers correspond to the problematic kernel wakelocks in BBS first or you could end up crippling your volume keys or screenlock button if your install has allocated different eventX numbers. See here and scroll to the second post.
droident said:
The disable wake control features toggle in kernel aduitor doesn't seem to work (setting doesn't persist once leaving page) so I've found that mounting /system in terminal and adding this as an init.d script via kernel aduitor does the trick... temporary workaround (breaks the wake control features).
#!/system/bin/sh
rm /dev/input/event3
rm /dev/input/event5
rm /dev/input/event6
check the event numbers correspond to the problematic kernel wakelocks in BBS first or you could end up crippling your volume keys or screenlock button if your install has allocated different eventX numbers. See here and scroll to the second post.
Click to expand...
Click to collapse
that workround is not a good way, because sometimes the devices will registered with different event numbers.
next version maybe will fix this, actually wakgesture event is registered with touchscreen driver and power key, because wakegesture output is powerkey to screen on after doing swipe or doubletap.. even wakegesture in disabled mode, they still register or count as how much you press the power button because it related with powerkey event. but in my case, i did not had so much wakeup as you.. phone in 5hours uptime and with 1min of wake lock for each wakegesture event / 6 wake up times of each event = 6 times i pressed power button to wakeup the screen in 5 hour..
well, lets test later with next version.
Sorry for the slowness with the updates these past weeks I will try to keep closer to hurtsky's releases.
On that note updated Simpler and Hybrid versions of been uploaded.
Kayant said:
Sorry for the slowness with the updates these past weeks I will try to keep closer to hurtsky's releases.
On that note updated Simpler and Hybrid versions of been uploaded.
Click to expand...
Click to collapse
Thanks m8. I am alitle sad we lost the Optimus Kernel (was my favorite), but it is time to move on to this here now
Update with the latest wifi drivers is up. As always check OP for changelog/downloads.
Kayant said:
Update with the latest wifi drivers is up. As always check OP for changelog/downloads.
Click to expand...
Click to collapse
Good job, i will install it right now.
Do you know if we will have the hotplug that we used to on optimus on the future at hurtsky kernel?
Pupet_Master said:
Good job, i will install it right now.
Do you know if we will have the hotplug that we used to on optimus on the future at hurtsky kernel?
Click to expand...
Click to collapse
That would be nice, but let me say that in quite impressed with this latest release's performance and battery life.

Categories

Resources