[GUIDE] Make VooDoo Settings Stick on Boot - Nexus S General

FIRST: Supercurio makes a really awesome app, so I highly recommend purchasing the pro version to support further development for two reasons. First, it's the right thing to do and second, I haven't figured out how to make all of the VooDoo sound settings work yet, and I'm a busy college student in my senior year attempting to convince someone to pay me, so I don't have much time on my hands (thus my erratic shower schedule).
That being said, I have attached a script that I run on boot. That being said, I'm running AOSP's oiCSv43 ROM with Eugene's Speedy 2 kernel. So long as your kernel supports the following options (which will be listed below), you shouldn't have a problem with this script. I've also verified that it works just peachy with GLaDOS 2.5 for ICS-- another very good ICS kernel [I head 2.6 is quite nice]. (This should also work for GB roms if anyone cares to test for me)
You must have
root
superuser
busybox, or an alternate way to mount /system as writable (there are 2 other methods AFAIK)
ROM that supports init.d scripts OR scripter or some other app like it (in this case, you can just add the script to scripter and set it to run on boot)
If you don't (know if you) have init.d support, check out this post by damnmisur about scripting with ROM Toolbox
This script changes the following:
cpu governor -> interactive
max freq->1000mhz
min freq->150mhz
touchwake enabled with 10 second delay
back light dimmer settings are commented out, so it uses whatever is default for you kernel
bln enabled with blink disabled
blx commented out (reverts to kernel default which is likely 96%)
voodoo_color/red_multiplier->2724764160
voodoo_color/green_multiplier->3059586880
voodoo_color/blue_multiplier->2944130880
voodoo_color/red_v1_offset->-26
voodoo_color/green_v1_offset->-30
voodoo_color/blue_v1_offset->-33
voodoo sound anti-jitter, hi-fi play, hi-fi record, dac direct, voodoo sound control enabled
headphone_amplifier_level->+3db
voodoo sound mono downmix disabled
USE AT YOUR OWN RISK! I AM NOT LIABLE IF ANYTHING GOES WRONG!!!
NANDROID NANDROID NANDROID.
ALWAYS MAKE A BACKUP
NANDROID
The script is in the zip. To install:
Unzip archive into same directory as adb (or wherever you want if you know what you're doing)
open a terminal
Code:
adb remount
adb shell
su
busybox mount -o remount,rw /system
exit
adb push 99whirlpool-Speedy_2 /system/etc/init.d/99whirlpool-Speedy_2
adb shell
chmod 755 /system/etc/init.d/99whirlpool-Speedy_2 && reboot
The file has no extension! If you want to edit it, open it in a text editor. If you don't know what you're doing, don't play with it. To disable boolean values, change the 1 (1 means true i.e. on) to a 0 (which means false, i.e. off).
frequency values are in hertz
you can find out what scaling governors and frequencies your kernel supports by typing
Code:
adb shell
su
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Feel free to edit anything you'd like!
DO NOT FLASH THE .ZIP FILE! Extract and follow the directions above

thanks....

Nice but some of your changes are the exact opposite of what I use. So I'll just change voodoo settings because I'll be a lot less to change with every boot than if I was to use this.
I do of course use easy settings. Color multipliyer: all the way right.
Gama: all the way left.
Sent from my Nexus S 4G using XDA App. Developer of brickROM, and OP of XDA Thread of The Year 2011.

Thank you.

Don't voodoo settings stick by default? It seems my voodoo settings stick just fine without using any script?

Si_NZ said:
Don't voodoo settings stick by default? It seems my voodoo settings stick just fine without using any script?
Click to expand...
Click to collapse
They do with the PRO version, not the free one. I've also never had a problem with them NOT sticking on Pete Alfonso's GPA19, or any GB ROM for that matter, but many ICS users, including myself, have not been able to get our settings to stick recently.
This also means that I don't have to use NSTools or VooDoo Control.
Translation:
no apps changing settings on boot->
fewer individual SU requests (count the number of toast notifications, or check the request list in the superuser app for NSTools and VooDoo control on boot)->
faster boot sequence, and less lag on boot.
Not everyone may have this problem, but I and others do.

I'm visiting for a lesson, had read this before on aosp's or Eugene's kernel threads, but didn't get it so, wanted to ask and thank you for this help.
I'm trying to make voodoo stick, I downloaded your zip, opened and changed a couple of things in Wordpad, it asked to save and rezip, said yes. I used different multipliers and want bln to blink, so changed those numbers and the blink 0 to 1 (or vice versa, followed your directions).
So to do this, do I just flash zip in recovery? Any wipe or just flash away??
Like you said, I will backup, but really don't want to make a mess and thought I would double check first.

nmoreman said:
I'm visiting for a lesson, had read this before on aosp's or Eugene's kernel threads, but didn't get it so, wanted to ask and thank you for this help.
I'm trying to make voodoo stick, I downloaded your zip, opened and changed a couple of things in Wordpad, it asked to save and rezip, said yes. I used different multipliers and want bln to blink, so changed those numbers and the blink 0 to 1 (or vice versa, followed your directions).
So to do this, do I just flash zip in recovery? Any wipe or just flash away??
Like you said, I will backup, but really don't want to make a mess and thought I would double check first.
Click to expand...
Click to collapse
Don't flash the zip. It's just there so that I could upload the attachment properly.
The script is in the zip. To install:
Unzip archive into same directory as adb (or wherever you want if you know what you're doing)
open a terminal
Code:
adb remount
adb shell
su
busybox mount -o remount,rw /system
exit
adb push 99whirlpool-Speedy_2 /system/etc/init.d/99whirlpool-Speedy_2
adb shell
chmod 755 /system/etc/init.d/99whirlpool-Speedy_2 && reboot
I'll add a readme to the zip to make it more obvious.

Shark_On_Land said:
Nice but some of your changes are the exact opposite of what I use. So I'll just change voodoo settings because I'll be a lot less to change with every boot than if I was to use this.
I do of course use easy settings. Color multipliyer: all the way right.
Gama: all the way left.
Sent from my Nexus S 4G using XDA App. Developer of brickROM, and OP of XDA Thread of The Year 2011.
Click to expand...
Click to collapse
If your just worried about voodoo settings you could do the following :
http://forum.xda-developers.com/showthread.php?t=1366780 or just use the script from this method. Of course you have to edit numbers to your preference.
Sent from my Skanky Nexus S in the Matr1x using XDA App

damnmisur said:
If your just worried about voodoo settings you could do the following :
http://forum.xda-developers.com/showthread.php?t=1366780 or just use the script from this method. Of course you have to edit numbers to your preference.
Sent from my Skanky Nexus S in the Matr1x using XDA App
Click to expand...
Click to collapse
Thanks, I'm going to add this post to the OP as an alternative for those without init.d support

Related

[Q] .sh script help

Hey guys, need some help with this one from some of you with more android/linux experience than me.
In my continuing quest to make Blackhole as customizable as possible I've been working on a way for users to easily install paid apps (legally downloaded of course), and stuff that I don't have available in rom manager in one easy step at the same time the rom is installed. In pursuit of this goal I've found that it's possible for the update-script file inside a clockworkmod zip to call a script in the zip as well. I've gotten it to say it's run the script, but it doesn't do what it's supposed to. here's what i've got:
#! /bin/
busybox cp /sdcard/app/* /system/app/
When I type the command into a terminal on the phone it works. When I open an adb shell and type "bash install.sh" it works. But when I get the update.zip to run the script, or run it in root explorer it just says it's run it, but doesn't do anything.
Is there something I'm missing about how to call the script? Do I need to somehow add the bash program to the zip file so it can run the script right? Has anyone ever done something like this who can point me in the right direction?
do you have an output you can show us?
Sent from my SCH-I500 using XDA App
This is a shot in the dark but does writing to /system/app require root permissions? It could be that you've given your terminal app root, so it runs under su. But when the script is being executed it does not have root and fails, but perhaps the output is being held back a bit and you're not seeing the permission denied.
Steve_ ?!
whoa, didn't expect it to be you of all people
Anyhoo, this is a bit off topic, but I've got a small request, can you somehow make BlackHole 2.4 an option on Rom manager? I don't have DL09 so I can't use 3.0, but I really like the ability to select everything to customize, instead of me going and installing one thing at a time....
Why not just add the following to the end of the update-script:
Code:
copy_dir /sdcard/app SYSTEM:
Also, is the SDCard mounted by default when the phone boots to recovery? If it isn't, or it isn't mounted while the update is processing, that will also cause the problem.
wizang said:
This is a shot in the dark but does writing to /system/app require root permissions? It could be that you've given your terminal app root, so it runs under su. But when the script is being executed it does not have root and fails, but perhaps the output is being held back a bit and you're not seeing the permission denied.
Click to expand...
Click to collapse
Could very well be, it's not showing me any output when i run it the two ways it doesn't work, just says it's been run.
vegittoss15 said:
Steve_ ?!
whoa, didn't expect it to be you of all people
Anyhoo, this is a bit off topic, but I've got a small request, can you somehow make BlackHole 2.4 an option on Rom manager? I don't have DL09 so I can't use 3.0, but I really like the ability to select everything to customize, instead of me going and installing one thing at a time....
Click to expand...
Click to collapse
Haha, caught me. I was trying to remain incognito Yeah, i'll get 2.4 loaded back up on rom manager for you today. But if you flash 3.0 it will upgrade you to DL09 and the DJ05 kernels and modem are compatible, or at least no one i know of has had issues.
imnuts said:
Why not just add the following to the end of the update-script:
Code:
copy_dir /sdcard/app SYSTEM:
Also, is the SDCard mounted by default when the phone boots to recovery? If it isn't, or it isn't mounted while the update is processing, that will also cause the problem.
Click to expand...
Click to collapse
sdcard is mounted when you go to recovery, because it's got to access the update.zip file on it to install anything. I'll try your code, do you know what to put after SYSTEM: to make it go to the /app directory? thanks for the idea, it's a different way to go, i didn't think about the fact the update-script could access the device if you don't use the "package" tag.
Don't you need to add "sh" to the bin directory and define the script as so:
#! /bin/sh
if you want it to execute properly..
dcow90 said:
Don't you need to add "sh" to the bin directory and define the script as so:
#! /bin/sh
if you want it to execute properly..
Click to expand...
Click to collapse
normally yes, but there doesn't seem to be a /bin/sh directory on my fascinate, only /bin and that's where the cp and mv and cat, etc. are.
I made a script to do this forever ago on my G1 when it first came out... Let me see if I can find it.
This has been done lots of times before. If you look around on xda there are some backup scripts which do the same thing.
Sent from my SCH-I500
imnuts said:
Why not just add the following to the end of the update-script:
Code:
copy_dir /sdcard/app SYSTEM:
Also, is the SDCard mounted by default when the phone boots to recovery? If it isn't, or it isn't mounted while the update is processing, that will also cause the problem.
Click to expand...
Click to collapse
Well I gave that a shot, and i think it could work, but the recovery wouldnt do it. it says "non-package source path not yet supported" good idea tho.
yutsoku said:
I made a script to do this forever ago on my G1 when it first came out... Let me see if I can find it.
Click to expand...
Click to collapse
If you can that would be great.
n0yd said:
This has been done lots of times before. If you look around on xda there are some backup scripts which do the same thing.
Sent from my SCH-I500
Click to expand...
Click to collapse
I spent a good bit of time searching and most of the scripts I found were much more complex than what i need, or were written to run on a computer, which i've already done.
sonofskywalker3 said:
normally yes, but there doesn't seem to be a /bin/sh directory on my fascinate, only /bin and that's where the cp and mv and cat, etc. are.
Click to expand...
Click to collapse
Thats not the point. You need to set a shell interpreter, not a path. Cwm uses busybox sh, which is in /bin in recovery mode. Google search shebang
Sent from my SCH-I500 using XDA App
jt1134 said:
Thats not the point. You need to set a shell interpreter, not a path. Cwm uses busybox sh, which is in /bin in recovery mode. Google search shebang
Sent from my SCH-I500 using XDA App
Click to expand...
Click to collapse
Going to go ahead and parade my stupidity in front of everyone here:
so does that mean i'm right using #! /bin/ or that it should be #! /bin/sh/ or something else entirely? I'm so confused.
sonofskywalker3 said:
Going to go ahead and parade my stupidity in front of everyone here:
so does that mean i'm right using #! /bin/ or that it should be #! /bin/sh/ or something else entirely? I'm so confused.
Click to expand...
Click to collapse
#!/bin/sh for scripts in recovery. #!/system/bin/sh for scripts in android.
Sent from my SCH-I500 using XDA App

Overclocking Daemon with or without RAM optimizations

This is a tweak of this thread to work with the nexus. I claim no credit what so ever. All the work was done by Smokin1337, Rmk40, Juwe11, Sybregunne, and -viperboy-, I just tweaked it a bit to work with the nexus.
I am using this at the moment with the latest MIUI.us rom (1.8.26) and it is working for me. I am unsure about other roms but I imagine that it will work with CM because it supports init.d.
Install this from recovery and make sure to make a backup before because I guarantee nothing. Make sure to remove any overclocking apps otherwise the daemon wont work. A lowmemorykiller app such as autokiller will change the values set by the RAM script therefore you might want to remove that too.
More info on the overclock daemon here. http://forum.xda-developers.com/showpost.php?p=14529333&postcount=5
More info on the RAM optimization. http://forum.xda-developers.com/showpost.php?p=14446249&postcount=1
A nice graphical tool that allows users to change Virtuous_OC frequencies and governors. http://forum.xda-developers.com/showpost.php?p=16726715&postcount=2
edit:
updated zips because i messed up the update-script on the original ones.
flashed zip and installed apk but cant get the gui to work the apply button doesnt allow it to apply, 1.8.26 miui
which gui version are you using? I used 2.11 and it works for me.
2.11 hangs on the loading screen for me...i get further with 1.21 but not by much
probably hanging because the install didnt work. Using adb shell, terminal emulator, or root explorer verify that the virtuous_oc folder got installed to /system/etc and has the 6 adjustable files inside of it. I will do a clean wipe on my phone and give it a try again with the files from the OP.
OK so I messed up on the update-script, I am still new to this. The OP will have the updated zips.
to tell if its working go to adb shell or a terminal emulator and type
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
it should change when you wake and sleep the phone
edit:
lol just thought about this. Will be kinda hard to check to see if it is working from a terminal emulator.
Working now thanks
Sent from my Nexus One using XDA App

[N5] [FKU and PAM apps] Default kernel and Per App Mode Swaps.

So, In an attempt to get the configuration talk out of @franciscofranco's kernel thread, I decided to open this "swap meet"
As you may know I've wrote a couple scripts to make it easier to pull a backup of the kernel settings available through the franco kernel updater app.
Preparing files for sharing
Kernel Settings
so, if you want to share your kernel settings, grab the backup-script.sh file from here, run it either through a file manager or a terminal emulator, then head over to /sdcard/settings_backup/ and grab the restore-script.sh file, rename it to <your_user_name-defaults.sh> and post a link to it here.
Per App Modes
If you want to share you Per-App Modes settings, you'll need to use either the franco kernel updater or his stand alone Per-App Modes app, either way, the process is the same, just the file paths are a little different.
FKU App
So, if you use the fku app, go into fku -> Per-App Modes -> Manage your modes and click the BACKUP MODES in the top right corner. This creates an xml file of all your per app settings (one file per mode). These files are stored in /sdcard/franco.kernel_updater/saved_per_app_modes
Create a zip file including the modes you want to share and post it here.
Stand Alone Per-App Modes App
The process for using the stand alone app is the same. Per-App Modes -> Manage, and click BACKUP MODES in the top right corner again, this creates another batch of .xml files... Only they're stored in /sdcard/per-app_modes/saved_per_app_modes/
Once again, Create a zip file of the modes you want to share and post here.
Using Shared Settings
Okay, so you've downloaded the scripts and zips that you want to try out... how do you use them..
Kernel Settings
The scripts are easy, just run them (as root) through a file manager or terminal emulator.. then use fku or an init.d system to set the changes on boot if you want.
Per App Modes
The process for using the downloaded zips is just the reverse of sharing them...
Unzip the file and place the .xml files in the appropriate folder (/sdcard/franco.kernel_updater/saved_per_app_modes if you use fku, or /sdcard/per-app_modes/saved_per_app_modes/ for the standalone Per-App Modes app)
Then go into into your app, back to the manage page, where we clicked the BACKUP MODES last visit, only this time, click the LOAD MODES button.
Now, if you had copied the .xml file to the right folders, you should see the new PAM modules loaded into the list.
I will try to keep my signature link up to date with posted settings, and try to keep an eye out for identical or substantially similar settings.
For those using mobile apps and can't see signatures, here is the link to the scripts.
the backup-script.sh file is in the scripts folder, kernel and pam settings are in the settings folder.
Custom Paths for Per-App Modes
One thing that the stand alone app brought that hasn't (officially?) been ported back to the fku app is custom paths...
Giving you the ability to use any tunable setting in your Per-App Modes. --now in fku
While you can add and edit these easily through the stand alone app (and one reason why I think you should get it) once you know how the files work, thy can also be used in the main fku app...
Because of this, I am somewhat hesitant to give out the directions without approval from franciscofranco... Per-App Modes is a paid app of his and I would hate to take revenue out of his pocket.
Okay, since @franciscofranco has given me permission to release this, here we are...
This Zip file contains all the (useful) per app mode custom paths... to use this DO NOT FLASH IT... this is just a simple zip, nothing else... just unzip it in the right location...
If you use the fku app, then you need to unzip it and move/copy the files from the zipped folder to the franco.kernel_updater/per-app_custom_paths folder.
If you use the standalone per app modes then follow the same directions as fku, but put the files in the per-app_modes/per-app_custom_paths folder
Cautions and Warnings
-Any and all zips you find in this thread should NOT be flashed via recovery, don't try, bad things may happen...
-Permission errors may occur when running scripts from this thread as root. I haven't been able to figure out why, but some roms seems to set various file permissions to 444 instead of the 664 that my script expects... if you do encounter this situation, let me know and I'll give you a quick fix for it (requires adding a line to the scripts)
I haven't added the fix to my backup-script yet because I'm curious what files they are.. I've encountered 2 files so far
- Upon further testing, we've learned that root browser (app) might not work to run these scripts... adb shell and terminal emulator are working properly though. (backup script needed a small tweak as well)
Kernel setting scripts
Nexus 5
STOCK Settings
r46
aow1980
April 17, 2014
The Gingerbread Man
April 13, 2014
Tzfardaya
April 13, 2014
Vomer
July 22, 2014
Per-App Modes
The Gingerbread Man
April 13, 2014
Francisco Franco
May 11, 2014 - Low Power
May 12, 2014 - Games, Low Power
Vomer
May 11, 2014 - Low Power
Subscribed
Sent from my Nexus 5 using XDA Premium 4 mobile app
Subscribed! This is gonna be good! I'll upload a few of my setups soon!
Interesting Kernel settings , will give it a try and test your script. Thanks for sharing. Good luck with your thread
Tapatalk Team SlimRoms
This would be the perfect place to share some custom paths too
Subscribed and I'll see about linking to this thread from my learner lounge
Sent from my Nexus 5 using Tapatalk
The Gingerbread Man said:
This would be the perfect place to share some custom paths too
Subscribed and I'll see about linking to this thread from my learner lounge
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Yeah, I've got a zip of ALL the custom paths ready, just working on the write up for them...
and trying to solve a small moral dilemma with them...
This thread could also be used for all the supported fku devices if you were to split up the op into several device specific sections and ask about getting the thread moved to Android General forum. New posts can also be inserted on your behalf but you need to contact a moderator for both of these...
Sent from my Nexus 5 using Tapatalk
The Gingerbread Man said:
This thread could also be used for all the supported fku devices if you were to split up the op into several device specific sections and ask about getting the thread moved to Android General forum. New posts can also be inserted on your behalf but you need to contact a moderator for both of these...
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
I know, but I don't have the other devices to get the scripts set up for it.. and I'm more interested in working the nexus 5 right now..
I would have no problem if others wanted to use my scripts as a base for writing their own for swapping
Tzfardaya said:
Per-App Modes
The Gingerbread Man
April 13, 2014
Click to expand...
Click to collapse
FYI, getting a bad zip file here, but the tgbm.zip in your sig works just fine
(damn that was hard to write with auto correct on SwiftKey. Lol.)
Sent from my Nexus 5 using XDA Premium 4 mobile app
WettbackMartyr said:
FYI, getting a bad zip file here, but the tgbm.zip in your sig works just fine
(damn that was hard to write with auto correct on SwiftKey. Lol.)
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
heh, yeah, swiftkey autocorrection is a pain at times..
but I just downloaded through both the pc and nexus 5 and got clean downloads of that zip...
I'm not sure if the two gingerbread zip are different, but he just sent me the current batch today... (hence the date in the name) the others are from when I first worked on the scripts
Tzfardaya said:
heh, yeah, swiftkey autocorrection is a pain at times..
but I just downloaded through both the pc and nexus 5 and got clean downloads of that zip...
I'm not sure if the two gingerbread zip are different, but he just sent me the current batch today... (hence the date in the name) the others are from when I first worked on the scripts
Click to expand...
Click to collapse
Hmmmmmm :-/ I just can't get a good download on my Nexus 5. I'm not complaining tho, just trying to help for other people that may encounter the same. I got the scripts on my end one way or another.
Sent from my Nexus 5 using XDA Premium 4 mobile app
WettbackMartyr said:
Hmmmmmm :-/ I just can't get a good download on my Nexus 5. I'm not complaining tho, just trying to help for other people that may encounter the same. I got the scripts on my end one way or another.
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Try this one https://docs.google.com/file/d/0B2ar5BB6clkDQ0JfMVQ3NGtucEU/edit?usp=docslist_api I probably won't keep it in my drive long but feel free to get it while its there
Sent from my Nexus 5 using Tapatalk
How do I run (as root) or file manager for script ?where do I put the script file for kernel settings? I open the .sh file and it open and I see just texted files
Sent from my Nexus 5 using xda app-developers app
Just tested The Gingerbreads configuration and I must say I definitely see an improvement from the settings I had previously set. Nice job.
The Nexus 5 advocate (Team Inferno)
Ramone360 said:
How do I run (as root) or file manager for script ?where do I put the script file for kernel settings?
Sent from my Nexus 5 using xda app-developers app
Click to expand...
Click to collapse
It doesn't matter where the scripts are ran from, you run them either by selecting them in the file browser or running the following commands in a terminal emulator.
Code:
su
Then
Code:
sh <script-name>
Just realize that running the script alone will not keep the settings across reboots...
You need some other way to persist the settings... Either using fku or an init.d system.
My recommendation is fku, use these scripts to set the values all at once, then use the fku set on boot toggles.
All a shell script is is a text file with a series of shell commands, it's only purpose is to run a series of commands in a row to prevent forgetting one or making typos... It's like the old dos/Windows batch commands...
Tzfardaya said:
It doesn't matter where the scripts are ran from, you run them either by selecting them in the file browser or running the following commands in a terminal emulator.
Code:
su
Then
Code:
sh
Just realize that running the script alone will not keep the settings across reboots...
You need some other way to persist the settings... Either using fku or an init.d system.
My recommendation is fku, use these scripts to set the values all at once, then use the fku set on boot toggles.
All a shell script is is a text file with a series of shell commands, it's only purpose is to run a series of commands in a row to prevent forgetting one or making typos... It's like the old dos/Windows batch commands...
Click to expand...
Click to collapse
Sorry I still don't get it. I'm too familiar with terminal emulater. l always use root explorer. I downloaded the file but now my question is how do I run as root.
Sent from my Nexus 5 using xda app-developers app
Sent from my Nexus 5 using xda app-developers app
To run the script from terminal emulator you'll need to first locate the file.. But you need to be root to launch an .sh file.
Type "su" without quotes and let SuperSU prompt you, make sure you grant it root access.
Navigate to the file by using the "cd" command without quotes.
If you're like me..and downloaded it from a browser or Tapatalk.. You'd type cd storage/sdcard0/Download
Then run "ls" without quotes to make sure the file is in there. Once it is make a note of the name.
Type su FILENAME.sh (replacing filename with the actual name of the file) and hit enter. Should have worked. It did for me. If done correctly you should see no confirmation or error message. In Linux no messages are a good thing.
PS : don't forget to grant root to terminal emulator if you haven't yet. Remember to use FKU or init.d to make settings stick after reboot.
Edited to include "su" command for those who don't know how to run terminal emulator as root.
The Nexus 5 advocate (Team Inferno)

Llama Sweet Kernel Tweaks

Feature list​
- sets hostname to LG-G4 something that was missing at first from lineage/aosp 7.1.1 (maybe i will remove that)
- Better mount point flags
- Internal storage:
nomerges
nr_requests
lower safe read_ahead_kb
cfq scheduler
cfq scheduler tweaks
remove add_random (if its enabled in the kernel by default)
rq_affinity
- external storage:
nomerges
nr_requests
lower safe read_ahead_kb
cfq scheduler
cfq scheduler tweaks
remove add_random (if its enabled in the kernel by default)
rq_affinity
- Net and virtual memory:
tcp_congestion_control
disable_ipv6
dirty_writeback_centisecs
dirty_expire_centisecs
dirty_background_ratio
dirty_ratio
drop_caches
kernel.panic
min_free_kbytes
overcommit_ratio
panic_on_oom
swappiness 0 #llama doesn't have zram feature, it's useless on Lg G4
vfs_cache_pressure
- CPU customisations ~depends on your choice of script~
balanced ~doesn't make any cpu changes~
less ~for less battery drain, cpu rests more~
more-less ~for a lot less battery drain, but with a big lag (will soon try fix stability and smoothness)~
performance ~for full cpu power, but rest when the screen is off~
- Kernel customisations
msm_thermal ~off on battery save / on and set a safe temp. for performance~
lowmemorykiller
read_wakeup_threshold
write_wakeup_threshold
hotplug customisation
- Only the safe internet customisations
tcp_timestamps
tcp_tw_reuse
tcp_sack
tcp_tw_recycle
tcp_window_scaling
tcp_keepalive_probes
tcp_keepalive_intvl
tcp_fin_timeout
For stock based roms follow the guide in post #2
How to "install" it ? Simple
1.unzip
2.place it in /system/etc/init.d
Code:
adb root
adb remount
adb push <your tweak> system/etc/init.d/
3.change its permissions to 755
4.lastly change owner:group to root:shell
Code:
adb shell
su
mount -o remount rw /system
chmod 755 /system/etc/init.d/<your tweak>
chown root:shell /system/etc/init.d/<your tweak>
If you don't have a pc, type in a terminal inside your g4
Code:
su
mount -o rw remount /system
chmod 755 /system/etc/init.d/<your tweak>
chown root:shell /system/etc/init.d/<your tweak>
Those of you that use the new systemless root method of chainfire you can put the script in /system/su.d or in /su/su.d with permissions 700 (same permissions at folder and script) and set owner:group to root:root
Those of you that use the new magisk root method you can put the script in /magisk/.core/service.d/ with the same permissions and ownership as in init.d
Those coming using search bar and don't have this phone and this kernel, don't try it, unless you know what to edit to "fit" your own kernel.
These tweaks aren't just for faster easy setting up our phone, they are more useful for those that don't want to have root access ON, for various personal reasons. They can apply those settings on boot and setup their phone without the need of root and an app asking for root.
Easy removal: delete the script and reboot. And never use more than one of these scripts inside init.d
Careful, some stock based roms have preinstalled some scripts inside init.d by default.
Those must be removed after flashing Llama Sweet Kernel. They are not compatible and they cause instability !
BIG Thanks to this genius
@genesixxbf3
for his kernel to our lg g4.
XDA:DevDB Information
[Tweaks][MM/N][H815][H811]Kernel Tweaks[CM/STOCK/AOSP], Tool/Utility for the LG G4
Contributors
kessaras, genesixxbf3
Version Information
Status: Stable
Created 2016-12-09
Last Updated 2017-04-25
Reserved
This is a guide for ALL stock based roms and all kernels.
My script will only add tweaks that apply to all kernels.
For those that are rooted with SuperSu, they must first fully remove it.
Nub guide to change SuperSu for Magisk root:​
Step 1.
SuperSu must be removed.
Go into supersu -> settings -> fully remove root access.
###Or download and flash in recovery mode the UnSu script from osm0sis thread.###
Step 2.
Use hardware key combination to boot to TWRP.
###If you used the UnSu script, no need to reboot to recovery, skip step 2 and go to next one.###
Step 3.
Flash latest magisk flashable zip for users that are not rooted yet.
It sais: "If you're not rooted, or something went wrong and you need a clean start"
Download that .zip file and flash it.
Now you are rooted again. Reboot to your rom.
Step 4.
Download Magisk Manager from play store. In that app you can even enable systemless root to hide root from the apps, or do many things that you like.
Questions further go to magisk thread not here. And don't forget to re-enable usb debugging. After you removed root, that was toggled, ###Unless you used the UnSu script again. That means that before reboot you were already rooted.###
Now it's time to install your script.
Download the compressed tweak from this post , uncompress it and follow the next guide.
The steps are the same with the lineage based roms and it works for ALL lineage based roms too
If you use a root file manager then you can skip the guide and just cut - paste the script in /magisk/.core/service.d/
set permissions to 755, ownership to root:shell and reboot.
INSTALLATION​Step 1.
place it in /magisk/.core/service.d/
Code:
adb push /<path to the script>/90balanced /sdcard/
adb shell
su
mv /sdcard/90balanced /magisk/.core/service.d/
Step 2.change its permissions to 755 if it's not already set to 755 by default
Code:
chmod 755 /magisk/.core/service.d/90balanced
If you don't have a pc, type the same commands in g4 terminal but of course without the adb command. Script is supposed to be in path /sdcard/
not in /sdcard/download/ or whatever path. Otherwise edit the command "mv ..." to match the script path.
That's it. Reboot to apply your tweaks.
~I will add Llama Sweet kernel tweaks for stock based ROMS when Genesixxbf3 fixes the bluetooth issue.
Until then all use this one that applies to all kernels including Llama.
Special thanks to:
@topjohnwu for developing Magisk
and to
@osm0sis for his UnSU script
My scripts are not meant for use with kernel adiutor.
Changelog
31/01/2017
- fixed stability for "90less"
- changed to "westwood" tcp congestion control
01/02/2017
- changed to Fiops scheduler only for the 90less and 90more-less
- fixed stability for 90more-less
12/02/2017
- when screen is on, 3 cores always online not 1.
- fixed stability for 90less , 90more-less
- 90balance, interactive governor stable and at the same time conserving some battery
- big cores governor is same with small cores
15/02/2017 and 20/02/2017
- changed back to cfq scheduler
- added cfq scheduler tweaks
- fixed path to disable ipv6
09/03/2017
- fixed a bug for those that big cores were found disabled on boot
Although this is something caused from dirty flashing and can only be fixed with a clean flash
18/03/2017
- Added better mount point flags for Lineage/Aosp based roms, for f2fs, for those that prefer using f2fs partitions format
- i changed the way the mount points get set, now you don't need busybox if you don't want to.
- bigger timer rate for interactive governor for the balanced tweak, balanced can conserve battery now too.
25/04/2017
- Less-more is not lagging anymore but of course it still loads slow since cpu runs at a lower frequency
- interactive governor in balanced script saves more battery than before
- All scripts now give a small cpu frequency amount on input to reduce lag
- At less and less-more the hotplug sets the cores online at a lower frequency. Before, with those scripts you could rarely see the other cores online
kessaras said:
You can request any setting for kernel and cpu you want. I can add them for you.
Screenshots of battery with 90less.
~Haven't done anything special. Brightness is at normal with "auto" ON, gapps stock, usage: Normal, chat, xda, phone Calls/Messages, GPS ON.
Many factors determine the battery drain, such as 3rd party apps, ads from apps, services and more, don't blame my settings. Those settings are absolute and tested and i only do this to help everyone.
Click to expand...
Click to collapse
Thanks for you work, I am using H818p without BL unlock. Currently, I can modify /etc/init/qcom.post_boot.sh from this thread (http://forum.xda-developers.com/tmo...-msm-8992-cpu-io-ram-interactive-gov-t3351478).
The question is, can I port some tweaks from this thread to the stock kernel using qcom.post_boot ? I am not familiar with the seqence of boot, any idea ?
Thanks,
jskasia said:
Thanks for you work, I am using H818p without BL unlock. Currently, I can modify /etc/init/qcom.post_boot.sh from this thread (http://forum.xda-developers.com/tmo...sm-8992-cpu-io-ram-interactive-gov-t3351478).
The question is, can I port some tweaks from this thread to the stock kernel using qcom.post_boot ? I am not familiar with the seqence of boot, any idea ?
Thanks,
Click to expand...
Click to collapse
Scripts are only for Llama kernel. So,
it depends if the stock kernel has same file "trees". Worst case scenario is to not be able to boot. If you can enter recovery you can fix it by doing :
Code:
rm /system/etc/init.d/<name of the script>
Or use the recovery file manager to delete it,
reboot and you are fine.
Don't use 90less as it is or for sure you won't boot. Less is using alucard governor which doesn't exist in stock. Open script and edit those lines, change alucard to interactive.
"kernel tweaks" delete them. the stock kernel doesn't have same hotplugs and heat protection.
EDIT:
a part of the scripts does work for stock without llama kernel. it's not dangerous because the stock lg rom doesn't have init.d support on boot and the script only can be applied inside kernel adiutor by enabling init.d emulator.
you can use it then. you will just not get the 100% out of it.
in the 90less you wont get the alucard governor and the hotplug to let the cpu rest.
the only alternative available is to make you one that edits the interactive governor to work almost the same as alucard and conserve a bit more battery than the stock interactive does.
@matgesiarz
follow the op
kessaras said:
Scripts are only for Llama kernel. So,
it depends if the stock kernel has same file "trees". Worst case scenario is to not be able to boot. If you can enter recovery you can fix it by doing :
Code:
rm /system/etc/init.d/<name of the script>
Or use the recovery file manager to delete it,
reboot and you are fine.
Don't use 90less as it is or for sure you won't boot. Less is using alucard governor which doesn't exist in stock. Open script and edit those lines, change alucard to interactive.
"kernel tweaks" delete them. the stock kernel doesn't have same hotplugs and heat protection.
Click to expand...
Click to collapse
Okay, I successfully put the tweaks (balance) on to init.qcom.post_boot.sh. My phone boot without any problem. After few days we will see the result.
Thanks
we just need to push scripts or I need also to clean the init.d folder first from other scripts? I am on ChyperOS 3.1.4
If I understand right, if I put this tweak I don't need to setup any kernel modification in apps like EX Kernel manager, isn't?
Vipery said:
we just need to push scripts or I need also to clean the init.d folder first from other scripts? I am on ChyperOS 3.1.4
Click to expand...
Click to collapse
no you don't clean the init.d folder. if you do that you will lose important script that needs the rom to boot. you only use one of those scripts in init.d, if you put 2 of those in, delete the one.
Oletros said:
If I understand right, if I put this tweak I don't need to setup any kernel modification in apps like EX Kernel manager, isn't?
Click to expand...
Click to collapse
exactly and if you need any change and you don't know how to edit the script, you can ask me to add it for you
kessaras said:
no you don't clean the init.d folder. if you do that you will lose important script that needs the rom to boot. you only use one of those scripts in init.d, if you put 2 of those in, delete the one.
Click to expand...
Click to collapse
Thank you. Another thing, I need to set owner and group to shell or just group? The other scripts are set root/shell and not shell/shell.
Vipery said:
Thank you. Another thing, I need to set owner and group to shell or just group? The other scripts are set root/shell and not shell/shell.
Click to expand...
Click to collapse
only what the op sais. only group owner. its already set from me, but you have to at least check if its set, if not, set it. group owner shell
Thanks for the tweaks!
Sorry for this perhaps silly question, but which is supposed to be more battery friendly between balanced and less?
joaste said:
Thanks for the tweaks!
Sorry for this perhaps silly question, but which is supposed to be more battery friendly between balanced and less?
Click to expand...
Click to collapse
less refers to less battery consuption and its only by a little cause we don't want to have lags. Of course we can do it even more battery friendly but we will have a very slow phone.
kessaras said:
less refers to less battery consuption and its only by a little cause we don't want to have lags. Of course we can do it even more battery friendly but we will have a very slow phone.
Click to expand...
Click to collapse
Thanks for the clarification!
kessaras said:
exactly and if you need any change and you don't know how to edit the script, you can ask me to add it for you
Click to expand...
Click to collapse
Thanks
Ok,I applied your 90less tweaks and here's what I've got after reboot:
The big cores governor-interactive,max.freq.-1248
The little cores governor-alucard,max.freq.-1440
MSM Hotplug-OFF
MSM MPDecision Hotplug-ON
Is that ok or...?
welder73 said:
Ok,I applied your 90less tweaks and here's what I've got after reboot:
The big cores governor-interactive,max.freq.-1248
The little cores governor-alucard,max.freq.-1440
MSM Hotplug-OFF
MSM MPDecision Hotplug-ON
Is that ok or...?
Click to expand...
Click to collapse
nothing applied on boot.
in less,
max for the big is set to 1536
and hotplug is off to not get load for nothing since the temp wont go higher than 60 even under the hot summer sun.
kessaras said:
nothing applied on boot.
in less,
max for the big is set to 1536
and hotplug is off to not get load for nothing since the temp wont go higher than 60 even under the hot summer sun.
Click to expand...
Click to collapse
So I should change the max for the little cores to 1536 and everything else is ok?
Vipery said:
Thank you. Another thing, I need to set owner and group to shell or just group? The other scripts are set root/shell and not shell/shell.
Click to expand...
Click to collapse
...

4/20/2017 [] 7.1.1 UPDATE [] One Plus 3 (msm 8996) [] CPU, VM, RAM, IO "Tune"

4/20/2017 [] 7.1.1 UPDATE [] One Plus 3 (msm 8996) [] CPU, VM, RAM, IO "Tune"
ORIGINAL THREAD HERE: https://forum.xda-developers.com/axon-7/development/2-15-2017-axon-7-msm-8996-cpu-vm-ram-t3557392
This mod was originally created for the Axon 7, but due to several requests, I've modified a version for the One Plus 3, please see below, and post questions or comments in the original thread above. Please state you are a One Plus 3 user if you have feedback in that thread, to consolidate user feedback and speed up response time.
Custom tuning for a device is always a necessity. "Canned" settings will get you by, but they are certainly never optimized for a specific device. In fact, Linux typically takes a general approach to find harmonic balance in default settings that will, for the most part, work in an acceptable manner for just about any device. There are a lot of resources available on this device, so we should utilize it in a manner appropriate to squeeze out as much battery life and performance as possible without sacrificing much of those outputs, don't you think? This is going to fix that for you.
Here is what is required of you before you begin:
1. Must be rooted
2. Must have the One Plus 3 OR a device running the Snapdragon 820, as this modification is not so much device specific, but hardware specific. The important aspect being the snapdragon 820 and the RAM disk size.
3. Must have write protection disabled. If the One Plus 3 requires write protection to be disabled, see the code and instruction below:
Using adb shell:
Code:
adb reboot disemmcwp
Using Linux terminal (from your phone, for example):
Code:
reboot disemmcwp
Let's begin.
Getting right to it, here's what I've done:
- modified parameters of the interactive governor, and quite extensively at that (search some of my threads if you want a little bit of a breakdown of the general approach I take)
- reconfigured input_boost parameters
- reconfigured vm parameters (again, the device has a lot of RAM resource, this will utilize it and give you a far better user experience. Basically, I've adjusted dirty_ratio, dirty_background_ratio, swappiness, and other parameters of the virtual machine.)
- disabled zRAM for 6 GB variants (RAM compression, again, not needed on this device really, this mod will save you CPU cycles and power) this will not apply to 4 GB devices, you will still have zRAM enabled.
- remapped minfree parameters for LMK (low memory killer) again only for 6 GB variants
- Tuned CFQ scheduler for flash storage devices
- Tuned "core_ctl" module (needs kernel support, I recommend freeza's latest version of BeastMode. For those wondering, yes, you can still use this mod with the stock kernel. It won't break anything.) again this will only apply to devices that support core_ctl at the kernel.
In a nutshell, that's what we're looking at here. I can guarantee you this will have a significantly positive impact on your device. Turbo time, homies.
How to install????
Easy. First, the file we are replacing is found in /system/etc... it is the "init.qcom.post_boot.sh" file - this file is basically shell scripts, which are applied at boot via this particular shell file.
All you have to do is download the file to your device, open up a file explorer (must have root capability), navigate to the /system/etc folder with said file explorer, mount your /system as RW (read write), delete your stock "init.qcom.post_boot.sh" file, and replace it with mine.
After you've successfully done this, change the new file's permissions to rw-r--r-- (0644), and then reboot!
Or, if you are brave, you can do it manually via a terminal app and get your fingers wet... if you choose to do that, see below:
Make sure the file is located on the root of your internal sdcard in /sdcard, open your terminal app (again, must have root) and type the following commands, hitting enter after each one (be careful to pay attention to the spacing).
Code:
su
Code:
cd /
Code:
mount -o remount,rw /system
Code:
cd /system/etc
Code:
rm init.qcom.post_boot.sh
Code:
cd /sdcard
Code:
mv init.qcom.post_boot.sh /system/etc
Code:
chmod 0644 /system/etc/init.qcom.post_boot.sh
I don't want credit, don't need you to give or offer donations, this is purely for the community in the spirit of Linux ideology. All I ask is for you to hit the thanks button :good:
That's pretty much it, guys. Enjoy!
DOWNLOAD
I'm willing to give it a go...
File attached ?
Downloaded
warBeard_actual said:
ORIGINAL THREAD HERE: https://forum.xda-developers.com/axon-7/development/2-15-2017-axon-7-msm-8996-cpu-vm-ram-t3557392
Hello, everyone. I would like to provide this modification for this device, as it uses the same SoC as the Axon 7, V10, HTC 10... and a few other devices.
If anybody is interested, please provide me with the STOCK init.qcom.post_boot.sh file, which is found in /system/etc and I will post the modified file and instructions on how to install it.
:good:
Click to expand...
Click to collapse
Ok see immediately improvement! Thanks !
Going to test it a couple of days!
danny b. said:
Ok see immediately improvement! Thanks !
Going to test it a couple of days!
Click to expand...
Click to collapse
I haven't posted the one for your device yet, but I am uploading now.
op updated****
Axon7
warBeard_actual said:
I haven't posted the one for your device yet, but I am uploading now.
op updated****
Click to expand...
Click to collapse
This op3 is my daily phone
The axon 7 is my girlfriend phone also mine?but tested it on the 7 sorry for the confusion. Great work going to test it tomorrow on op3
Read through your entire other thread, you have been updating pretty tirelessly. I installed it on Open Beta 14, ran cat /proc to ensure swappiness was good and it shows 1 just like the config file so the tweaks are up and running on my device. I'm running the beta with the stock kernel so I'll do some testing and see how it does with general performance over the next few days.
I don't know who asked to you share this with us, but we definitely appreciate it :good:
will test it for a couple of days and report...
Heads Up...
the adb command doesn't work for me on OB13, it reboots the phone and doesn't disable Write protection, i went around that by deleting and replacing the file from TWRP...
Thank you I could see some battery improvements.i copied that file through twrp ..Using 4g and got 2.40 hours sot still 50 percent battery remaining.phone doesn't slow down or heat up it's a must try
If i change the kernel like blue spark then its worth it ?
And orignel file is about 122 k and youe file is only 22k.
Facebooook said:
If i change the kernel like blue spark then its worth it ?
And orignel file is about 122 k and youe file is only 22k.
Click to expand...
Click to collapse
He addresses this in the original thread and it is the same size difference on the axon 7. He removed the generic options and put in modified and tuned optimizations for our specific hardware build instead of every MSM device. It definitely provides a more responsive system overall, but I haven't had it running long enough to see the battery impact on the device.
How to check if it works?
Will it work on custom ROMs (AICP etc?)
Day 2 hotter than normal. In keep on testing
Edit: back to normal
Problem was new app
Plz ignore. Problem solved
Will definitely try this thanx a bunch???
Sn0wFl4keZ said:
How to check if it works?
Will it work on custom ROMs (AICP etc?)
Click to expand...
Click to collapse
Definitely no for custom ROMs. Using AICP with latest ElementalX, the file mentioned by OP is not even present in our /system/etc.
Anyway, pretty sure that kernel devs have already tweaked most of the parameters changed by this sh script, so I don't see any need for it for anyone except stock ROM and stock kernel users.
P.S. Still, a lot of work was done by OP, it definitely deserves a big Thank you.
Nezorflame said:
Definitely no for custom ROMs. Using AICP with latest ElementalX, the file mentioned by OP is not even present in our /system/etc.
Anyway, pretty sure that kernel devs have already tweaked most of the parameters changed by this sh script, so I don't see any need for it for anyone except stock ROM and stock kernel users.
P.S. Still, a lot of work was done by OP, it definitely deserves a big Thank you.
Click to expand...
Click to collapse
Thanks for the nod. And while I can't speak to the changes implemented by kernel compilers on this forum, I would be willing to give you guys a comparison of the custom ROMs/combos you're running on your op3.
It might shed some light on whether or not you'd benefit from using it if you're using a CM type set up.
Here's what you do... Go into /sys/devices/system/cpu/cpu0/cpufreq/interactive ...
There will be a bunch of files in there for above_hispeed_freq, hispeed_load... A bunch of others. Open them up with a file explorer, snap a screen shot, post it here so I can see the values of your CM-based ROMs.
Is there I way to confirm that it is working properly because I think it is but it feels like a placebo effect. Thanks for the mod :good:
Thanks
warBeard_actual said:
Thanks for the nod. And while I can't speak to the changes implemented by kernel compilers on this forum, I would be willing to give you guys a comparison of the custom ROMs/combos you're running on your op3.
It might shed some light on whether or not you'd benefit from using it if you're using a CM type set up.
Here's what you do... Go into /sys/devices/system/cpu/cpu0/cpufreq/interactive ...
There will be a bunch of files in there for above_hispeed_freq, hispeed_load... A bunch of others. Open them up with a file explorer, snap a screen shot, post it here so I can see the values of your CM-based ROMs.
Click to expand...
Click to collapse
Here are the contents of the .../interactive folder (everything except boostpulse - got 'Permision denied' on that).
That's for the AICP (based on LOS).
Hello.. Thanks for your mod.
I'm using freedomOS OB13 with francos kernel with his app. Already did all the steps in this thread.
Now, I Just wanted to know if it's just for stock phones or will it improve for everyone?
And how to check if everything is as it should?
Thanks in advance!
---------- Post added at 10:27 AM ---------- Previous post was at 10:22 AM ----------
theduke7 said:
will test it for a couple of days and report...
Heads Up...
the adb command doesn't work for me on OB13, it reboots the phone and doesn't disable Write protection, i went around that by deleting and replacing the file from TWRP...
Click to expand...
Click to collapse
Hey.. How did you check if the write protection is still disabled?
I'm on OB13 as well and my phone just restarted after the command and I thought that's it!

Categories

Resources