[APK] Seeder 2.0.0 entropy generator to provide significant lag reduction - Android Software/Hacking General [Developers Only]

Hey everyone,
Version 2.0.0 released!
This version introduces performance tuning, power management control, and an optional MMC I/O queue extension/timing change.
For those of you who have seen reboots / black screens that seem to be caused by Seeder, I suspect it may be due to the power management implemented in previous versions. Disabling power management (by unchecking "Suspend RNG service while screen off") may help. In my testing, battery impact was negligible (less than 2% per 24h).
The performance profiles are Light, Moderate, and Aggressive, and they control how frequently rngd wakes. The default configuration (Light) is unchanged from previous versions. Moderate and Aggressive may impact battery life (slightly), but may also help on devices where the entropy pool is drained quickly and often.
Last but not least, the "Extend I/O queue" option increases the nr_requests on MMC devices to 1024, and increases the dirty page expiry time, allowing more outstanding writes to accumulate. This may allow the I/O scheduler to make better decisions and combine more writes; some users have reported an improvement under heavy I/O.
Feedback appreciated!
---
On some (older) versions of Android, the JVM (and other components) often read random data from the blocking /dev/random device. On newer builds, this problem has been solved, yet depletion of the input entropy pool still seems to slow devices.
So, I cross-compiled rngd, and used it to feed /dev/urandom into /dev/random at 1 second intervals.
Result? Significant lag reduction (for some people)! :good:
Note - if you want to try it, you must be running a rooted device, and you only need to install one of the APKs (latest version is best). Then, just open it, and turn it on. The other files (patches / .zips) are intended for recompiling, packaging, and init.d integration. If you uninstall the app, either turn off rngd first (open, and click the on/off button), or reboot afterwards; the UI does not presently kill the daemon on uninstallation.
For more information on using the .zip flashing method, see Ryuinferno's post here:
http://forum.xda-developers.com/showpost.php?p=36479461&postcount=1924
FAQ
Q: Do I need the .apk or the .zip?
A: The easiest method is simply installing the latest .apk, attached below. You do not need to use the patch or the .zip file.
Q: What is the patch for?
A: The patch file contains the source differences needed to recompile the Seeder version of the rngd binary. You only need it if you want to recompile rngd yourself.
Q: What is the .zip file for?
A: The .zip file contains the latest rngd binary. It is intended for ROM builders or those who want to build their own CWMR packages.
Q: Seeder keeps shutting down! Does this mean I have to restart it?
A: The Seeder UI is only used to configure and start/stop the RNG service, which runs in the background. The RNG service is not visible from Android, since it is a native Linux process. You can terminate the UI at any time, and the service will continue running.
Q: Does seeder cause excessive battery drain?
A: Seeder 1.2.7 introduced an RNG service power-saving mode. The process automatically suspends whenever the screen is off. The code is actually in the rngd native binary, so suspend/resume events happen independently of the UI; you can see it in action by attaching to the running process with strace. This means that battery drain while the screen is off is highly unlikely.
While the screen is on, the RNG service simply polls a file descriptor every second, and, when needed, injects a small amount of random data into /dev/random (and calls an ioctl). It's unlikely that this would present enough load to trigger a CPU governor state change at 10mhz (let alone 200mhz), so it shouldn't impact battery life. Having said that, I have received sporadic reports that it does reduce battery life on some devices. They may be coincidental (other software installed at the same time), or due to extra device use while testing. Or, they may be real. If you think your battery drain has increased, shoot me a PM!
Q: How can I see the RNG service Linux process?
A: In a terminal, type: ps | grep rngd
Q: How do I uninstall the .apk?
A: Launch Seeder, and stop the RNG service. Then, uninstall the app as you normally would. Alternatively, uninstall the app, and reboot.
Q: Is seeding /dev/random with /dev/urandom safe?
A: Seeding /dev/random with PRNG-derived data does reduce the quality of its random data. However, it's worth noting that nearly all major OSes except Linux do this. Linux is one of the very few to offer a blocking RNG device. And, at least as of ICS, Dalvik doesn't even read /dev/random, so there is little difference anyway.
Updates
There has been a lot of controversy about Seeder/rngd. In newer versions of Dalvik, nothing touches /dev/random, and yet many users (including myself) still notice a lag reduction. There are theories ranging from kernel lock contention to UI polling load when crediting the entropy pool to simply kicking the governor. And many who believe it's all placebo. I'm trying my best to figure out what exactly is happening, and others are as well.
Someone asked how I arrived at the conclusion I did when I started the thread back in November, and I posted this; I think it might be better served here:
A while back one of the webapps I was hosting on Tomcat (server-side) was experiencing some inexplicable latency and while stracing java I saw it frequently hanging on read()'s from /dev/random. I checked the available entropy, and it was constantly under 250 or so. It was a VM, no HWRNG, so I decided to use rngd to push urandom->random.
Dropped session creation times under load from 5-10 seconds to less than a second.
It's worth noting that Linux is one of very few OSes that have a blocking RNG device. Free/OpenBSD, Windows, etc.. essentially only provide urandom. It's generally considered secure, even for long-term crypto keys, so long as the initial seed is big (and random) enough.
Checked on my device, and saw a few processes grabbing /dev/random. /proc/sys/kernel/random/entropy_avail reporting depleted input pool. Figured it was worth a shot, so I rebuilt rngd for arm (with a few patches, linked on first page), and tried it out. It made a significant difference. Posted it up on this thread, and had a lot of positive feedback. Wanted to get into Android development, so figured.. why not wrap a little UI around it. More positive feedback, so I threw it on the market as well.
I had no idea it would take off like this and was shocked when I saw it Thursday morning. I'm in the awkward position now of explaining why it seems to work for some people, and not for others, especially given the fact Dalvik doesn't have references to /dev/random as of ICS. Theories abound, but it looks like it might be an issue of polling the UI for input events when the entropy pool drops (which never happens so long as rngd is running).
I'm doing this as a hobby. I'm a *nix admin by trade, and can only spend time working on this stuff on evenings and weekends, and the last few weeks have been kinda nuts.
I want to stress to everyone that:
a) It doesn't work the way I thought it did on later Android builds, but it does reduce latency for me and many others even on these builds,
b) I'm offering (and always will offer) Seeder for free to everyone on XDA,
c) Like I say in the market description, if anyone has purchased it and it isn't working, PLEASE email me for a refund (and let me know what device you're on if you're willing).
I was one of the first to root the Captivate glide (my first Android phone), and submitted the A2DP bitpool patch; I was active in the n900 community. I hope everyone understands that I'm doing my best here!
I hope the technique proves useful to people, and if there is in fact contention at the kernel level, I hope it's solved so we all benefit.
Version 2.0.0 attached. No changes.
Version 2.0.0b1 attached. New performance profile selector, I/O queue extender, and power saving control. Improved root checking.
Version 1.4.0 attached. Major refactoring. Service control now fully asynchronous.
Version 1.3.1 attached. No changes from 1.3.1-beta.
Version 1.3.1-beta released. New root check method during ANR-sensitive code.
Version 1.3.0 attached. Proper IntentServices for process control, and notification on upgrade / loss of root / autostart failure.
Version 1.2.9 attached. Yet another update to the upgrade/autostart code.
Version 1.2.8 attached. Asynchronous startup of rngd during boot; this should solve the remaining autostart problems some users have reported.
Version 1.2.7 released. This version introduces a much more efficient suspend-on-sleep mode for rngd.
Version 1.2.6 released. This version reverts the suspend-on-sleep rngd change which may have been contributing to new latency. I'm sorting out a better way of implementing it.
Version 1.2.5 released. This version should fix the autostart failure some users have seen.
Version 1.2.4 released. This version implements a progress bar displaying your currently available entropy, as well as automatic rngd restart on upgrade.
Version 1.2 released. This version implements rngd suspend-on-sleep, and contains minor user interface updates, more robust process and superuser checks, and a new icon (thanks Nathanel!)
Version 1.1 released. This version uses the release signature, so you will need to uninstall the old XDA version first!
This version fixes the issue some users were seeing on later Jellybean ROMs, where the UI would misreport the RNG service status.
Caveats
There is a (theoretical) security risk, in that seeding /dev/random with /dev/urandom decreases the quality of the random data. In practice, the odds of this being cryptographically exploited are far lower than the odds of someone attacking the OS itself (a much simpler challenge). It's worth noting that as of ICS, Dalvik uses /dev/urandom exclusively, anyway, and that Linux is one of very few modern operating systems that even offer a blocking RNG device to begin with.
Support for rngd suspend-on-sleep was added to Seeder 1.2. It should no longer impact battery life while the device is asleep.
There has been a large amount of speculation on why/if this actually improves performance on ICS+ devices. I'm continuing to investigate and will post updates to this thread.
If you try it, let me know how it goes.
ROM builders - feel free to integrate this into your ROMs (either the .apk / application, or just the rngd binary called from init.d)!
If anyone's interested, I've launched a paid app on the Play store for non-xda users. As I add features I'll post the new versions here as a thanks to you guys (and xda community at large for being such a great resource). But if anyone's interested in the market's auto-update feature, just thought I'd mention it.
Cheers! :highfive:

This seems absolutely amazing!I think I'll try it out on the weekend, cheers!

Will this work for cwmr 6
Sent from my SGH-I927 using xda app-developers app

Hi,
I would try this, cause I experienced these lags, and they're really annoying, but I'd really need a simple instruction for what to do. You wrote how you managed to discover what to do and stuff, but I'm lost between the lines. Since I'm kind of a newbie, I'm kindly asking you to write some kind of instruction manual step by step, and forgive my ignorance

Laugher19 said:
Will this work for cwmr 6
Click to expand...
Click to collapse
Not yet. If a few people try it and report positive results, I'll make a flashable image. Stay tuned.
soadzoor said:
Hi,
I would try this, cause I experienced these lags, and they're really annoying, but I'd really need a simple instruction for what to do. You wrote how you managed to discover what to do and stuff, but I'm lost between the lines. Since I'm kind of a newbie, I'm kindly asking you to write some kind of instruction manual step by step, and forgive my ignorance
Click to expand...
Click to collapse
I updated the first post with instructions. Please be careful, though! Let me know if you need more detail.

lambgx02 said:
I updated the first post with instructions. Please be careful, though! Let me know if you need more detail.
Click to expand...
Click to collapse
I got troubles. Using Terminal Emulator I got an error message when I type the 3rd line ("cp /mnt/sdcard/rngd /system/xbin"), it says: "sh: cp: not found"

soadzoor said:
I got troubles. Using Terminal Emulator I got an error message when I type the 3rd line ("cp /mnt/sdcard/rngd /system/xbin"), it says: "sh: cp: not found"
Click to expand...
Click to collapse
Where did you transfer rngd to on your phone? Have to make sure the source path matches.

lambgx02 said:
Where did you transfer rngd to on your phone? Have to make sure the source path matches.
Click to expand...
Click to collapse
It does match, that's why I'm confused.. :\ which terminal do you use?

Will test this later, for sure! If all goes well, may I request permissions to include this with the MIUI build I will be learning to make and attempting to produce?
edit: My phone wasnt particularly laggy before except when playing games, but there is a noticeable difference after executing this binary. Noticed a few small hangs but unsure if it is related to this binary.

I've tested it ... integrated it into my rom and installed ... there was no lag even right after it first boot ... its incredibly smooth ... though I too noticed small hangs ... though I attributed this to the device getting ahead of itself ....
Sent from my SGH-I927 using xda premium

Yeah it kind of seems like its fine after settling a bit. Can't wait to see it in 0.7 thegreatergood.
Sent from my SGH-I927 using xda premium

Ok, everyone. I built a very simple Android app that bundles the rngd binary and starts/stops it. Details in first post.

lambgx02 said:
Ok, everyone. I built a very simple Android app that bundles the rngd binary and starts/stops it. Details in first post.
Click to expand...
Click to collapse
wow ... that was quick ... maybe i should look into a custom tweaking app for my rom ...

Zero Computing said:
Will test this later, for sure! If all goes well, may I request permissions to include this with the MIUI build I will be learning to make and attempting to produce?
Click to expand...
Click to collapse
Of course you can!
edit: My phone wasnt particularly laggy before except when playing games, but there is a noticeable difference after executing this binary. Noticed a few small hangs but unsure if it is related to this binary.
Click to expand...
Click to collapse
Yeah, sometimes we really do hit filesystem I/O limits, but at least this should help once everything has been cached.

Ok, autostart on boot is working.

Seems to be a little faster...game still lagging though guess I will give it time
Sent from my SGH-I927 using xda app-developers app

Trying it out. Definitely noticing faster returns to the home screen. I'm using the ICS "only one" build for galaxy note sgh-i717
.
Sent from my SAMSUNG-SGH-I717 using xda app-developers app

OMG! I downloaded via qr code. and OMG! My phone runs sooo much smoother than before!!

This is one of the best mod for glide ever. Things are much smoother and faster to access. ES file explorer, dialer and contact list comes up so fast.
Thanks for this, really appreciate the mod. I'm keeeping it .
Sent from my SGH-I927

Would this work on other devices?

Related

[Q] Low entropy - /dev/random problem

I hope I'm asking this in the right forum ...
My phone: Motorola Cliq, rooted, Eclair ROM "J_r0dd's TheOfficial v1.6."
So the other night I needed to ssh into one of my servers and I wasn't near a computer, so I fired up terminal emulator and got the dreaded:
ssh: Warning: Reading the random source seems to have blocked.
If you experience problems, you probably need to find a better entropy source.
Took a look at /proc/sys/kernel/random/entropy_avail and sure enough it's hovering between about 120 and 190, which is way too low. It ought to be in the 3000 to 4000 range.
So I worked around it by swapping in /dev/urandom for /dev/random and got my server issue resolved, but then I got curious if this was a general problem or if it was specific to the ROM I'm running (J_r0dd's TheOfficial v1.6.)
I tried restoring Blurry Eclair RC3 and also the stock 2.1 ROM and both had the same issue - entropy_avail ranges from about 120 to 190.
I tried switching on Wifi, GPS, playing music, etc. but nothing made a difference.
This is pretty weird since it seems to me there are plenty of handy sources for entropy - phone network activity, wireless activity, app activity, user actions etc.
I'm now curious as to whether this is a problem with my phone hardware, something true of Android on Motorola CLIQ, or true of many other Android devices as well.
There are two issues here which I think are serious:
1) With entropy that low, any app that needs good randomness and uses /dev/random to get it may hang indefinitely.
2) The trick of swapping in urandom will let you go forward, but introduces a serious vulnerability since urandom can be predicted.
Any thoughts and info would be appreciated. Anybody know what hardware input the kernel uses to get entropy? Does your CLIQ (or other phone_ have a similarly small entropy pool as mine?
x-y-no said:
Took a look at /proc/sys/kernel/random/entropy_avail and sure enough it's hovering between about 120 and 190, which is way too low. It ought to be in the 3000 to 4000 range.
So I worked around it by swapping in /dev/urandom for /dev/random and got my server issue resolved, but then I got curious if this was a general problem or if it was specific to the ROM I'm running (J_r0dd's TheOfficial v1.6.)
Click to expand...
Click to collapse
Same problem with Samsung Galaxy S 4G and AOKP/CM9 kernel. Available entropy runs in the 75-200 range.
I agree that symlink-ing /dev/random to be /dev/urandom resolves the symptom, not the problem. With such limited entropy, /dev/urandom would be even weaker cryptographically that it would be on a system with reasonable available entropy.

Everyone is a tweaker. Where's the collaboration?

Build.props, setctl, ro.ril, vacuum, zip align, loopy smooth, group your oom, don't use his script use mine.
Just wondering if some effort could be put into a central repository at this point. Or get them into cyanogenmod if they are really proven to benefit all or a majority of phones.
For instance- It's it just me or does zip aligning and sqlite optimizing on every boot seem onerous?
I'd think these types of scripts need to be weighed for efficiency.
I'd rather do something once or once a month rather than be unnecessarily slow for 2 minutes on every startup.
Isn't zip aligning done by most -if not all- ROM developers? I could see if it would need triggered as new apps are installed maybe bit I don't know if newly installed apps already get zip aligned when the phone is live. ...Or if zip aligning doesn't stick after every reboot.
Have tweak verification to skip over ones already in the ROM. A big thing with any OS is boot times and not doing something twice if it isn't necessary.
If not a cyanogenmod commit have a market app rather than messing with terminal. It's playing with our OCD
Just throwing it out there.
I step away from the mic to breathe through my nose
Nice point brother. %95 of apps are already zipaligned out of box.
Sent from my GT-I9000 using Tapatalk 2 Beta-6
+1
Sent from my Inspire 4G using xda premium
i think, it is because each phone has different memory and kernel version, so each people just tweak to get better to his phone. zipalign is not worth i think, because rom vendor already optimize it, i think png size reduction is worth..
just my 2 cents
If there is only 1 kind of tweak, it would be no fun. all of this different tweaks has different in the configuration. It may be small, it may be big differences, but it gives us way to try it and see which would be better for our device.
I am with the OP. Most of the "tweaks" means nothing. I am zialigning my rom, while building it. And do not even mention it in the posts, because it's obvious. And every apk on Market and stock rom is zipaligned, until it's recompiled.
Many devs include some "ui rendered with gpu" tweaks in gingerbread, when it's not possible. First android that renders ui with gpu is ICS. Except roms with 3D rendering, like Motorola Blur 2.
Never found any benefit in performance when optimizing databases. Only thing, that increases performance for me, is the library without "sync".
Etc., etc.
But some tweaks are useful. Mostly those, that are already used in CM roms. ;-)

OUTDATED - [MOD] CrossBreeder - Lag-/Entropy+/DNS+/Tether+/Ads-/Censors-/.bit support!!

See the third post for full information about the functionality of CrossBreeder from the original creator @idcrisis. It's his blood, sweat, and tears that created CrossBreeder. I provided an app, fram, and pixelserv along with other ideas and support.
Thanks.
Please use the 12.1.2013 edition of CrossBreeder attached so I can properly diagnose and support the MOD moving forward.
The source has been pushed to github, the URL is: https://github.com/f1vefour/CrossBreeder
If you wish to help simply clone the project, make changes and create a pull request. I will review/test and commit if they are helpful.
I appreciate all the help I can get, both with the CrossBreeder scripts and with general testing and support in this thread. I have a wife and three semi-wonderful kids so time is limited, I will work on and support the project the best I can with the time I have.
Thanks,
Tim (fivefour)
If you have an issue please get a logcat, post it to pastebin and link it along with your issue. Otherwise I probably can't help you.
I just wanted to drop in and share the application and code I started on before I ran short on time.
The app is on github under my CrossBreeder repo in the entropy branch. For those who want to use it as is you can simply download the APK.
https://raw.githubusercontent.com/f1vefour/CrossBreeder/entropy/bin/CrossBreeder.apk
{
"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"
}
You must first flash the zip in the original post of this thread if you haven't already, the app simply allows you to control the major components of CrossBreeder.
Note:
You must touch the toggle buttons instead of sliding them, if you slide them on/off it will not function.
Enjoy,
Tim
Additional Credit: @bigsupersquid for his improvements of additional switches and for creating the git pull for said changes.
'This software is being distributed with the Aware license. Please allow it to be brought to your kind awareness that buying lesser devices could possibly have a direct positive socio-political impact in some countries where the components are sourced from.
If you like this work please help your friends become aware of this too.' - http://forum.xda-developers.com/showthread.php?t=2521266
----
28/10/2013 -
Hi guys,
Uploaded the current version with development as it was. Should be very usable with some noticeable usability improvements in the process and services ionice and renice and cgroup ( iffy ) space.
Uploaded source of the binaries.
License is BSD unless inherited from GPL.
Sorry for the terrible coding. Maybe some programmer can take it up and do something good with it.
Idcrisis
-----
VERY IMPORTANT - Please take a NANDROID backup of your device before installing this MOD. This MOD is alpha and still some way to go before stabilising. Please do download both CrossBreeder and the Uninstall ZIP together to your SD Card so you can uninstall in case of any issues.
IMPORTANT - Please uninstall a prior version of CrossBreeder by flashing the attached latest uninstall ZIP before flashing the latest version. Please report problems only with the latest version of the software along with your model number, ROM details and the output of the following command:
su -c "/system/etc/CrossBreeder/CHECK_PROCS"
Please upgrade even if you're happy with a prior version as there are some prospective issues with prior versions which can result in your phone doing more work than necessary.
Also do read the portion below on how to run the REMOVE_DNS_CLIENT command to disable the DNS portion only if you're getting network issues.
QUICK LINKS TO FLASH: CrossBreeder_edition.zip and CrossBreeder_Uninstall_edition.zip - NOTE - Installer clears dalvik cache!
What is CrossBreeder?
This is a new take at improving Android and reducing GUI lag.
It's lightweight and won't consume battery. Users have reported drastic improvements in usability and battery life. It will show noticeable improvements.
All you need to try it is custom recovery. It is for all Android devices. ( not x86 ones ).
This is a combination of 5 different key methodologies to improve the Android experience:
1. It's a big new feature, DNS caching, parallelising and tether boost . A lot of the lag in a lot of apps, apart from the GUI lag, is due to slow DNS querying, specially on the mobile network.
CrossBreeder now runs a caching, parallelising DNS client on the device. So now most of your DNS queries will be served from the cache and if not found, the query will be sent in in parallel to multiple DNS servers including the two Google DNS servers, the two L3 DNS servers and your two ISP servers and the quickest reply will be served to you, hot and transparently. You can read the rationale for this approach - http://ma.ttwagner.com/make-dns-fly-with-dnsmasq-all-servers/
This speeds up network access and networked apps, like Browsers of course, and Tapatalk, Gmail and thousands of others drastically. And removes a lot of the lag where it was due to DNS querying. This will not increase your network or download speed but pages will load much faster.
This will future proof your devices as more and more apps start using HTML5 and/or reside completely as web pages or the like.
CrossBreeder boosts your tethering connection. Client devices to your device will take advantage of the new DNS. Hence their usage is also improved! In many cases this update might even fix a broken tethering feature on your phone. So if your ROM doesn't have a working tethering support, you an try and install this update. It might magically start working!
CrossBreeder blocks ads and spyware in an efficient manner by blocking access to the host. It does this using a static block list of known ad sites and behaving as an authoritative DNS server for these sites and redirecting them to a dummy address. CrossBreeder runs a simple web server serving empty images and pages, so ads completely disappear instead of showing an ugly Page/Image Not found error.
You can update this block list from an external specialised tool like Adaway if you need. Here is a guide ( http://forum.xda-developers.com/showthread.php?p=42711244 )
CrossBreeder now includes the bypass censor functionality. This allows you to circumvent DNS based censors as used by most authoritarian countries. This basically works by bypassing your ISP's DNS servers and querying the 2 Google DNS servers and 2 L3 DNS servers only. These are usually faster anyway, more so due to the caching and parallelizing nature of the query. Thus if your ISP is blocking websites without telling you, you have a way out if this. You can enable it using the following command:
su -c "/system/etc/CrossBreeder/ENABLE_BYPASS_ISP"
and rebooting. You can read this for some more info ( http://forum.xda-developers.com/showpost.php?p=42240441&postcount=2748 )
You can also choose your custom DNS servers by updating the /etc/CrossBreeder/REMOTE_DNS file with each custom DNS server in a separate line.
NOTE: CrossBreeder DNS (Boost/Adblock/Censor Bypass) will not work (as in it won't be used ) if your ISP APN contains an entry for a proxy server. Do edit the APN and remove the proxy entry and see if you can browse fine. That will allow CrossBreeder DNS to work.
CrossBreeder also renames any existing /etc/hosts file on your device. Testing has proven that keeping a system wide /etc/hosts file as is used by most other Ad blocking software actually slows down your system. So it is recommended to use this method instead. Check this out for the demonstration of the slowdown and how to test it yourself - http://forum.xda-developers.com/showthread.php?p=41877518
In order to achieve all this DNS related functionality, CrossBreeder relies on the excellent open source utilities - DNRD and Dnsmasq
2. Modulate OS entropy levels for lag reduction ala Seeder. The whole OS reads either /dev/random or /dev/urandom and both need entropy. However this mod uses a completely different, lightweight and efficient random number generator called Havege . This sharply reduces cpu consumption and corresponding battery life loss compared to Seeder. It also does a better job at keeping entropy levels high hence your device is more responsive. It doesn't run in a CPU intensive loop either. The extend queue functionality has also been added to CrossBreeder. See here for another rationale favouring Havege compared to Rngd - ( http://code.google.com/p/csrng/ - Look for the limitations.)
3. Change kernel parameters specially the wakeup threshold ones so read blocks are released instantly and writes never wake up as we have an external entropy generator. And a host of other fail safe and working tweaks from the community for each key subsystem. ( one can look inside /etc/CrossBreeder/zzCrossBreeder ).
4. Remove /dev/random as it's blocking . Link it to non-blocking /dev/urandom. Since /dev/random is blocking and designed to protect us from Quantum alien cryptographers with mathematical certainty and urandom is non blocking pseudo-random device that most apps and OSs are using anyway and with Haveged running, is as secure anyway as it's very difficult to empty the entropy pool faster than Havege can replenish it. Pre ICS devices have a lot to gain with this but ICS+ devices show visible gains too.
5. Frandom support (Optional) - CrossBreeder now supports linking both your random devices to the extremely fast alternative - Frandom ( http://billauer.co.il/frandom.html ). This module is orders of magnitude (10-50 times) faster than the standard character devices ( Check this out - http://forum.xda-developers.com/showpost.php?p=37409586&postcount=134 ). The erandom character device also installed by Frandom doesn't use up system entropy at all on top of being fast. You will need to ask your ROM developer to develop the kernel module for you and then place it in /system/lib/modules. CrossBreeder will then try and load it and if successful, make all the necessary adjustments so that both /dev/random and /dev/urandom are pointing to /dev/frandom and /dev/erandom respectively. The speed benefits are to be seen to be believed. But since each ROM requires a unique kernel module, this option is left optional ( but auto detect ). Advanced users can even try and load the frandom module built for other kernels if they don't have one readily available for their own kernel version using the Punchmod utility. Read this: http://forum.xda-developers.com/showthread.php?p=41920265#post41920265
Your thoughts and experiences welcome and actively solicited.
HOWTO:
- If you want to install it automatically please flash the attached file in recovery. That's it. You're done!
*** WARNING - Other entropy reduction apps like rngd standard and rngd from Seeder and qrngd are not compatible with this mod. In case you have Seeder running please disable it. You can run the app to see the entropy levels though. This mod blocks all other rngs so Seeder may not run. The nature of the /dev/random device is now faster non blocking link to urandom and different to what these apps expect. They would otherwise go into a CPU consumption loop at 60-70% cpu usage. There is no loss of functionality by disabling other rngs as this is a replacement and an improvement***
1. VALIDATION and TROUBLESHOOTING:
You can check your DNS boost functionality by running the following command:
Code:
getprop net.dns1
It should report 0.0.0.0
Then to verify Adblock you can select any one host from the blocked hosts file using the command:
Code:
tail /etc/CrossBreeder/dnrd_root/master
Pick one from there and browse to it in your browser. You should get a blank space :good:
If you're experiencing any issues with your tethering, then you can first try and disable the tethering using:
Code:
su -c /system/etc/CrossBreeder/REMOVE_TETHER_BOOST
and rebooting.
You can re-enable it with:
Code:
su -c /system/etc/CrossBreeder/INSTALL_TETHER_BOOST
and rebooting.
Similarly if you're getting any issues with browser not reaching pages etc. then you can try and disable the entire DNS speedup functionality using:
Code:
su -c /system/etc/CrossBreeder/REMOVE_DNS_CLIENT
and rebooting.
You can re-enable it with:
Code:
su -c /system/etc/CrossBreeder/INSTALL_DNS_CLIENT
and rebooting.
Also of note is the Adblock feature. CrossBreeder now uses it's own Adblock file in /etc/CrossBreeder/dnrd_root/master ( NOTE - CHANGED FROM PREVIOUS VERSION). It also serves up these blocks in a clean blank format so you don't get an ugly 'Page not found' error instead of every ad. This is quite unique. If you want to disable Adblock to save around 3 MB of RAM on low end devices, you can run the command:
Code:
su -c /system/etc/CrossBreeder/DISABLE_ADBLOCK
You can re-enable it with:
Code:
su -c /system/etc/CrossBreeder/ENABLE_ADBLOCK
The biggest improvements are in general usability of apps, both local and network based.
2. You can check your entropy values with this tool:
http://play.google.com/store/apps/details?id=com.promethylhosting.checkrandentropyavail
or use this method for more fine grained graphs: http://forum.xda-developers.com/showthread.php?p=38509664
You should get values moving to 4000 regularly with this mod.
Also of some use is this Lag Test app: Lag Test http://db.tt/eBHYJWYn ( Thanks MW86 ). This is for generally testing the CPU based GUI rendering functionality. The aim is to approach 60 fps, but there isn't a guaranteed correlation with CrossBreeder and your FPS result as of now. It is mostly related to your Governor but CrossBreeder certainly helps.
2. If for some reason, your entropy values aren't hovering around 4096 then the app most probably didn't start automatically. You can try and run it manually using:
Code:
su -c "/system/etc/CrossBreeder/zzCrossBreeder FORCE"
If the entropy values go up to around 4096 and stay there, it's working. CrossBreeder is now in it's separate directory and not dependent on your init.d support. You can make it run automatically on boot using an app like SManager from the Play store, just remember to check both 'BOOT' and 'ROOT' for the execution.
3. If you're still getting issues, you can run the collection script:
Code:
su -c /system/etc/CrossBreeder/CHECK_PROCS
(if it hangs you can close the window and run it again) and post the resultant /data/cb_CHECK_PROCS.log file here in this thread or anywhere else and post here pointing to it please. I will try to find a solution or post a bugfix soon.
You can also disable CrossBreeder if you have any problems using:
Code:
su -c /system/etc/CrossBreeder/DISABLE_CROSSBREEDER
4. If you tried (2) and (3) above and it still doesn't work for you or you would still like to uninstall the mod, then please flash the CrossBreeder_Uninstall.zip.
GENERAL RECOMMENDATIONS:
1. It is recommended to disable all animations in your System settings and Launcher settings ( or keep them at 0.5 ). Also recommended is to disable haptic feedback and keypress sounds in your system, launcher and keyboard ( especially on low memory phones).
Some software recommendations include the Holo Launcher as a launcher replacement, HoloWeb Browser ( version 1.4 only) or Naked browser and exDialer as a dialer replacement.
These recommendations are general in nature and are not required for normal CrossBreeder functionality.
NOTE FOR ROM/KERNEL DEVELOPERS:
Please feel free to include CrossBreeder in your ROM/kernel. Do include a link to this thread in your credits. The best way to include it has not been given much thought so I'd like to recommend that you install it as the last thing and then package /system completely. If you are distributing files alone, then I guess the best way would be to include (from a ROM with CrossBreeder installed) :
1. /system/etc/CrossBreeder - The entire directory structure with perms intact
2. /system/bin/dnsmasq
3. /system/bin/dnsmasq_dhcp
4. /system/xbin/haveged
5. /system/etc/hosts
6. /system/bin/debuggerd
7. /system/xbin/debuggerd
8. /data/rngd.pid ( as a directory with permissions intact. Important or the device will crawl if your user installs Seeder/RNGD ).
9. Remove any /system/[x]bin/*rngd
Also do make sure that the debuggerd entry exists in /init.rc and before the zygote/system_server entry.
And it is a very very strong recommendation to use a CrossBreeder version after 6.30.13. Earlier versions just don't cut it. You and your users deserve better.
Credits:
1. This software is dedicated to the entire Open Source community.
2. DNRD
3. DNSMasq ( http://thekelleys.org.uk/dnsmasq/doc.html )
4. Havege ( http://irisa.fr/caps/projects/hipsor/ )
5. Seeder. ( http://forum.xda-developers.com/showthread.php?p=33999592 ). Thunderbolt tweaks for I/O tweaks and governor tweaks ( http://forum.xda-developers.com/showthread.php?p=23827087 )
6. V6 Supercharger for network buffer size tweaks and always for a general idea of what to do ( http://forum.xda-developers.com/showthread.php?t=991276 ).
7. Pixelserv ( Thanks Fivefour and Wonderwoofy for the referrals)
Absolutely no guarantees. I'm not responsible or liable for anything that arises out of the use of this, including you out of your chair.
.
First!
Woohoo!!
Back to the topic, your claim seems legit. I'll look into this n try it out on my devices. Thanks~
idcrisis said:
Hi,
This is just a suggestion to reduce lag on Android devices based on others' findings that the blocking /dev/random device may be the cause of the significant lag on most Android devices.
Why can't we just remove the /dev/random device and link it to /dev/urandom?:
1. mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
2. Stop the seeder service if it's running.
Wakelock and battery drain is probably not a concern as there's nothing running in the background. Also this may be better than feeding /dev/random from external sources as the device is now non blocking.
Saw this on some JDK optimisation site and decided to try it. I'm getting some good results on all Android devices I've tried this on.
Since /dev/random is blocking and designed to protect us from Quantum alien cryptographers with mathematical certainty and urandom is non blocking pseudo-random device that most apps and OSs are using anyway.
I guess usability is more important than catering to a one in a impossibillion chance and a billion devices performing sub optimally.
Your thoughts welcome.
Ref:
http://forums.oracle.com/forums/thread.jspa?threadID=991619
http://itonguard.com/20090313/weblogic-starts-slow/
Click to expand...
Click to collapse
hi.i would like to try.how to do that? do you have a script or something? thank you.
Re: [MOD] Link /dev/random to urandom for lag reduction
Hi,
You can adb into the phone and type 'su' and enter and then run the command in the first step:
mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
Sent from my Transformer TF101G using xda app-developers app
idcrisis said:
Hi,
You can adb into the phone and type 'su' and enter and then run the command in the first step:
mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
Sent from my Transformer TF101G using xda app-developers app
Click to expand...
Click to collapse
i tried with terminal emulator but it is not working...
have to do it with adb so?
thank you
Re: [MOD] Link /dev/random to urandom for lag reduction
desalesouche said:
i tried with terminal emulator but it is not working...
have to do it with adb so?
thank you
Click to expand...
Click to collapse
Sounds like a personal issue to me.
Re: [MOD] Link /dev/random to urandom for lag reduction
desalesouche said:
i tried with terminal emulator but it is not working...
have to do it with adb so?
thank you
Click to expand...
Click to collapse
In terminal emulator, hope you're running 'su' and enter first before running the command.
Sent from my Transformer TF101G using xda app-developers app
Neat idea! Trying now. Thank you.
Edit: It's so hard to tell with these kinds of things whether they are working or it's placebo. If it is working, it is definitely not like an "in yo face" difference, on my device at least. Before it was pretty smooth with an occasional stutter here and there. Now it is pretty smooth with an occasional stutter here and there. It didn't blow up so that's a win.
Curious to hear what results other have though.
Re: [MOD] Link /dev/random to urandom for lag reduction
DEF3NDER said:
Neat idea! Trying now. Thank you.
Edit: It's so hard to tell with these kinds of things whether they are working or it's placebo. If it is working, it is definitely not like an "in yo face" difference, on my device at least. Before it was pretty smooth with an occasional stutter here and there. Now it is pretty smooth with an occasional stutter here and there. It didn't blow up so that's a win.
Curious to hear what results other have though.
Click to expand...
Click to collapse
Hi,
Thanks for your feedback.
I just updated the post with the accompanying kernel parameters. You can try the whole thing as a bunch perhaps and maybe create an init.d script and reboot. Then after ensuring that it actually ran on boot, you can perhaps test.
Sent from my Transformer TF101G using xda app-developers app
Re: [MOD] Link /dev/random to urandom for lag reduction
I don't know how to make an init.d script but can I just run that code in adb for a temporary test? I tried that and I could swear it made a difference.
Sent from my SPH-D710 using xda premium
Re: [MOD] Link /dev/random to urandom for lag reduction
DEF3NDER said:
I don't know how to make an init.d script but can I just run that code in adb for a temporary test? I tried that and I could swear it made a difference.
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
Yeah sure, you can run it in ADB. The settings will then remain till the next reboot.
Sent from my Transformer TF101G using xda app-developers app
Re: [MOD] Link /dev/random to urandom for lag reduction
OK that's what I thought. Been running these settings for a few hours now with good results.
Gonna post a link to this thread over in the e4gt forum and see if everyone gets the same results.
What devices have you tried this on?
Sent from my SPH-D710 using xda premium
DEF3NDER said:
What devices have you tried this on?
Click to expand...
Click to collapse
Till now it's been tried on:
- Sony Xperia X10 Mini
- Asus TF101G
- Sony Xperia X10
- Samsung P1000
All with decent results.
Re: [MOD] Link /dev/random to urandom for lag reduction
Is setting write up threshold to 2048 the best idea? Stock is 128 and using a higher value resembles what we may want to call a minimum entropy value. Using 2048 one should not see entropy drop below that value. Using that high a read wake up threshold keeps enropy filling up till it caps and stops at 4096. It likely is smoother to have a more default write wake up threshold as the system doesn't need to wait for the minimum of 2048 it just starts using entropy right away on the default 128. By time system boots im always at 1000+ plenty and as day of usage progresses it climbs to 2-3k. 2048 may be more than necessary. Zepplinrox uses 1366 and 128 and his explanation made sense to me. I also had a smoother experience on stock write uo threshold. Ive tried above and below 2048 also. The rest all seems to be what has been discussed like the randomize va space etc. I made an initd for this last month too... this seems just as useful as seeder apk etc but Ive seen people claim this method is slower. To me they both work and this way has no added apk or overhead to do so.
GS3 L710 4.2.1 AOSP Kt747 2.1Ghz ROW/Ktoonservative *Tapatalk
Re: [MOD] Link /dev/random to urandom for lag reduction
mw86 said:
Is setting write up threshold to 2048 the best idea? Stock is 128 and using a higher value resembles what we may want to call a minimum entropy value. Using 2048 one should not see entropy drop below that value. Using that high a read wake up threshold keeps enropy filling up till it caps and stops at 4096. It likely is smoother to have a more default write wake up threshold as the system doesn't need to wait for the minimum of 2048 it just starts using entropy right away on the default 128. By time system boots im always at 1000+ plenty and as day of usage progresses it climbs to 2-3k. 2048 may be more than necessary. Zepplinrox uses 1366 and 128 and his explanation made sense to me. I also had a smoother experience on stock write uo threshold. Ive tried above and below 2048 also. The rest all seems to be what has been discussed like the randomize va space etc. I made an initd for this last month too... this seems just as useful as seeder apk etc but Ive seen people claim this method is slower. To me they both work and this way has no added apk or overhead to do so.
GS3 L710 4.2.1 AOSP Kt747 2.1Ghz ROW/Ktoonservative *Tapatalk
Click to expand...
Click to collapse
Hi,
This method is different from Zepplinrox as /dev/random is now a link to /dev/urandom and is thus non blocking. So the idea is to take the best of all worlds.
I think your suggestions for the read and write values seem valid when there's no entropy generator but may need some analysis on top of Zeppelin's observations due to the changed nature of the random device. I have changed the OP with your suggestions as there's no rngd around to fill 2048 of entropy very easily.
This method is different to Seeder as nothing is running in the background but suffers from the same drawbacks of the Zeppenlin's method that the entropy pool may be getting populated naturally slower than what rngd would have. Which is where it might make sense to run rngd too once-off every 5 minutes.
Or maybe replace rngd with havenged.
Thanks a lot for your feedback.
Sent from my Transformer TF101G using xda app-developers app
Re: [MOD] Link /dev/random to urandom for lag reduction
idcrisis said:
Hi,
This method is different from Zepplinrox as /dev/random is now a link to /dev/urandom and is thus non blocking. So the idea is to take the best of all worlds.
I think your suggestions for the read and write values seem valid when there's no entropy generator but may need some analysis on top of Zeppelin's observations due to the changed nature of the random device. I have changed the OP with your suggestions as there's no rngd around to fill 2048 of entropy very easily.
This method is different to Seeder as nothing is running in the background but suffers from the same drawbacks of the Zeppenlin's method that the entropy pool may be getting populated naturally slower than what rngd would have. Which is where it might make sense to run rngd too once-off every 5 minutes.
Rngd from Seeder seems to be taking 60-70% system CPU and therefore possibly more battery. Top shows that it's certainly nowhere close to an idle system. I'm pretty sure all sorts of wakelocks etc will be disturbed in that scenario.
The next step for this method would be to bring rngd cpu usage down to negligible (maybe by removing all customisations and running once every 5 minutes instead of 1 second) and use that in conjunction. Or maybe replace rngd with havenged.
Thanks a lot for your feedback.
Sent from my Transformer TF101G using xda app-developers app
Click to expand...
Click to collapse
I see because of the symbolic link it does differ from Zeppelinrox method. So with the symbolic link method why is it necessary to raise write or read wake threshold from from default?
Yes your idea of having seeder run every five minutes makes sense as entropy isn't drained in most cases by that much.
With no link and no seeder 1366 read wake and 128 write wake, entropy doesnt drop only accumulates and takes a lot of actual entropy drain to reach 4096 and stays there. Why are read wake needed to differ from default on the symbolic link method?
Edit: sorry did i mis read and think you wrote 2048 write wake up in the OP? Or was it updated i am confused now.
Re: [MOD] Link /dev/random to urandom for lag reduction
mw86 said:
I see because of the symbolic link it does differ from Zeppelinrox method. So with the symbolic link method why is it necessary to raise write or read wake threshold from from default?
Yes your idea of having seeder run every five minutes makes sense as entropy isn't drained in most cases by that much.
With no link and no seeder 1366 read wake and 128 write wake, entropy doesnt drop only accumulates and takes a lot of actual entropy drain to reach 4096 and stays there. Why are read wake needed to differ from default on the symbolic link method?
Edit: sorry did i mis read and think you wrote 2048 write wake up in the OP? Or was it updated i am confused now.
Click to expand...
Click to collapse
Yeah I changed it according to your suggestions. Its WIP
Write doesn't seem to affect entropy values much but read does. But write may affect usability so I'll take your word for it.
Values still needs to be increased because I'm told the blocking /dev/random is not the only issue, the entropy pool still needs to be maintained in an efficient manner.
You can see how the available entropy falling even with the link in place.
Hence the attempt to use all 3 methods.
Sent from my Xperia X10 using xda app-developers app
Re: [MOD] Link /dev/random to urandom for lag reduction
I rebooted my phone and then attempted to adb the code with the updated values. Both codes give me an error that says "link failed file exists." Does that mean they stuck through the reboot or what should I do?
Sent from my SPH-D710 using xda premium

[TWEAKS][CWM+AROMA] Codename LightingBolt [2013DEC21]

LeoLawliet presents..
- Codename LightningBolt -
Balanced tweaks for everyday use
\/ Please read if you're new to this \/
Before you continue, please don't assume the tweaks don't work for you.
Chances are your device might or might not support it, not all phones are the same..
I myself test the tweaks before releasing updates, lately I've only been able to test on ICS & JB.
With that said keep in mind if you use GB and plan on flashing these tweaks,
GB support hasn't been confirmed yet. YOU'VE BEEN WARNED!!
If you don't understand what these tweaks do, please DO NOT flash any of them..
the last thing I wanna hear is "your tweaks don't work" okay..? They work..
I have done what I could so cut me some slack guys.. I have a life too
and can't be here holding your hands throughout every step of the way..
that's not fair to me. I've tested and put together the tweaks,
I've written up a thread for the tweaks with two other reserved posts,
I published the tweaks, I wrote instructions, and I kept things updated on a regular basis.
All of this and I haven't even asked for a single donation, I'm doing this for free.
So I am asking you all nicely, please don't give me a hard time with the tweaks.
I've already explained how it all works, just read the OP it's all there..
- Brief Introduction -
What Codename LightningBolt is
These are CWM flashable zips containing the latest tweaks I've been using on my ROMs,
mainly meant for a balance of performance and good battery without pushing your device too far past its limits.
I've only had a chance to test these tweaks on LG myTouch 4G & LG Optimus L9 and LG G2x (only one it didn't work on)
but should work just fine with any device running ICS or JB that need an all around boost in performance and battery life and performance.
At first I wanted to increase performance for gaming purposes on one of my low-end devices, that's what got this started.
This set of tweaks made my myTouch a better gaming device than the rest I own and it's only running on a single core,
emulators such as n64oid would lag for me back then but for the most part I can now play games like Super Smash Bros smoothly without lag,
as well as Lumines and Ridge Racer on PPSSPP.
Click to expand...
Click to collapse
- Installer differences explained -
Which is which, and what does what
Buildprop - Only installs the build.prop tweaks I handpicked
Engine - Installs the basics. init.d scripts, xbin scripts, custom add-ons, Smart Launcher, no build.prop tweaks included
Engine min - Minimal version of Engine, does not include Smart Launcher & custom add-ons
AIO - All-In-One installer is just like the Engine, except it includes the prop tweaks as well.
AIO min - Minimal version of All-In-One, does not include Smart Launcher & custom add-ons
[8]AROMA - The latest installer, which includes a GUI that allows you to select what you would like to install
Click to expand...
Click to collapse
- Requirements -
What you will need:
Root (obviously)
Android device running 4.X.X firmware, stock or aftermarket both work
Firmware 2.3.X has not been tested thouroughly,so.... GB NOT SUPPORTED!!
At least 14mb of free space in /system/ partition & 2mb in /data/
Your device must have init.d support, if your kernel doesn't support it install this
Your device must also have sysctl support, that's built into the kernel
At least CWM5 recovery, haven't had a chance to test it on TWRP Recovery
Latest busybox installed, get it here
Android Terminal Emulator, you can get it here
Make a nandroid backup, just in case anything goes wrong
Click to expand...
Click to collapse
- List of Tweaks -
The included tweaks are listed below:
Smart Launcher included (in v1.7 you can uninstall it)
boost in performance (many optimizations and performance tweaks)
swap2cache terminal script creates a 64mb swapfile in /cache with swappiness set to 40
swap2data terminal script creates a 128mb swapfile in /data with swappiness set to 40
swap2emmc terminal script creates a 90mb swapfile in /emmc with swappiness set to 90 (probably fastest)
increased responsiveness by increasing touch sensitivity and forcing GPU to render touches
better battery life (disabled sleepers)
faster boot (rapid boot build.prop tweaks)
I/O scheduler tweaks (deadline only for now)
sleeper tweaks (this saves battery)
hardware rendering tweaks (take full advantage of your device's GPU)
improved sdcard read/write speed (should be set at 2048kb readahead)
disables logger (slight performance boost, but disabled logcat)
zipalign on boot (optimizes apps to consume less RAM and run faster)
defrag on boot (sqlite database is wiped on each reboot)
renice tweaks to open some system apps faster, may consume more ram
disables journalism (slight increase in performance, might cause some instability in rare cases)
nice set of terminal scripts (see 3rd post for the list)
disables vsync (boost in performance, might cause glitching in rare cases)
tweaked ADJ & VM values
entropy tweaks included (significant lag reduction)
graphics rendering tweaks (better 2D/3D graphic performance)
video/music streaming tweaks
custom UI sounds (MGS4 based sound effects I found and converted to .ogg)
increased jpeg + video recording quality
call tweaks
cpuramcheck script to monitor CPU/RAM usage in realtime using the terminal emulator
Stabilized FPS through a build.prop tweak (might not be so stable, be warned. Thanks Pizza_Dox & LENAROX!!)
Click to expand...
Click to collapse
- When including Codename LightningBolt in your ROMs -
This is all I ask
If you would like to include these tweaks in one of your ROMs, just give proper credits such as
"Codename LightningBolt Tweaks by leolawliet"
and link back to this post somehow, they deserve a lot of thanks and credit for helping make this all possible.
Click to expand...
Click to collapse
- build.prop tweaks -
Use on whatever ROM you like, just copy & paste to your build.prop
(The build.prop tweak installer has the best handpicked already)
New build.prop tweaks
Code:
### LeoLawliet's new tweaks 9/15/2013 ###
# Misc Tweaks
debug.gr.swapinterval=0
debug.performance.tuning=1
dev.pm.dyn_samplingrate=1
persist.adb.notify=0
persist.service.adb.enable=1
persist.sys.use_dithering=1
persist.sys.purgeable_assets=1
qemu.hw.mainkeys=0
ro.min_pointer_dur=1
ro.sec.proximity.delay=0
sys.mem.max_hidden_apps=15
# Battery Tweaks
pm.sleep_mode=1
ro.ril.disable.power.collapse=1
# Unlocks Screen using Menu Button
ro.config.hw_menu_unlockscreen=true
# Kernel Tweaks
ro.kernel.checkjni=0
# Ram Tweaks
persist.sys.purgeable_assets=1
# Kills Loging
ro.config.htc.nocheckin=1
ro.config.nocheckin=1
profiler.force_disable_ulog=1
profiler.force_disable_err_rpt=1
# Media Streaming Optimizations
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-aac=true
media.stagefright.enable-qcp=true
media.stagefright.enable-record=true
# Camera & Media Tweaks
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
ro.media.dec.jpeg.memcap=20000000
ro.media.enc.hprof.vid.bps=8000000
ro.media.enc.hprof.vid.fps=75
ro.media.enc.jpeg.quality=100
ro.media.dec.aud.wma.enabled=1
ro.media.dec.vid.wmv.enabled=1
ro.media.cam.preview.fps=25
ro.media.codec_priority_for_thumb=so
# CM9 Tweaks
hwui.disable_vsync=true
hwui.render_dirty_regions=false
# Voice Optimization
ro.ril.enable.amr.wideband
# Better Telephony Settings
ro.config.vc_call_vol_steps=15
ro.config.vc_call_steps=20
ro.telephony.call_ring.delay=0
ring.delay=0
ro.lge.proximity.delay=25
mot.proximity.delay=25
ro.mot.buttonlight.timeout=0
# Google DNS
net.dns1=8.8.8.8
net.dns2=8.8.4.4
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
# TCP Tweaks (might break WiFi)
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.hspda=4096,87380,256960,4096,16 384,256960
net.tcp.buffersize.hspa=4096,87380,256960,4096,163 84,256960
# Wireless Conection Tweaks (might break WiFi)
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.route.flush=1
net.ipv4.tcp_ecn=0
net.ipv4.tcp_fack=1
net.ipv4.tcp_mem=187000 187000 187000
net.ipv4.tcp_moderate_rcvbuf=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_rfc1337=1
net.ipv4.tcp_rmem=4096 39000 187000
net.ipv4.tcp_sack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_wmem=4096 39000 187000
# 3d performance
persist.android.strictmode=0
ro.min_pointer_dur=1
ro.secure=0
# 16BIT Support
debug.fb.rgb565=1
# 16BIT Transparency
persist.sys.use_16bpp_alpha=1
# Graphic Tweaks
ro.product.gpu.driver=1
debug.gr.swapinterval=0
# Better scrolling responsiveness
windowsmgr.max_events_per_sec=90
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000
# Better Touch Responsiveness
touch.presure.scale=0.001
# Dalvik Tweaks
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=122m
dalvik.vm.heapsize=122m
dalvik.vm.dexopt-flags=m=y,v=n,o=n
dalvik.vm.stack-trace-file=/data/anr/traces.txt
dalvik.vm.lockprof.threshold=500
dalvik.vm.execution-mode=int:jit
dalvik.vm.jmiopts=forcecopy
dalvik.vm.dexopt-data-only=1
# Enable Qualcomm tile rendering (Hardware Rendering)
debug.enabletr=1
persist.sys.composition.type=gpu
# enable harware egl profile
debug.egl.profiler=1
# FPs Booster
persist.sys.NV_FPSLIMIT=60
persist.sys.NV_POWERMODE=1
persist.sys.NV_PROFVER=15
persist.sys.NV_STEREOCTRL=0
persist.sys.NV_STEREOSEPCHG=0
persist.sys.NV_STEREOSEP=20
# Graphic Optimization
debug.gr.numframebuffers=3
ro.min_pointer_dur=1
# Hardware 2D & 3D Rendering
hw3d.force=1
hw2d.force=1
# Pro-Tuned ADJ 1.2 by LENAROX.
ro.FOREGROUND_APP_ADJ=0
ro.VISIBLE_APP_ADJ=4
ro.PERCEPTIBLE_APP_ADJ=3
ro.HEAVY_WEIGHT_APP_ADJ=2
ro.SECONDARY_SERVER_ADJ=1
ro.BACKUP_APP_ADJ=5
ro.HOME_APP_ADJ=6
ro.HIDDEN_APP_MIN_ADJ=7
ro.EMPTY_APP_ADJ=15
#Ultimate Assassin Mode!
#ro.SECONDARY_SERVER_ADJ=15
#ro.HIDDEN_APP_MIN_ADJ=3
# Qualcomm Display Settings (Qualcomm devices ONLY!!)
com.qc.hardware=1
debug.qc.hardware=true
debug.qctwa.preservebuf=1
debug.qctwa.statusbar=1
# Rapid Boot Technology 1.1 (Reduces bootup time)
persist.sys.shutdown.mode=hibernate
ro.config.hw_fast_dormancy=1
ro.config.hw_quickpoweron=true
# Rendering Tweaks
debug.composition.type=gpu
debug.egl.hw=1
debug.enabletr=true
debug.overlayui.enable=1
debug.qctwa.preservebuf=1
debug.performance.tuning=1
debug.sf.hw=1
dev.pm.dyn_samplingrate=1
hw3d.force=1
ro.config.disable.hw_accel=false
ro.fb.mode=1
ro.sf.compbypass.enable=0
ro.vold.umsdirtyratio=20
persist.sys.composition.type=gpu
persist.sys.ui.hw=1
video.accelerate.hw=1
# Sensor Sleep Control
ro.ril.sensor.sleep.control=1
# Smoothens UI
persist.service.lgospd.enable=0
persist.service.pcsync.enable=0
### End of LeoLawliet's new tweaks 9/15/2013 ###
- Disclaimer & Warning -
If you mess up your device using these tweaks, it's not my fault
As usual, I will leave a disclaimer.
I will NOT be held responsible if this causes any damage to your device.
You are responsible for making a nandroid backup
in the case that a bootloop occurs.
Click to expand...
Click to collapse
\/ Credits on second post \/​
Credits
Credit goes out to these guys
Pizza_Dox - for hc & gm scripts, 02SDCardAccel, 08IO, 20vmlt, 82Sleepers, some build.prop tweaks
Chainfire - for some scripts. 01-GPU_touchrender, libncurses.so
ImbaWind - for Adrenaline Boost script
Spex - for some of the Fluid Engine tweaks and some build.prop edits, I started out with his collection and kept tweaking it and changing it up every now and then it. Thanks!
zeppelinrox - for sclean script
LENAROX - for 20vmlt, FPs Stabilizer, ADJ values, avcore, and you made cpuramcheck script possible. Thanks
defiant07 - for helping create the build.prop tweak installer script
BSDgeek_Jake - For the motherload of AD-blocking host files, best and largest database I've seen so far
And once again because I can't tell you how annoying it is for someone to screw up their own device for not following instructions carefully and then blame someone else.. I will NOT be held responsible if this causes any damage to your device, you are responsible for making a nandroid backup in the case that a bootloop occurs.
Enjoy
Sent from my LG-P769 running PenberRom5 using Tapatalk 2
Terminal scripts & changelog
- Terminal Scripts -
Type "su" then..
Code:
avc
^ avcore script by LENAROX, it has built in instructions.
Click to expand...
Click to collapse
Code:
boost
^ instant ram boost
Click to expand...
Click to collapse
Code:
cpuramcheck
^ check CPU usage and RAM usage in realtime
Click to expand...
Click to collapse
Code:
gm
^
modded version of boost script, also kills media server
Click to expand...
Click to collapse
Code:
hc
^ hyper cola v2.6 tweaks by Pizza_Dox, reboot to deactivate and save battery. This is meant to give a boost for gaming
Click to expand...
Click to collapse
Code:
sclean
^ wipes cache & dalvik-cache then reboots your device, I recommend running this at least once a week to speed things up if your device is slowing down over time
Click to expand...
Click to collapse
Code:
swap2cache
^ creates 64mb swapfile in /cache/swap/ with swapiness set to 40 (virtual RAM, risky)
Click to expand...
Click to collapse
Code:
swap2data
^ creates 128mb swapfile in /data/swap/ with swapiness set to 40 (virtual RAM, risky)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
____________________________________________________________________________________________
- prop tweak installer explained -
- The change that was implemented to the build.prop tweak installer script mainly effects
the creation of the backup of build.prop, then applies the tweaks to build.prop while leaving
build.prop.PrePenberEngine backup file untouched. All it does is if it detects build.prop.PrePenberEngine
it won't make a new backup, thereby preserving the original backup while tweaking the build.prop that will
end up being used. It does NOT "cancel out the installer script" from doing stuff to the build.prop and this time
it should prevent duplicate entries. (edited, sorry for the misunderstanding and thank you for clarifying this defiant07).
- Also stated by defiant07: "Furthermore, there was some lack of attention to detail
on my part in the suggestion because I was focused solely on not having the backup
overwritten when your users update (which was the concern expressed in the user's
post that gave me the idea for the suggestion). I was wrong in that the change I suggested
does not totally eliminate the need to restore the build.prop backup because it will
still add stuff the build.prop. Although this is not really a problem it would cause duplicate entries."
- The best way I can explain it is basically his new code will make it so if it detects
build.prop.PrePenberEngine it will restore build.prop.PrePenberEngine and then
add all the entries OR if it does NOT detect build.prop.PrePenberEngine it will make
a backup and then add all the entries. This should ultimately make it so the user
does not have to touch the build.prop or build.prop.PrePenberEngine when updating
and it will avoid duplicate entries...the zip should now do everything for you guys,
thanks goes to @defiant07 for this.
Click to expand...
Click to collapse
____________________________________________________________________________________________
Progress in general ~12/21/2013~
I will no longer update the changelog through the OP, it will be accessible from the AROMA Installer.
This makes things easier, and reduces the clutter on the thread, also encourages other to try the tweaks.
~What's new? ~
Update on progress - 12/21/2013:
NEW!! AROMA Installer added, includes a GUI which allows you to select the tweaks you want installed
NEW!! Added swap2emmc script
NEW!! The build.prop tweak installer script still needs to be worked on, any help with that would be great
NEW!! I will no longer be updating the changelog on the thread, but instead in the AROMA Installer (much easier)
Major Update - Project renamed - 11/15/2013:
NEW!! Every installer now first removes old files before flashing new ones
NEW!! Every installer also individually sets permissions for each file
NEW!! Updated sysctl tweaks! (probably my favorite part of this update)
Made uninstallers for both PenberEngine and Codename LightningBolt (still BETA, youve been warned!!)
Removed fluid engine script, merged some of the code with main Codename LightningBolt script
Update on progress - 10/29/2013:
NEW!! MGS4 UI sounds and notifications, I could have done a better job converting the files.. that's on my to-do list
NEW!! Added sysctl tweaks
NEW!! Added custom host file for AdBlocking
NEW!! Added sclean as xbin script, I recommend running this once a week for a quick tuneup
EXPERIMENTAL!! Added latest fluid engine script (98fluid_engine init.d script only!) Let's see how this plays out
Tweaked/Updated a couple of init.d scripts (97PenberEngine_Main/98PenberEngine_LagReduction/99PenberEngine_Renice) still testing but working well
Prop tweak installer should be working fine now
Updated the updater-script for every installer, neater looking installation and fixes applied
Made sure installer individually sets permissions for each init.d script
Update on progress so far - 10/13/2013:
I updated the build.prop tweak installer. The script within it as well.
I got a nice boost all around with the prop tweaks alone.
I also updated the init.d scripts, please remove the old ones
before installing this update and please restore your old build.prop
as well. If you don't it might cause problems with performance.
I also made sure the all-in-one installers applied the
prop tweaks properly, they're all working fine for me
Announcement.. - 10/12/2013:
This tweak package is said to work well alongside CrossBreeder
But I myself haven't confirmed it, feel free to try it out,
it hasn't caused the other users any problems as far as I know.
Announcement.. - 10/07/2013:
It has come to my attention that these tweaks aren't exactly noob friendly,
don't take chances if you don't understand any of this,
not everyone will get the same result
or even know how to fully make use of it.
If you no comprende don't flash,
I'm not responsible if this messes up your device,
always make a backup beforehand.
Current progress on - 10/06/2013:
You can find the installers >>here<<
So far things seem smoother, RAM handles better, I've included avcore
to test out for a bit (thanks LENAROX, I hope you're okay with me using this,
otherwise just ask me to remove it and I will)
and I attempted to include the older build.prop script in the newer engine
and AIO, also updated the updater-binary files with the one defiant07 made.
Click to expand...
Click to collapse
____________________________________________________________________________________________
​
Looking for the 9/3 build is it uploaded yet ?
Sent from my SAMSUNG-SGH-T999 using Tapatalk 2
Testing now..
just wondering about using CrossBreeder with this package? Also are you using V6SuperCharger because I see an installation marker which you get from installing V6 in your build prop extras?
Sent from my GT-I9000 using xda premium
Is this mod make difference on my Gnexus ? Or it is just for some old devices?
Xx_silenzer_xX said:
Looking for the 9/3 build is it uploaded yet ?
Sent from my SAMSUNG-SGH-T999 using Tapatalk 2
Click to expand...
Click to collapse
There isn't, I just decided to make the thread on 9/3
9/1/2013 is the latest.
RuffBuster said:
Testing now..
just wondering about using CrossBreeder with this package? Also are you using V6SuperCharger because I see an installation marker which you get from installing V6 in your build prop extras?
Sent from my GT-I9000 using xda premium
Click to expand...
Click to collapse
I use it sometimes, I would usually leave that line at the bottom of my build.prop. V6SuperCharger isn't included. I high'y recommend you don't use crossbreeder with this, it will conflict with the tweaks I've already added. This is like crossbreeder, it's a package of tweaks. You only need one or the other, otherwise too many conflicting tweaks could cause more problems than benefits.
okanb3 said:
Is this mod make difference on my Gnexus ? Or it is just for some old devices?
Click to expand...
Click to collapse
It made a difference on two of my devices, both different and not exactly high end. It helped with my LG Optimus L9 which is fairly new, not even a year old. Try it out and if you don't like it restore your backup.
Skimmed the zip's contents out of general curiosity and it seems like a pretty suspect, half assed haphazard hodgepodge to me . The problems are numerous ...
There are no usage instructions in your OP (for xbin scripts and it seems one of your init.d scripts requires user editing).
There is nothing in your zip that installs the build.prop tweaks you list in the OP.
Your turbo xbin script is totally empty, lol.
34dalvikcalc does absolutely nothing.
cpuramcheck will do nothing. EDIT - I am an idiot...this script does work as intended.
Those are the issues I noticed in five minute skim, but I imagine there are others.
BTW, why include three zipalign scripts???
defiant07 said:
Skimmed the zip's contents out of general curiosity and it seems like a pretty suspect, half assed haphazard hodgepodge to me . The problems are numerous ...
There are no usage instructions in your OP (for xbin scripts and it seems one of your init.d scripts requires user editing).
There is nothing in your zip that installs the build.prop tweaks you list in the OP.
Your turbo xbin script is totally empty, lol.
34dalvikcalc does absolutely nothing.
cpuramcheck will do nothing.
Those are the issues I noticed in five minute skim, but I imagine there are others.
BTW, why include three zipalign scripts???
Click to expand...
Click to collapse
Build.prop tweaks weren't applying with the installer, for that I apologize, so I decided to post them in the OP so users have the option to copy & paste whatever they like to their own build.prop. I still need to fix up the OP, it's still not 100% done. I've been testing these tweaks myself along with the help of other users, nothing bad has happened to either of our devices, in fact they like the boost they got from it. I can't say for sure that everyone will get the same results, but please keep in mind I've only had a chance to test it on 2 devices, both of which seemed to run better with the tweaks so I can't really say I'm noticing any problems other than some stuff I wanna remove. I like the engine the way it is, doesn't need stuff added onto it but I don't like the filesize and hope to shrink it down some more. If you got any suggestions to slim it down, shoot away I'm listening.
I was supposed to remove turbo but forgot, I noticed it wasn't working at all. It's getting replaced with Hyper Cola v2.6
The xbin scripts instructions, I'll get to it when I can write it up, just a busy night at the moment. Labor day weekend just passed and I'm getting back to work (actually at work as we speak) I'll write instructions along the way, my bad for not including them.
34dalvikcalc & cpuramcheck are working fine for me, do you have the latest busybox installed?
As for the question about the zipalign scripts, zipalign is needed while zalignx and zepalign do the zipaligning in their own ways, just not sure what other users preferred zipaligning with. There's a difference tho, I think zalignx is more detailed, at least I get to see what gets zipaligned or already was prior to running the script.
Any more feedback you or anyone can provide will help, I'll fix the errors just gotta point them out
İ cant fiash it.My phone is huawei sonic with CM9 4.0.4
Just some info, good job first off!
2nd - dalvik calc WONT work, its placebo (bad Unix), I made it for a Rom of mine or sth and it had some Unix issues, I even named it 34dalvikcalc, it's not 100% mine, I nodded it, and its originall creator was someone from another forum (can't remember) and it didn't properly calculate, so I fixed and popped in meh Rom, and LENAROXS fps stabilizer actually uncaps the fps limit, its a bad tweak, as higher fps than refresh rate causes some weird screen stutters and probs, besides we can't see past 60fps
I hope this project turns up good and I will look forward to trying, once again, Awesome job!,
Sent from my R800i using xda app-developers app
leolawliet said:
Build.prop tweaks weren't applying with the installer, for that I apologize, so I decided to post them in the OP so users have the option to copy & paste whatever they like to their own build.prop. I still need to fix up the OP, it's still not 100% done. I've been testing these tweaks myself along with the help of other users, nothing bad has happened to either of our devices, in fact they like the boost they got from it. I can't say for sure that everyone will get the same results, but please keep in mind I've only had a chance to test it on 2 devices, both of which seemed to run better with the tweaks so I can't really say I'm noticing any problems other than some stuff I wanna remove. I like the engine the way it is, doesn't need stuff added onto it but I don't like the filesize and hope to shrink it down some more. If you got any suggestions to slim it down, shoot away I'm listening.
I was supposed to remove turbo but forgot, I noticed it wasn't working at all. It's getting replaced with Hyper Cola v2.6
The xbin scripts instructions, I'll get to it when I can write it up, just a busy night at the moment. Labor day weekend just passed and I'm getting back to work (actually at work as we speak) I'll write instructions along the way, my bad for not including them.
34dalvikcalc & cpuramcheck are working fine for me, do you have the latest busybox installed?
As for the question about the zipalign scripts, zipalign is needed while zalignx and zepalign do the zipaligning in their own ways, just not sure what other users preferred zipaligning with. There's a difference tho, I think zalignx is more detailed, at least I get to see what gets zipaligned or already was prior to running the script.
Any more feedback you or anyone can provide will help, I'll fix the errors just gotta point them out
Click to expand...
Click to collapse
At least you are responsive and responsible in that you acknowledge and try to fix your problems . However, IMO you should not release stuff unless you fully test everything (try using debug ).
Regarding the build.prop stuff your OP states it's included (and I quote: "The tweaks included are listed below:")??? If you don't have the time to make a half decent, informative, and accurate OP, IMO you should wait and release the product when you do have the time...there's no rush, XDA will still be here tomorrow.
As @Pizza_Dox said 34dalvikcalc is totally flawed...it does nothing in Pizza Box too (which I looked at last night as well since you credited him). Do you know anything about bash/shell scripting??? Busybox version is irrelevant, I did not run any of your scripts (nor will I ever)...as I stated all I did was a 5 min skim, but just by looking at the code I can tell it is bad. If you cannot tell this code:
Code:
#!/system/xbin/sh
# The Dalvik Optimizer 1.0 by Pizza_Dox
mem=785624;
heapsize=0;
dalvik_heapsize=0;
dalvik_vm_heapsize="m";
setprop dalvik.vm.heapsize ;
# XDA: http://goo.gl/xEdOa
# Blog: http://androidpizza.blogspot.com/
# Email: [email protected]
is bad, you have no business releasing mod packages. What in this script leads you to believe it does anything productive??? Again try using debug.
As for cpuramcheck, you can really run that script??? I smell BS (unless maybe you have a magic rom of some sort???)...as previously stated, try actually testing before releasing. The major issue with this script is it is missing that good ole fashion required opening line - #!/system/bin/sh. So there is no way it will do anything for anybody (you included), lol. FAIL. EDIT - I was wrong...this script DOES function as intended...EPIC FAIL on my part.
Try actually learning some code instead of "borrowing" it all and you may avoid such issues :silly:.
defiant07 said:
At least you are responsive and responsible in that you acknowledge and try to fix your problems . However, IMO you should not release stuff unless you fully test everything (try using debug ).
Regarding the build.prop stuff your OP states it's included (and I quote: "The tweaks included are listed below:")??? If you don't have the time to make a half decent, informative, and accurate OP, IMO you should wait and release the product when you do have the time...there's no rush, XDA will still be here tomorrow.
As @Pizza_Dox said 34dalvikcalc is totally flawed...it does nothing in Pizza Box too (which I looked at last night as well since you credited him). Do you know anything about bash/shell scripting??? Busybox version is irrelevant, I did not run any of your scripts (nor will I ever)...as I stated all I did was a 5 min skim, but just by looking at the code I can tell it is bad. If you cannot tell this code:
Code:
#!/system/xbin/sh
# The Dalvik Optimizer 1.0 by Pizza_Dox
mem=785624;
heapsize=0;
dalvik_heapsize=0;
dalvik_vm_heapsize="m";
setprop dalvik.vm.heapsize ;
# XDA: http://goo.gl/xEdOa
# Blog: http://androidpizza.blogspot.com/
# Email: [email protected]
is bad, you have no business releasing mod packages. What in this script leads you to believe it does anything productive??? Again try using debug.
As for cpuramcheck, you can really run that script??? I smell BS (unless maybe you have a magic rom of some sort???)...as previously stated, try actually testing before releasing. The major issue with this script is it is missing that good ole fashion required opening line - #!/system/bin/sh. So there is no way it will do anything for anybody (you included), lol. FAIL.
Try actually learning some code instead of "borrowing" it all and you may avoid such issues :silly:.
Click to expand...
Click to collapse
cpuramcheck works..
The rest of whatever you said I'm ignoring, take your negativity elsewhere. Nobody likes a troll. Maybe if you actually tried something instead of immediately bashing on something, you'd see that it works..
I don't need your opinion, it looks like you're trying to discourage me, that's not cool. If you don't like this thread you don't have to stick around and be a troll.
Sent from my LG Optimus L9 running PenberRom5 using Tapatalk 2
leolawliet said:
cpuramcheck works..
The rest of whatever you said I'm ignoring, take your negativity elsewhere. Nobody likes a troll. Maybe if you actually tried something instead of immediately bashing on something, you'd see that it works..
I don't need your opinion, it looks like you're trying to discourage me, that's not cool. If you don't like this thread you don't have to stick around and be a troll.
Sent from my LG Optimus L9 running PenberRom5 using Tapatalk 2
Click to expand...
Click to collapse
My bad, I stand semi-corrected, cpuramcheck kinda sorta works. If you try and run it by doing su -c cpuramcheck (which is the way most bin scripts work...including the others in your mod package), it will NOT work...you will get a 'cannot execute' error. To make it work the user would have to manually invoke the shell, which is very odd to begin with, plus it is inconsistent with the other bin scripts you included. I doubt most users would figure this out. BTW, adding the standard opening line would eliminate the need for the user to call the shell manually. I'll call this one a wash as we are both right and wrong. EDIT: Okay, you are 100% correct in these regards...I am a donkey idiot...I tested it as an xbin script out of curiosity (with the text I stuck out I ran it in script manager, which required me to tell it is was a script, hence some of my comments) and it does work as intended...guess I need to learn more about bin and shell scripts...I will cop to my mistake and edit my previous post so people know I was wrong in this matter.
What you do NOT want to acknowledge your incompetence in regards to 34dalvikcalc so you choose to ignore my questions? LOL
I am not trying to troll you; just calling things as I see them [edit: (which is obviously wrong sometimes)].
If it discourages you from doing things you obviously have no business doing, then GOOD...it helps the quality control of XDA. XDA does NOT need another completely unoriginal mod package where the dev does not really/fully know what they are doing.
Ignorance is bliss; enjoy it, as it seems you are drowning in it...don't be mad I called you on your BS and lack of knowledge. Again maybe try actually learning some bash/shell scripting before you try to compile a mod package.
I held off on give this a one star rating, but your comments have confirmed my initial suspicions...sad and pathetic.
Have fun dragging down the overall quality of XDA and collecting undeserved thanks from the legions of silly crack flashers.
EDIT: Overly harsh...poor form on my part...many apologies. I will refrain from further commentary...I should have learned by now that if one has nothing good to say it is best to remain silent.
Is it compatible to use this mod on LG OPTIMUS G PRO?
Sent from my LG-E988 using Tapatalk 4
defiant07 said:
My bad, I stand semi-corrected, cpuramcheck kinda sorta works. If you try and run it by doing su -c cpuramcheck (which is the way most bin scripts work...including the others in your mod package), it will NOT work...you will get a 'cannot execute' error. To make it work the user would have to manually invoke the shell, which is very odd to begin with, plus it is inconsistent with the other bin scripts you included. I doubt most users would figure this out. BTW, adding the standard opening line would eliminate the need for the user to call the shell manually. I'll call this one a wash as we are both right and wrong. EDIT: Okay, you are 100% correct in these regards...I am a donkey idiot...I tested it as an xbin script out of curiosity (with the text I stuck out I ran it in script manager, which required me to tell it is was a script, hence some of my comments) and it does work as intended...guess I need to learn more about bin and shell scripts...I will cop to my mistake and edit my previous post so people know I was wrong in this matter.
What you do NOT want to acknowledge your incompetence in regards to 34dalvikcalc so you choose to ignore my questions? LOL
I am not trying to troll you; just calling things as I see them [edit: (which is obviously wrong sometimes)].
If it discourages you from doing things you obviously have no business doing, then GOOD...it helps the quality control of XDA. XDA does NOT need another completely unoriginal mod package where the dev does not really/fully know what they are doing.
Ignorance is bliss; enjoy it, as it seems you are drowning in it...don't be mad I called you on your BS and lack of knowledge. Again maybe try actually learning some bash/shell scripting before you try to compile a mod package.
I held off on give this a one star rating, but your comments have confirmed my initial suspicions...sad and pathetic.
Have fun dragging down the overall quality of XDA and collecting undeserved thanks from the legions of silly crack flashers.
EDIT: Overly harsh...poor form on my part...many apologies. I will refrain from further commentary...I should have learned by now that if one has nothing good to say it is best to remain silent.
Click to expand...
Click to collapse
Dude.. instead of bashing, you could encourage me to improve the package and fix things and give me pointers, you know.. give some insight but not if you're gonna be so harsh that it looks like you're attacking me.. did you even try the tweaks..? Clearly not if you keep assuming stuff, and even YOU provided false info. Why are you even giving feedback if you haven't even tried it and never plan on using it? You just THINK you know what you're talking about.. but look what happened, you automatically assumed one of my scripts was total BS and it worked.. maybe not the way you wanted it to work but it does in fact work as stated. You insult me saying I need to learn how to code, and then I correct you, and then you correct yourself.. what was that you said about me needing to learn how to code? The same goes for you, learn your stuff too so it doesn't look like you're pretending to know what you're talking about, cuz seriously it looks that way now. I'm learning at my own pace trying to teach myself so I don't bug and annoy anyone for advice but I'm not gonna pretend I know everything. You made your own self look like a complete moron, that was your own doing, not mine.
It's a tweak package seriously who starts crap over that? It's ridiculous. I can understand if you DID try the tweak package without making a backup and then you screwed up your device, at that point I'd feel bad I'd apologize and try to help make things right, but that's not even the case here. You didn't even flash anything so why are you even talking like you tried it and it killed your phone? -____-
I thought this was supposed to be a friendly community, I wouldn't even think of calling out anyone to speak to them the way you've spoken to me, just honestly speaking you came off as really rude to me and I felt some kind of way about it.. it's difficult to look at it any other way.
Also.. how many other developers and users post up stuff on a daily basis that isn't even a final product? Tons of users have done it, and for their own reasons. So why the hell single me out like you did? Do you talk to everyone on XDA this way? Have some respect and consideration for others. Maybe you had a bad day and wanted to take it out on someone, but I don't know that so I can't assume and won't assume, but your behavior was definitely out of line and not normal. I'm not bashing you, nobody is. You made your own self look like a troll. You had no legit reason for behaving the way you did towards me in the first place, you do not know me from a hole in a wall. At least I'm not posting anything that breaks radio/battery indicator/GPS/WiFi/data/Bluetooth/etc. At least I posted something, I'm not someone who announces something BIG that gets everyone all hyped up only to never release it. If anyone feels adventurous, and knows what to do with these tweaks, they will check it out. If someone doesn't understand any of this, they're in the wrong place and I can't be blamed if they screw up their device because they SHOULD be aware of what they're doing. If users see some obvious mistakes in any of the things, I encourage them post their findings in the thread. You did that, BUT you were in fact very rude about it. Regardless if it points a person in the right direction you just can't speak to anyone like that, some people will take it some kind of way, like I did. Do you see where I'm coming from with this? We have this community so we could all support each other, help each other out somehow, not discourage others. I've seen noobs turn out to become great developers, I have mad respect for them for the effort they put into everything they did and for how far they've come along. You gotta start somewhere but if you sit around doing nothing, not interacting with others, how do you hope to learn anything? I may make mistakes along the way, as well as other users, but ultimately we learn from it. When you learn from a mistake you learn not to repeat it and how to avoid it.
All I wanted to do was create a package with my preferred tweaks, to flash over any ROM update I install, without having to do it all one-by-one all over again, that was the whole point of this package. And the point of this thread was to share it and spot out anything wrong with it and to improve it. I welcome feedback and insight to improve the package, I encourage it because I want something that would benefit everyone. I just would appreciate it if the person came to me in a nice way. Honestly speaking, I can't remember the last time anyone spoke to me this way on XDA. I'm shocked, everyone else here is so nice and always willing to point me in the right direction, but half the time I don't wanna ask because I don't wanna be bothersome so I look for a way to figure things out on my own so I could avoid stuff like this.
Also.. "Credit goes out to these guys" http://forum.xda-developers.com/showpost.php?p=45273653&postcount=2
^ If you read the 2nd post you'll see I'm not taking any credit. You'll see I have told users to thank the credited developers on the 2nd post and it's been that way since I started this thread.. I never intended to take credit for the work of someone else, and really I haven't.. it's all there.
I should also mention I started that OP post on one of the threads for one of my ROMs and it had been copied over from there and changed a bit, I didn't thoroughly look through everything written the first time around, I didn't intentionally try to mislead anyone, and if anyone felt that way then I apologize and I corrected the post.
Another thing I wanted to say, I have been testing these tweaks for some time, along with the help of others so I didn't do this alone, I've had help along the way. I've even asked them to test them on the ROM updates I posted and on their other devices. No complaints. If I didn't feel confident that these tweaks would help others, if these tweaks haven't helped me in the past, I wouldn't have felt the need to share anything with anyone. The last thing I want right now is to cause someone's device to stop functioning, I would never want that to happen to anyone. The disclaimer states that I warned users to make a backup first before they try anything, that's common sense for anyone who has a custom recovery installed. If anything goes wrong, they have the option to restore their backup. I've been wanting to package these tweaks together for a while now, and just recently started learning how to put together flashable zips, which I had always wanted to learn how to do but never really got a chance to look into it till recently since I have access to PCs at work at any time now. The tweaks are working just as described for the devices I have tested them on (except LG G2x), and nothing conflicts, for me at least. I don't have a super phone, just a dual core device running PACrom JB 4.3, and that's not even so stable on it's own to be honest.
As for the build.prop tweaks I wanted to include, I'm gonna explain. At first I did include them, I had a built-in script that WAS supposed to install them, I double checked everything from the script to the updater script, but for some odd reason I couldn't get it to work right and didn't wanna frustrate myself over it so I corrected it by instead posting the tweaks to copy and paste from the OP and in my opinion that is the better way to go with the build.prop tweaks because they don't always work on every device and you wouldn't have to install them all at once. This gives users a better chance to single out the tweaks that don't work for them, for the sake of avoiding bootloops & such. I tested them on my LG G2x a while back and didn't get the results I wanted (but that phone always had issues with whatever I tried doing with it). This won't work the same for every phone.
I just didn't like how you came off towards me, it could've been handled better. It's not even that I wanna ignore what you said about the 34dalvikcalc script, you angered me and it didn't seem like you were trying to be helpful, instead it just seemed like you were trying to pick on me. I took a look at 34dalvikcalc and I'm gonna exclude it from now on. Not looking for anything to replace it with, at this point I'm gonna slim down the installer and exclude some of the stuff. I was gonna remove the script but you really didn't have to push things that far.. the least you could've done was send me a message in the first place, that's all it takes. That's what everyone else does when they have an issue with anything I pointed them out to.
I accept your apology, we were both wrong in some ways. I'm not even trying to make you feel negatively about me either so don't get the wrong idea about my response. I'm a pretty nice person, I'm not used to arguing with anyone. I rarely do but when I do I tend to have a short fuse. I'm too nice to put up with it. I'm not about to have an argument with someone I'll probably never meet over a thread post. It's pointless and it looks dumb. I'd rather be making friends over here at XDA. Let us drop this discussion, and allow the thread get back on topic.
drumbeater79 said:
Is it compatible to use this mod on LG OPTIMUS G PRO?
Sent from my LG-E988 using Tapatalk 4
Click to expand...
Click to collapse
There's only one way to know. Make a nandroid backup first, then flash the tweaks. If you find anything wrong let me know. This isn't for every phone.
Tgyztrk said:
İ cant fiash it.My phone is huawei sonic with CM9 4.0.4
Click to expand...
Click to collapse
If you like I can help you with this later if you're still interested in trying the tweaks, I'm on my way home from work.
leolawliet said:
Dude.. instead of bashing, you could encourage me to improve the package and fix things and give me pointers, you know.. give some insight but not if you're gonna be so harsh that it looks like you're attacking me.. did you even try the tweaks..? Clearly not if you keep assuming stuff, and even YOU provided false info. Why are you even giving feedback if you haven't even tried it and never plan on using it? You just THINK you know what you're talking about.. but look what happened, you automatically assumed one of my scripts was total BS and it worked.. maybe not the way you wanted it to work but it does in fact work as stated. You insult me saying I need to learn how to code, and then I correct you, and then you correct yourself.. what was that you said about me needing to learn how to code? The same goes for you, learn your stuff too so it doesn't look like you're pretending to know what you're talking about, cuz seriously it looks that way now. I'm learning at my own pace trying to teach myself so I don't bug and annoy anyone for advice but I'm not gonna pretend I know everything. You made your own self look like a complete moron, that was your own doing, not mine.
Click to expand...
Click to collapse
Umm, okay I admitted to as much in the edits I made to my previous post...I shot my self in the foot regarding the cpuramcheck script...never seen a bin script not start with the standard opening line...never said it was your doing, I took and will continue to take full responsibility, which is why I did not delete my old silly comments, instead I stuck out the old text and added edits so my mistakes would be public record.
But in all fairness, all the other points I made were valid and are a reasonable basis for concluding this package is of suspect quality.
leolawliet said:
It's a tweak package seriously who starts crap over that? It's ridiculous. I can understand if you DID try the tweak package without making a backup and then you screwed up your device, at that point I'd feel bad I'd apologize and try to help make things right, but that's not even the case here. You didn't even flash anything so why are you even talking like you tried it and it killed your phone? -____-
Click to expand...
Click to collapse
I never talked like I tried it...reread my posts I explicitly stated at least twice that all I did was skim the zips contents. BTW - quite a bit a of crap is started over suspect tweak packages...read the PurePerformance and NetForks threads for examples...this kinda reminds me of PurePerformance, although I doubt it will cause the problems that pureperformance did/does.
leolawliet said:
I thought this was supposed to be a friendly community, I wouldn't even think of calling out anyone to speak to them the way you've spoken to me, just honestly speaking you came off as really rude to me and I felt some kind of way about it.. it's difficult to look at it any other way.
Click to expand...
Click to collapse
Agreed...I should have remained silent or have been more constructive and tactful in my criticisms.
leolawliet said:
Also.. how many other developers and users post up stuff on a daily basis that isn't even a final product? Tons of users have done it, and for their own reasons. So why the hell single me out like you did? Do you talk to everyone on XDA this way? Have some respect and consideration for others. Maybe you had a bad day and wanted to take it out on someone, but I don't know that so I can't assume and won't assume, but your behavior was definitely out of line and not normal. I'm not bashing you, nobody is. You made your own self look like a troll. You had no legit reason for behaving the way you did towards me in the first place, you do not know me from a hole in a wall. At least I'm not posting anything that breaks radio/battery indicator/GPS/WiFi/data/Bluetooth/etc. At least I posted something, I'm not someone who announces something BIG that gets everyone all hyped up only to never release it. If anyone feels adventurous, and knows what to do with these tweaks, they will check it out. If someone doesn't understand any of this, they're in the wrong place and I can't be blamed if they screw up their device because they SHOULD be aware of what they're doing. If users see some obvious mistakes in any of the things, I encourage them post their findings in the thread. You did that, BUT you were in fact very rude about it. Regardless if it points a person in the right direction you just can't speak to anyone like that, some people will take it some kind of way, like I did. Do you see where I'm coming from with this? We have this community so we could all support each other, help each other out somehow, not discourage others. I've seen noobs turn out to become great developers, I have mad respect for them for the effort they put into everything they did and for how far they've come along. You gotta start somewhere but if you sit around doing nothing, not interacting with others, how do you hope to learn anything? I may make mistakes along the way, as well as other users, but ultimately we learn from it. When you learn from a mistake you learn not to repeat it and how to avoid it.
Click to expand...
Click to collapse
In all honesty I have only seen a handful products as unpolished as this and most of those at least had half decent OPs. Furthermore, many of these products label themselves as WIP or alpha/beta, which makes such deficiencies somewhat understandable. The way in which you presented your product leads users to believe it is in a more or less finished state, meaning it should be free of silly errors.
I did not single you out...as previously stated, I call things as I see them (albeit my vision is far from perfect)...I have gone after the devs of PurePerformance and NetForks (although I was 100% correct in these cases)...admittedly I get more annoyed than I should and perhaps react poorly...why should I care if other users crack flash crap?
leolawliet said:
All I wanted to do was create a package with my preferred tweaks, to flash over any ROM update I install, without having to do it all one-by-one all over again, that was the whole point of this package. And the point of this thread was to share it and spot out anything wrong with it and to improve it. I welcome feedback and insight to improve the package, I encourage it because I want something that would benefit everyone. I just would appreciate it if the person came to me in a nice way. Honestly speaking, I can't remember the last time anyone spoke to me this way on XDA. I'm shocked, everyone else here is so nice and always willing to point me in the right direction, but half the time I don't wanna ask because I don't wanna be bothersome so I look for a way to figure things out on my own so I could avoid stuff like this.
Click to expand...
Click to collapse
Okay, how nice of you...what an altruist. But you have to admit the inclusion of a total empty file (that turbo script), a script that does nothing (dalvikcalc, which you clearly thought did something productive), and an inaccurate and uninformative OP (that states the build.prop tweak were included, when they are not and has no usage instructions) would lead any reasonable observer to conclude this is a half assed effort where the dev does not really know what they are doing.
leolawliet said:
Also.. "Credit goes out to these guys" http://forum.xda-developers.com/showpost.php?p=45273653&postcount=2
^ If you read the 2nd post you'll see I'm not taking any credit. You'll see I have told users to thank the credited developers on the 2nd post and it's been that way since I started this thread.. I never intended to take credit for the work of someone else, and really I haven't.. it's all there.
Click to expand...
Click to collapse
Umm, whatever...I never said anything about a lack of proper credits (in fact, if you were to ask my option of the matter, I would say you did an excellent job giving credits)...if you reread my second post you will find that I stated I looked at Pizza Box because you credited it. In addition, this is the exact reason why I called this 'unoriginal' in one of the struck out sections of my previous post; so I have no idea where this rant came from.
leolawliet said:
I should also mention I started that OP post on one of the threads for one of my ROMs and it had been copied over from there and changed a bit, I didn't thoroughly look through everything written the first time around, I didn't intentionally try to mislead anyone, and if anyone felt that way then I apologize and I corrected the post.
Click to expand...
Click to collapse
Although I know your sick of my opinions, this is why I previously stated you should have waited until you had the time to make a proper, decent OP.
Also previously stated, at least you are responsive and responsible, not to mention you are clearly trying to make a honest effort to learn (I've seen many of those posts you've made in the threads you used stuff from)...I noticed you corrected that error, but it should have never existed in the first place (<<my opinion - if you're gunna release it to the public there ought to be a minimum quality standard that includes an accurate and informative OP)
leolawliet said:
Another thing I wanted to say, I have been testing these tweaks for some time, along with the help of others so I didn't do this alone, I've had help along the way. I've even asked them to test them on the ROM updates I posted and on their other devices. No complaints. If I didn't feel confident that these tweaks would help others, if these tweaks haven't helped me in the past, I wouldn't have felt the need to share anything with anyone. The last thing I want right now is to cause someone's device to stop functioning, I would never want that to happen to anyone. The disclaimer states that I warned users to make a backup first before they try anything, that's common sense for anyone who has a custom recovery installed. If anything goes wrong, they have the option to restore their backup. I've been wanting to package these tweaks together for a while now, and just recently started learning how to put together flashable zips, which I had always wanted to learn how to do but never really got a chance to look into it till recently since I have access to PCs at work at any time now. The tweaks are working just as described for the devices I have tested them on (except LG G2x), and nothing conflicts, for me at least. I don't have a super phone, just a dual core device running PACrom JB 4.3, and that's not even so stable on it's own to be honest.
Click to expand...
Click to collapse
Just because none of them complained does not mean there are no issues. Clearly your testers missed the two valid script related problems I pointed out. Even a total noob should have noticed the blank turbo script.
leolawliet said:
As for the build.prop tweaks I wanted to include, I'm gonna explain. At first I did include them, I had a built-in script that WAS supposed to install them, I double checked everything from the script to the updater script, but for some odd reason I couldn't get it to work right and didn't wanna frustrate myself over it so I corrected it by instead posting the tweaks to copy and paste from the OP and in my opinion that is the better way to go with the build.prop tweaks because they don't always work on every device and you wouldn't have to install them all at once. This gives users a better chance to single out the tweaks that don't work for them, for the sake of avoiding bootloops & such. I tested them on my LG G2x a while back and didn't get the results I wanted (but that phone always had issues with whatever I tried doing with it). This won't work the same for every phone.
Click to expand...
Click to collapse
Makes sense and further explains the initially inaccurate OP...like I said - your honest and responsible, which imo puts you a cut above the creators of PureNonsense and NetForks.
GL with this and HF learning.
leolawliet said:
I just didn't like how you came off towards me, it could've been handled better. It's not even that I wanna ignore what you said about the 34dalvikcalc script, you angered me and it didn't seem like you were trying to be helpful, instead it just seemed like you were trying to pick on me. I took a look at 34dalvikcalc and I'm gonna exclude it from now on. Not looking for anything to replace it with, at this point I'm gonna slim down the installer and exclude some of the stuff. I was gonna remove the script but you really didn't have to push things that far.. the least you could've done was send me a message in the first place, that's all it takes. That's what everyone else does when they have an issue with anything I pointed them out to.
Click to expand...
Click to collapse
Although you're kinda beating a dead horse at this point, I will agree with you again - this is all true and correct.
leolawliet said:
I accept your apology, we were both wrong in some ways. I'm not even trying to make you feel negatively about me either so don't get the wrong idea about my response. I'm a pretty nice person, I'm not used to arguing with anyone. I rarely do but when I do I tend to have a short fuse. I'm too nice to put up with it. I'm not about to have an argument with someone I'll probably never meet over a thread post. It's pointless and it looks dumb. I'd rather be making friends over here at XDA. Let us drop this discussion, and allow the thread get back on topic.
Click to expand...
Click to collapse
Thank you, you are most gracious. Your responses have been most civil and I don't take your criticisms negatively as they are quite justified.
Sorry again.
=========
To get things back on topic (although it was never really totally off topic) and to be constructive for a change , if you want to include build.prop tweaks in your zip and if you have not already resolved this issue: (1) create a script named "buildprop_additions" in .sh format that follows this general guideline
Code:
#!/system/bin/sh
busybox echo "" >> /system/build.prop
busybox echo "### PenberEngine Tweaks Begin" >> /system/build.prop
busybox echo "YOURFIRSTTWEAK" >> /system/build.prop
busybox echo "YOURSECONDTWEAK" >> /system/build.prop
etc
etc
busybox echo "### PenberEngine Tweaks End" >> /system/build.prop
; (2) place this script in the base of your zip; (3) in the updater script somewhere after you mount /system add this
Code:
package_extract_file("buildprop_additions.sh", "/tmp/buildprop_additions.sh");
set_perm(0, 0, 0777, "/tmp/buildprop_additions.sh");
run_program("/tmp/buildprop_additions.sh");
I could very well be wrong as I have never actually done this first hand, but based on my limited knowledge it should work. Hope this helps.
I get where you're coming from now, I should've prepared the thread better before posting it. I got a bit eager and felt like sharing it and hopefully improving it along the way. Well, I corrected the title of the post and marked it as a project. I might actually rename PenberEngine to something else along the way, I don't think I'll stick with the name. It's just there because I use the tweaks on my roms.
I hadn't realized the turbo script was empty at first, it didn't copy over correctly. The one I had on my device wasn't empty. I guess I made a mistake with that in zipping it, my bad. Although it's better that I exclude the turbo script, I like Hyper Cola better. I'm including a couple of things I wanted to add before, and I removed enough stuff to slim it down to 2mb instead of 8mb.
This is what I saw on the build.prop script that stood out, the starting line was this:
Code:
#!/sbin/sh
while the line you gave me looked like this:
Code:
#!/system/bin/sh
I'll post back and let you know. Thanks for the pointer.
Edit: weird stuff happened, a 2nd build.prop was created

Essential Tweaks

Hey everyone! Hope you're all doing fine. I just updated to Android 10, coming from AICP Pie, and I noticed that battery life took a serious hit compared to AICP. Now I know that AICP (and probably many other custom ROMs) use EAS by default, which could be credited for the great performance and battery life you get with these setups. This didn't stop me from conducting some tests and experimenting with some changes in order to try and improve the battery life I am getting on Android 10 (and possibly all previous versions of the stock ROM). Anyway, without further ado, here is a script that tweaks the phone a little, which should improve your phone's battery life on STOCK ROMs, mainly Android 10 but it is also applicable to Android 9, though I have mainly tested it on Android 10 and the deprecated developer previews and beta builds of Android 10. A link to download the script is provided down below, right below the prerequisites and instructions.
Prerequisites
1- An Essential PH-1 (of course!)
2- Magisk (make sure to have the latest version installed)
3- A terminal emulator app -- I use this one here:
https://play.google.com/store/apps/details?id=jackpal.androidterm
4- Any file manager app.
Instructions
1- Download the script from the link below.
2- For more convenience, move the script you just downloaded to the root of your internal storage (/sdcard) using any file manager if your choice.
3- Open the terminal emulator app.
4- Type "su" (without the quotes) and hit the enter/return key on your keyboard to grant it root access (Magisk could display a pop-up window asking whether you want to grant this app root access. Make sure to tap in Grant. This usually happens once).
5- Afterwards, type "sh /sdcard/essential-tweaks" (without quotes) and hit the enter/return key on your keyboard to execute the script.
6- Voila! You're done!
--> In case you think the script has caused any regressions your are dissatisfied with, simply reboot your phone since this script doesn't automatically get applied on boot.
--> In case you rebooted your phone and wish to re-apply the script, simply follow the same instructions again.
Download
G Drive: https://drive.google.com/file/d/101Z_Co7uVU_h2blanJ88MV8x9PpRcOvg/view?usp=drivesdk
Let me know your thoughts down below. Cheers!
Reserved
Reserved 2
Sounds interesting and I'd like to try it. I don't know if you know this though, but the file on Google Drive is set to "ask permission" to download it.
Tanner1294 said:
Sounds interesting and I'd like to try it. I don't know if you know this though, but the file on Google Drive is set to "ask permission" to download it.
Click to expand...
Click to collapse
Fixed. Sorry for inconvenience. Thanks for letting me know!
#justgoogledrivethings
Mostafa Wael said:
Hey everyone! Hope you're all doing fine. I just updated to Android 10, coming from AICP Pie, and I noticed that battery life took a serious hit compared to AICP. Now I know that AICP (and probably many other custom ROMs) use EAS by default, which could be credited for the great performance and battery life you get with these setups. This didn't stop me from conducting some tests and experimenting with some changes in order to try and improve the battery life I am getting on Android 10 (and possibly all previous versions of the stock ROM). Anyway, without further ado, here is a script that tweaks the phone a little, which should improve your phone's battery life on STOCK ROMs, mainly Android 10 but it is also applicable to Android 9, though I have mainly tested it on Android 10 and the deprecated developer previews and beta builds of Android 10. A link to download the script is provided down below, right below the prerequisites and instructions.
Prerequisites
1- An Essential PH-1 (of course!)
2- Magisk (make sure to have the latest version installed)
3- A terminal emulator app -- I use this one here:
https://play.google.com/store/apps/details?id=jackpal.androidterm
4- Any file manager app.
Instructions
1- Download the script from the link below.
2- For more convenience, move the script you just downloaded to the root of your internal storage (/sdcard) using any file manager if your choice.
3- Open the terminal emulator app.
4- Type "su" (without the quotes) and hit the enter/return key on your keyboard to grant it root access (Magisk could display a pop-up window asking whether you want to grant this app root access. Make sure to tap in Grant. This usually happens once).
5- Afterwards, type "sh /sdcard/essential-tweaks" (without quotes) and hit the enter/return key on your keyboard to execute the script.
6- Voila! You're done!
--> In case you think the script has caused any regressions your are dissatisfied with, simply reboot your phone since this script doesn't automatically get applied on boot.
--> In case you rebooted your phone and wish to re-apply the script, simply follow the same instructions again.
Download
G Drive: https://drive.google.com/file/d/101Z_Co7uVU_h2blanJ88MV8x9PpRcOvg/view?usp=drivesdk
Let me know your thoughts down below. Cheers!
Click to expand...
Click to collapse
Neat...
A kranel tweaker...
In my opinion:
The damn powerhint is probably the worst offender to battery...
Currently, with magisk, I just remove /vendor/etc/powerhint.xml
I am also using kernel touchboost so I can idle down to 300...
If your battery doesn't suck... You can switch back to 518 and 806 for minimum frequencies, disable msm touchboost, and kill the powerhint... And get MUCH closer to where you were with AICP on Pie
rignfool said:
Neat...
A kranel tweaker...
In my opinion:
The damn powerhint is probably the worst offender to battery...
Currently, with magisk, I just remove /vendor/etc/powerhint.xml
I am also using kernel touchboost so I can idle down to 300...
If your battery doesn't suck... You can switch back to 518 and 806 for minimum frequencies, disable msm touchboost, and kill the powerhint... And get MUCH closer to where you were with AICP on Pie
Click to expand...
Click to collapse
Is that similar to disabling perfd?
Because that is what I did (and incidentally what my script does).
Thanks a lot for your suggestion!
Mostafa Wael said:
Is that similar to disabling perfd?
Because that is what I did (and incidentally what my script does).
Thanks a lot for your suggestion!
Click to expand...
Click to collapse
No sir...
The powerhint has something to do with the PowerHals directly...
You'll notice if you watch any frequency monitor that when you touch the screen... It jumps to 1.1Ghz on both big and little ... That's NUTS...
It also will run the processor at 1.9 and 2.5 for 5 seconds on app launch... Also CRAZY and unnecessary
Perfd controls the profiles in /vendor/etc/... I think there's 8 of em...
And like mpdecision before it... It sucks...
On a side:
I've been on Q since beta 2... And have put together a magisk module that cuts frequencies down... 1.8 Max for little and 2.0 for big... Kills perfd... Kills the powerhint by replacing with a 0 byte file... Ups zram to 1 GB... And puts touchboost to 825 and 499...
I just incorporated your scheduler changes and I'll let you know what I come up with...
If you're interested in the module ... I'll share it .. just let me know
Edit: @KuranKaname approves the frequency choices BTW
rignfool said:
No sir...
The powerhint has something to do with the PowerHals directly...
You'll notice if you watch any frequency monitor that when you touch the screen... It jumps to 1.1Ghz on both big and little ... That's NUTS...
It also will run the processor at 1.9 and 2.5 for 5 seconds on app launch... Also CRAZY and unnecessary
Perfd controls the profiles in /vendor/etc/... I think there's 8 of em...
And like mpdecision before it... It sucks...
On a side:
I've been on Q since beta 2... And have put together a magisk module that cuts frequencies down... 1.8 Max for little and 2.0 for big... Kills perfd... Kills the powerhint by replacing with a 0 byte file... Ups zram to 1 GB... And puts touchboost to 825 and 499...
I just incorporated your scheduler changes and I'll let you know what I come up with...
If you're interested in the module ... I'll share it .. just let me know
Edit: @KuranKaname approves the frequency choices BTW
Click to expand...
Click to collapse
Yes I know about the max frequency values. These used to be the default in Kuran's AICP too
Interesting, so you mean to say that this is completely different from perfd? Well, I only disabled perfd and I am not seeing the phone jumping back to 1.1GHz while interacting with the screen or locking on max frequencies while launching apps.
Also, what command are you using to disable perfd on Q? I just found out that the usual "stop perfd" command is not working anymore like it used to on Pie :/
I used EXKM to disable it and it works just fine :good:
Let me know if my sched tweaks bring any further improvements to you. Cheers!
EDIT: these input boost frequency values used to be the ones Sultanxda go for too iirc right?
Mostafa Wael said:
Yes I know about the max frequency values. These used to be the default in Kuran's AICP too
Interesting, so you mean to say that this is completely different from perfd? Well, I only disabled perfd and I am not seeing the phone jumping back to 1.1GHz while interacting with the screen or locking on max frequencies while launching apps.
Also, what command are you using to disable perfd on Q? I just found out that the usual "stop perfd" command is not working anymore like it used to on Pie :/
I used EXKM to disable it and it works just fine :+1:
Let me know if my sched tweaks bring any further improvements to you. Cheers!
Click to expand...
Click to collapse
Interesting ..
stop perfd
getprop|grep perfd yields the service has stopped for me
rignfool said:
Interesting ..
stop perfd
getprop|grep perfd yields the service has stopped for me
Click to expand...
Click to collapse
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Mostafa Wael said:
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Click to expand...
Click to collapse
Interesting... I just put back the powerhint... While stopping perfd and now it's listening ... I wonder if I came up with that when I had the typo in my script...
Thanks for forcing me to debug...
---------- Post added at 02:30 PM ---------- Previous post was at 02:18 PM ----------
Mostafa Wael said:
Weird. I will check again when I am home.
Thanks for chiming in! :highfive:
Click to expand...
Click to collapse
OHHHH...
Are you using service.d to run your script?
If so... You need
while [ "$(getprop sys.boot_completed)" != 1 ];
do sleep 1;
done
sleep 5
Before... Otherwise init gonna reset your stuff...
And post-fs-data.d is WAAY too early
So I have been doing a lot of tracing and testing some new changes and, well, I think it is very difficult to squeeze any more battery life on stock ROMs. Which means that it is highly unlikely that this script is going to be updated with new additions as this is practically the best we could reach at the moment. However, I will keep digging deep and see if I can come up with any updates.
To put things into perspective, here is a quick comparison with the default stock ROM tunings.
By default, I would get an average active drain of 14%/h per charge cycle, peaking at 16%/h
After applying this script the average active drain rate would drop to around 12-13%/h, peaking at 15%/h.
In other words, there is around 1-2%/h improvement in active drain rate as per my usage.
Idle drain rate is fairly similar though.
Mostafa Wael said:
So I have been doing a lot of tracing and testing some new changes and, well, I think it is very difficult to squeeze any more battery life on stock ROMs. Which means that it is highly unlikely that this script is going to be updated with new additions as this is practically the best we could reach at the moment. However, I will keep digging deep and see if I can come up with any updates.
To put things into perspective, here is a quick comparison with the default stock ROM tunings.
By default, I would get an average active drain of 14%/h per charge cycle, peaking at 16%/h
After applying this script the average active drain rate would drop to around 12-13%/h, peaking at 15%/h.
In other words, there is around 1-2%/h improvement in active drain rate as per my usage.
Idle drain rate is fairly similar though.
Click to expand...
Click to collapse
hello. Thanks for your work. It's nice and works very well.
How I can add this script to autorun?
P.S. Here is screenshots of my battery life after tweaks
@Mostafa Wael Hey mate, do you remember what the experiment was that you wanted to do recently ?
Was meant to help with smoothness and battery on Android 10?
St.Noigel said:
hello. Thanks for your work. It's nice and works very well.
How I can add this script to autorun?
P.S. Here is screenshots of my battery life after tweaks
Click to expand...
Click to collapse
I really don't have any idea, I just run then every time after boot via terminal emulator ?
CamoGeko said:
@Mostafa Wael Hey mate, do you remember what the experiment was that you wanted to do recently ?
Was meant to help with smoothness and battery on Android 10?
Click to expand...
Click to collapse
Well, it was a desperate attempt by me to try and squeeze more juice on Android 10 custom ROMs, not sure it will work out on stock ROM. Basically, I am experimenting with different values for the cpusets and stune settings of each cgroup.
I'm still evaluating whether it has a significant impact or not. So far, it is almost the same...
Mostafa Wael said:
Well, it was a desperate attempt by me to try and squeeze more juice on Android 10 custom ROMs, not sure it will work out on stock ROM. Basically, I am experimenting with different values for the cpusets and stune settings of each cgroup.
I'm still evaluating whether it has a significant impact or not. So far, it is almost the same...
Click to expand...
Click to collapse
If you're running Artemis... You're wasting you're time...
Military Dictator @KuranKaname does not allow for the powerhal to accept adjustments from stune other than what HE deems required ...
You MIGHT be able to adjust scheduler values and have them mean something ...
rignfool said:
If you're running Artemis... You're wasting you're time...
Military Dictator @KuranKaname does not allow for the powerhal to accept adjustments from stune other than what HE deems required ...
You MIGHT be able to adjust scheduler values and have them mean something ...
Click to expand...
Click to collapse
Cpuset and stune values are open (besides the top-app stune boost)
I'm using elementalx kernel on android 10 nov update, and my battery drain in deep sleep is unusually high at 2 - 2.5% per hour.
I'm wondering if this script conflicts with anything with the kernel.
I took a look at the script and it looks like some of the settings I can apply in the kernel manager.

Categories

Resources