Related
█║▌│█│║║█║▌ ║▌││ROM ░ NIGHTLY ░ © ★ SYNERGY KINGDOM ★ ™ ░ rev1 ░ 2.3.4 ░ 3.0 SENSE
Synergy-kingdom-3d official nightly folder (click)
For issues PLEASE report HERE to get fixed
For the list of commits and changes look HERE
CLICK FOR LIVE CHAT WITH ME AND OTHER USERS ON InfectedROM.com
Kernel
Stock HTC with Modded ramdisk (for now). Make sure to flash radio and such.
Click to expand...
Click to collapse
NOTES
WE DO NOT OVERCLOCK THE CPU BY DEFAULT if you want to OC get setcpu or use the newly included Virtuous OC tools. ONLY USE ONE OR THE OTHER.
Ziggys still getting everything perfect the guy doesnt even have a 3d so hes building kernels blind. Make sure to thank him!
****If you go to another kernel that does not extract our ramdisk you will break our services at least(dropbear/crond/inaydyn), and possibly the whole rom if it doesn't support pause before class start for init.d. please bug your kernel dev for a "universal" method that inserts ramdisk on flash for full compatibility! KERNELS WE HAVE MODIFIED ALREADY IN ABOVE LINK*******
Click to expand...
Click to collapse
FEATURES
Based on RUU_Kingdom_Sprint_WWE_1.19.651.0_Radio_1.11.00.0812_NV_NV_SPCS_2.60_0708_PRL51079_release_209668_signed.exe
Guys this is Commit one it is a PURE stock base no mods YET but you know how fast we commit stuff so stayed tuned
Deodexed
Zipaligned
Debloated
Custom Battery calibration zip (Thanks Seo)
Latest beta of Superuser (Thanks ChainsDD)
Newest version of market
Ramdisk tweaks by team synergy for faster internet and CIQ blocking
Build prop edits for faster call connect and lots more (Thanks Mike1986 for some of these)
Fixed Bluetooth
Fixed Wifi
Fixed Camera & Video
Fixed 4G
Fixed Hardware Acceleration
Fixed GPS
Fixed Audio
Added in Mybackup ROOT guys this app rocks for doing backups if you get the full v
LOTS MORE STAY TUNED!!
Click to expand...
Click to collapse
FIXES/SVN ACCESS
Changelog is always available here - https://code.google.com/p/synergy-kingdom-3d/source/list
Our SVN Checkout address is - http://synergy-kingdom-3d.googlecode.com/svn/trunk/
**sorry if there are any bugs, but please report whatever you see and thell make there way into tomorrows nightly if you want to wait for a signed zip. If you ever want a newer update than whats posted you can also just use a SVN client to check out our google code, zip up your own image and flash. SVN export, SVN update, and svn clean are your friends. Also you will need to convert linebreaks to linux format instead of CR+LF or youll break scripts. see SVN doc for more info.
USING SVN
LiquidSolstice wrote an awesome guide for windows up here(THANKS) - http://forum.xda-developers.com/showthread.php?t=1211234
OTHER OS
I wrote a real simple svn script based on svnkit (java cross platform no install svn client) its barley tested but should do the job. It should get our latest, update export and zip all for you. The batch script is written for windows, but you can open in a text editor and run the same type of commands on *nix or whatever. Post is here - http://forum.xda-developers.com/showpost.php?p=16345186&postcount=662
Click to expand...
Click to collapse
Whats this about Spyware?
HTC has hidden "features" in the framework. this is MORE than just CIQ being removed, there are actually services hard coded in the framework logging regardless. Apparently we all agreed to this _somehow_, even though to actually find any reference to this you need to go pretty deep in settings and LOOK for it.
Go to settings -> about phone -> legal -> htc legal. it explains what is uploaded
If you have ANY files that arent 0k in these folders, your logging is not disabled.
Code:
adb shell ls -l /data/system/usagestats
adb shell ls -l /data/system/appusagestats
adb shell ls -l /data/system/dropbox
Also in logcat you should see this:
Code:
I/SynergyRom( 4221): Trying To Disable DropBox Service
E/SynergyRom( 4221): Failure starting DropBoxManagerService. Horray!
I/SynergyRom( 4221): Trying To Disable User Behavior Logging Service.
E/SynergyRom( 4221): Failure starting UserBehaviorLoggingService. Horray!
Along with a failure if it ever tries to write still for whatever reason:
Code:
UsageStats( 4231): handleMessage msg=1
V/HtcAppUsageStats( 4231): (launch app, package): (HTC Sense, com.htc.launcher)
V/HtcAppUsageStats( 4231): handleMessage msg=1
V/HtcAppUsageStats( 4231): (launch app, package): (Connect to PC, com.htc.android.psclient)
E/SynergyHatesHtcAppUsageStats( 4231): noteResumeActivity
E/SynergyHatesHtcAppUsageStats( 4231): java.lang.Exception: Patched Check By Synergy.
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.server.am.HtcAppUsageStatsService.addULog(HtcAppUsageStatsService.java:646)
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.server.am.HtcAppUsageStatsService.notePauseActivity(HtcAppUsageStatsService.java:703)
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.internal.app.IHtcAppUsage
StatsService$Stub.onTransact(IHtcAppUsageStatsService.java:110)
E/SynergyHatesHtcAppUsageStats( 4231): at android.os.Binder.execTransact(Binder.java:320)
E/SynergyHatesHtcAppUsageStats( 4231): at dalvik.system.NativeStart.run(NativeMethod)
E/SynergyHatesHtcAppUsageStats( 4231): noteResumeActivity
E/SynergyHatesHtcAppUsageStats( 4231): java.lang.Exception: Patched Check By Synergy.
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.server.am.HtcAppUsageStatsService.addULog(HtcAppUsageStatsService.java:646)
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.server.am.HtcAppUsageStatsService.notePauseActivity(HtcAppUsageStatsService.java:703)
E/SynergyHatesHtcAppUsageStats( 4231): at com.android.internal.app.IHtcAppUsageStatsService$Stub.onTransact(IHtcAppUsageStatsService.java:110)
E/SynergyHatesHtcAppUsageStats( 4231): at android.os.Binder.execTransact(Binder.java:320)
E/SynergyHatesHtcAppUsageStats( 4231): at dalvik.system.NativeStart.run(NativeMethod)
I wrote up more here - http://infectedrom.com/content.php/154-HTCs-User-Behavior-Logging
Click to expand...
Click to collapse
DCONFIG GUIDE
Dconfig lets you tune this rom exactly how you like it. instead of hardcoding tweaks we expose all of our settings and let you choose. there is never a "one size fits all" when it comes to performance settings so why not let each user customize how it runs?
The default rom setting are contained in /system/etc/dc.conf these are updated to our liking which is usually a daily driver setting.
The first time you run dconfig it will load these settings into each screen. From here on after you save your settings are written to /data/data/com.damaged.DConfig/dc.conf and will stick with you every rom flash.
Most settings are only triggered after a full reboot, not waking from hibernate. You need init.d to be triggered, if your unsure adb reboot will always work
The most common settings people change I will explain here, there is also some text inside dconfig:
Storage control
Main Page (A2SD)-
This has your typical a2sd options, but has been beefed up for synergy rom. move your apps to sd, move dalvik to cache partition or sd. dalvik-cache can get very big on this device, so be careful moving it to /cache if your going to install many apps!
For a2sd to work, you _MUST_ have your sd partitioned with ext4 if you are on stock HTC kernel or ever plan to go back and have a2sd work. ext2/3 available as partition 2 in ziggy kernel. The layout should be as follows:
partition 1 - vfat (regular sd card partition)
partition 2 - ext4 for a2sd
partition 3 (optional) - swap partition
Click to expand...
Click to collapse
Banned App support (storage control pg2)-
Make sure your sdcard is not mounted before opening this option. All APKS will be moved to /sdcard/SynergyROM/disabled/ and on each full flash will not be reinstalled. It will appear hung when file operations are going. Also there is no confirmation on unban, it just goes. Deal. Ill fix it in a later revision.
Theres two options, Automatic & Manual. Automatic is what comes up by default. Choose an operation and It will select all the default apks used to do what you chose, click to remove anything you dont want t remove then press menu save to save.
For Manual Mode press menu, Choose option 1. Select APKs you never want to use. Press menu go to step 2 to confirm, then press menu and go to save.
Click to expand...
Click to collapse
Basic Settings:
Zipalign on boot: This will add a few seconds to each boot, but will run through your /system/app and /data/app for files that are not zipaligned and automatically do it. this is recommended to leave on, as not all market apps zipalign there stuff if it is written for older SDKs or whatever.
Lowmemkiller: we have many preset lowmemkiller values. This is very important to the end user experience as everyone has different needs here. People run sense with a bunch of widgets, lots of syncs, like having stuff open should set this to a low number to keep things running. People that want dead apps to die right away and are looking for fast performance for what they are doing should set to a high number.
High Mem/Lowmem * - The first 3 values in lowmemkiller are optimized for devices with large memory and vice versa.
The number you choose after the highmem/low mem configures the next 3 values for lowmemkiller. these are things like empty processes, services that arent being used, etc. So if you choose 250mb, you will always have around that showing for free memory, but its going to be very aggressive killing applications off. If you use sense and kill things too aggressively you may notice stuff like widgets dying. Our automatic renice script tries to deal with this by setting them to high priorities, but your mileage will vary. I usually leave mine around a 100/150, i have alot of syncs and stuff always running.
Dalvik Heap Size: this is the maximum amount of heap space a single application can have before garbage collection comes off and cleans stuff out. Some apps want more, and less GC == less cycles == better battery but the bigger you set this the less stuff can sit in memory before it gets killed off.
Click to expand...
Click to collapse
Advanced Settings:
Scheduler - basically controls how IO works. noop/cfq/deadline are the 3 choices, CFQ is default HTC setting. noop is first in first out and really basic, should be OK for device but id love to see benchmarks. you can read more on schedulers here & related pages - https://secure.wikimedia.org/wikipedia/en/wiki/Noop_scheduler
ReadAhead - this setting is in KB, it should improve sequential reads from mmc. 1024/2048 is probably a sweetspot, but once again id like to see some benchmarks!
Click to expand...
Click to collapse
SYSTEM TOOLS & INFO
our services are hardcoded in our ramdisk. if you go to another kernel you will likely break these.
Dropbear - SSH shell
Inaydyn - DYNDNS hostname support
Arenice - Sets stuff like mms/phone/sense to highest "nice" priority. this should have lowmemkiller kill them off last.
Perfkill- Loads setcpu perfkill module by default. If you go to another kernel disable this.
DROPBEAR / INAYDYN guide-
https://code.google.com/p/synergy-kingdom/wiki/ModulesAndServices
Disk Info- Shows disk partition free space
Net Info- Shows current IP address
Mount Ro/RW - Obvious
Click to expand...
Click to collapse
Other fun
Open VPN/CIFS
OpenVPN and CIFS combined is sickkk. You can do things like vpn to your home and have a symlink on your sdcard to all your home files. forget dropbox this is encrypted
explained over here -
https://code.google.com/p/synergy-kingdom/wiki/ModulesAndServices
iwconfig
this lets you set wifi transmit power. download "wifi tx power" from market or run the following commands
adb shell iwconfig eth0 txpower X
X == txpower(in dBm). 32/25/18/11/4
to make sure it set run
adb shell iwconfig
and look at TX-Power (3rd row down)
Nano/Vim These are command line text editors, useful for editing stuff quickly. they look ugly in adb shell but over dropbear look pretty
Custom bash environment stuff
you can set custom bash environment stuff in /system/etc/profile if you _never_ us adb shell (or dont care about ugly colorcodes) and want to exclusively use dropbear you can turn colors on universally here.
Click to expand...
Click to collapse
TROUBLESHOOTING BATTERY
Dconfig Process Info - This is the first thing ill ask for troubleshooting battery. After you have flashed and gone through a full power charge/discharge cycle, before you reboot your phone click dconfig process info and paste it here. It must be from when you were running through for a long period of time to make any sense.
Powertop - From adb shell with your phone screen off run "powertop" This shows number of wakes per second so you can see if you have rogue processes chewing wakeups causing your phone not to sleep
logcat - adb logcat with screen off will show you if you have runaway apps doing stuff they shouldnt.
Battery Stats - android battery stats can sometimes get whacky especially if you wipe data often (battery stats are in /data/system/batterystats.bin) Calibrating your battery with android is always recommended-
http://wiki.cyanogenmod.com/wiki/Troubleshooting#Battery_recalibration
Click to expand...
Click to collapse
We try to follow good open source practices, leaving all of our stuff open via SVN so everyone can see our changes and help us grow. we try to give props where props are due in code, commits and our official posts. If we missed anyone please let us know and ill make sure its fixed. We expect other devs to do the same if they use part of our work, we wrote/build/modified most of our stuff custom so we know where its used - its upsetting to see our stuff elsewhere without the same respect back. If you like our work, click the thanks button, help contribute here, buy us a beer, whatever. We like to keep this fun but it does take time so appreciation is always welcome
Click to expand...
Click to collapse
dibbss....................................
reserved.......................
this will most likely say something important sometime in the future
lol look you with the new ROM...aren't you fancy!
why yes i am sup boyeeeeeeeeee
Woah you guys work fast! What's the difference between this and the other synergy?
Sent from my PG86100 using Tapatalk
el poblano said:
Woah you guys work fast! What's the difference between this and the other synergy?
Sent from my PG86100 using Tapatalk
Click to expand...
Click to collapse
this is a port from the htc kingdom to the evo 3d right now its pretty stock so there is a huge difference its going to take me a little time to get all these mods implemented but i move fast and you guys have it under svn control so you can keep up
Virus said:
this is a port from the htc kingdom to the evo 3d right now its pretty stock so there is a huge difference its going to take me a little time to get all these mods implemented but i move fast and you guys have it under svn control so you can keep up
Click to expand...
Click to collapse
How do you like the interface? I just barely switched to synergy from virusrom (hahaha all your roms) and would hate to wipe again, unless the kingdom UI was that much better. As for the mode I know you guys do amazing work, so I'm not worried about that!
Sent from my PG86100 using Tapatalk
Virus said:
why yes i am sup boyeeeeeeeeee
Click to expand...
Click to collapse
Lol not much here...just trying to find people to play Words With Friends against...lol yea I was late to the game, so what lol
el poblano said:
How do you like the interface? I just barely switched to synergy from virusrom (hahaha all your roms) and would hate to wipe again, unless the kingdom UI was that much better. As for the mode I know you guys do amazing work, so I'm not worried about that!
Sent from my PG86100 using Tapatalk
Click to expand...
Click to collapse
It really doesn't look any different. If the is like the synergy-kingdom port for the 4G.
it looks the same 3.0 let me explain why i spent the day porting all this.
1. the htc kingdom finally got a full ruu that was 2.3.4 the one that i based all my evo roms on was a test build with debugging turned on in the whole rom.
2. the kingdom is a single core processor 3.0 sense phone so i knew when i ported it to the 3d it would fly because of the dual core processor!!!
aight guys im out for the night enjoy!!!
You beat me....I thought about doing this when Football posted. Just started so I'm glad I saw your thread.
Sent from my HTC Evo 3D using Tapatalk!
TMartin said:
You beat me....I thought about doing this when Football posted. Just started so I'm glad I saw your thread.
Sent from my HTC Evo 3D using Tapatalk!
Click to expand...
Click to collapse
sorry mane !!!
This thang is very snappy
Sent from my PG86100 using xda premium
Flashing now, quads and any bugs in the edit
Edit 1: Woah, 400mb+ free ram from the get go xD
Edit 2: real world phone flies, but quad scores are only like 1700-1900 and I normally get like 2300's+ on shooter synergy, but seems good so far
how do people get such high quad scores? the highest ive gotten with the 3d was when it was unrooted stock. im getting around 1400 running synergy 3Dvo unofficial build #236. how do i get my score up? thanks
Fast as all hell, one problem though.. calendar and gallery aren't showing up.
If you don't have an 3vo, you don't have an 3vo
jeffhbo said:
how do people get such high quad scores? the highest ive gotten with the 3d was when it was unrooted stock. im getting around 1400 running synergy 3Dvo unofficial build #236. how do i get my score up? thanks
Click to expand...
Click to collapse
Well for one it's going to be hard to get the kind of scores people were getting on 2.3.3 because you can oc on 2.3.3 but until the kernel source is released for 2.3.4 you can't. I know I also seen people that would kill everything that runs in the background before they would run a benchmark which makes a huge difference. I say as long as the phone feels fast and snappy then it doesn't really matter.
Hey, I know this is well trodden territory and trust me I've read every post available on the subject, but I can not get *smooth* flash video on any website - namely ABC.com and HULU.com. I personally don't use those websites, but my GF does extensively. Here are the two scenarios I am trying to get working:
1. Task's 14 full w/pershoot's latest kernel (OC'ed 1.4ghz) - I have tried using the stock Browser and Dolphin HD, same results in both. I have modded the lib file from AND to WIN on the latest Flash update, but the video is choppy and the subtitles do not sync well. I have reduced the resolution to 240p and run the videos as full screen, but the playback is still choppy - thankfully the audio is at least synced.
- Is there a better way to set this up?
- Is there a script I can run to improve performance?
- Is there another browser that has better performance?
2. CM9 nightly (no mods) - In this scenario I am able to mod the lib file, but the websites cause the stock browser and Dolphin HD to lock up (won't load any other pages either). None of the modded apk's available work either. The websites will load, but when I click on a video or flash element the browser will hang.
- Same questions from above.
I'd like to skip the discussion over flash as a dead technology, and that flash wasn't really meant for mobile technology... Right now, Hulu and ABC use flash and right now Hulu and ABC do not provide android apps. I am not interested in paying for Hulu Plus just for the ability to access the basic features of the website.
If the answer is simply, scenario 1 is the best possible at this time - I can accept that. But hopefully someone will be able to provide some tips or instructions on improving the quality of flash on the 10.1 tablet (my thinking, if a p4 1ghz w/512ram can run hulu without a problem, why does my tablet not have enough horsepower?).
Thanks in advance. Please let me know if there is any further information I can provide (and if it is some kind of log, how I can get the information to provide).
TASL said:
Is there a script I can run to improve performance?
Click to expand...
Click to collapse
Unforunately, not that I am aware of.
TASL said:
Is there another browser that has better performance?
Click to expand...
Click to collapse
Any browser not based on the built-in webkit (such as Chrome and Firefox) are unable to access the flash plugin anyway
TASL said:
(my thinking, if a p4 1ghz w/512ram can run hulu without a problem, why does my tablet not have enough horsepower?)
Click to expand...
Click to collapse
The problem is is the cheap port that Adobe made to get Flash to run on ARM.
I have a seamless loop player that runs fine on x86 (any platform), but skips during the loop on ARM. I've tried recalculating the buffers in the swf, but no... It is just a really shoddy platform.
try using Opera Mobile Web browser (not Mini version). I just click on flash clip i want to display on page, and it runs. Other flash clips are turned off so the performance is focused on that one i'm watching (i hope so )
Have you tried the following settings? If you aren't on ICS, then you need to download NoFrills (Free) on market
Max 1.4
Min 216
Governor: Performance
I/O : Noop or BFQ but some say the BFQ cycles are poor making noop the best for cycles.
Apply and tell me if you feel this has made it more, bearable?
I do agree with zefie over the poor portover to ARM devices which is why we suffer when Android was supposed to be the dominator over Apples no-flash policy.
I would suggest after you are done watching or whatever, you change the governor back to ondemand as performance keeps the CPU at 100% processing making it eat more juice. Video watching itself drains battery, and so will the governor.
I'm having trouble finding how to switch for bfq to noop. Do I need to load a script or flash another kernel?
Use Nofrills o.o It's the market, and free, you can change it there. You probably must be on ICS if you can't find to change from BFQ, But regardless it's fine you dont have to worry since the cycles are almost the same, Noop is just more stable compared to BFQ
Misledz said:
Use Nofrills o.o It's the market, and free, you can change it there. You probably must be on ICS if you can't find to change from BFQ, But regardless it's fine you dont have to worry since the cycles are almost the same, Noop is just more stable compared to BFQ
Click to expand...
Click to collapse
Thank you for the help and the suggestions. Unfortunately the result was the same to my GF's eyes. I suppose I'll have to hope that Netflix keeps her viewing needs satisfied, or that Hulu will release a proper app.
As of the moment Hulu and Netflix are so IOS oriented, They should start optimizing their apps for Android series aswell. Probably some rivalry issues but this shouldn't be a reason limit their customers.
Let's just hope something off the bat arrives and improves it on it's own.
Based on this thread:
http://forum.xda-developers.com/showthread.php?t=1595531
and this one:
http://forum.xda-developers.com/showthread.php?t=903507
After quite some reading and messing about it worked...
I have patched sqlite3.c from CM9 ICS source and recompiled CM9 (for nexus, the tutorial used that one... but files seem interchangable).
!!!WARNING!!!
!!!Use this at your own risk! I will not be responsible for any messed up primes, errors and/or loss of data!!!
This can mess up your prime! Only do this if you have a working CWM backup and can restore that backup from recovery! Root is required at this time to replace the files...
I have no idea what this does with data integrity, if you value your data extremely it might be wise not to try this!
!!!WARNING!!!
*RISK*
As explained by Hobbesian in this post: http://forum.xda-developers.com/showpost.php?p=27121811&postcount=39
Fsync off means that SQLite is unbound by the need to check that data has been written to disk successfully, it also means the operating system can freely re-order the writes before they are comitted to flash memory, which in the event of a hardlock will very likely result in database corruption, of the unrecoverable sort.
Fsync in itself is often used -deliberately- to incur an I/O buffer, so whilst it might seem like a great idea to turn it off, what you're essentially doing is risking the CPU going faster than the device controller can write to memory. This is bad. I cannot begin to imagine how many klaxons would go off if you're working on something remotely important and use this patch.
*RISK*
I hereby attach the zip containing the libsqlite.so and libsqlite_jni.so.
1. Copy the files (using root explorer for example) to the /system/lib folder, replacing the original files. (Mount that folder as RW if necessary).
2. Set permissions to the same as the other files, rw-r--r--.
3. Reboot.
If something went wrong your prime will not boot but will be stuck at the booting screen, in that case recover to a working backup using CWM.
SQLite benchmark went from 100+ secs to 20-25 seconds. Quadrant IO bench improved as well.
Have yet to decide on realtime performance but I actually believe the internal memory is pretty mediocre, physically... So this only helps partially in that case.
It's fun to play with sync settings but not if you value your data. I would strongly advise against it except for testing and benchmark purposes...
Thanks, but Iḿ awarre of possible consequences... But I believe the conclusion in earlier versions was that, even though there are indeed risks, they aren't as huge as you'd might expect. Mainly with unexpected reboots or shutting down the risk is big(ger).
But even if itś just for testing/benching... I would still very much like to see the results.
Btw, it should be ARM v7 even... that is the proper instruction set. Updated starting post.
Ugh, got it to build for arm-v7a but of course it looks (completely) different from the module with the prime. Structure the same, but compiled different enough. So thought I'd compule the library and install it on the prime but that resulted in the prime not booting...
Hmmm
I'd love to help, but I have zero knowledge in anything SQLite...
I wish you good luck!
I think everyone is hoping that the slow random write speeds are purely software related. And it makes sense that they are. The SQLite benchmarking thread is giving a lot of details on what is making our performance so sluggish, but not why.
Next step, compile complete CM9 source (hopefully including libsql src ) so I can use that as a base...
Copying the libsqlite.so and libsqlite-jni.so from an AOKP rom worked fine, so perhaps this is a (not the easiest) way to get things to work.
And ah well, otherwise I learnt how to compile a rom
xTRICKYxx said:
I'd love to help, but I have zero knowledge in anything SQLite...
I wish you good luck!
I think everyone is hoping that the slow random write speeds are purely software related. And it makes sense that they are. The SQLite benchmarking thread is giving a lot of details on what is making our performance so sluggish, but not why.
Click to expand...
Click to collapse
Same here, thanks for taking time out to tinker with our primes...........hmm, im not intirelly sure if i should refrase that???
GD LUCK
dagrim1 said:
Next step, compile complete CM9 source (hopefully including libsql src ) so I can use that as a base...
Copying the libsqlite.so and libsqlite-jni.so from an AOKP rom worked fine, so perhaps this is a (not the easiest) way to get things to work.
And ah well, otherwise I learnt how to compile a rom
Click to expand...
Click to collapse
Are you actually changing rom code to remove fsync?
hairdewx said:
Are you actually changing rom code to remove fsync?
Click to expand...
Click to collapse
Ehm, basically... Not rom code itself but one of the libraries in the rom (for which I hope the code is in there as well).
Background info:
http://forum.xda-developers.com/showthread.php?t=1000899
Android phones as the underlying database using sqlite3. sqlite3 writes efficiency is very low, because the sync feature turned on by default, and fsync() must be performed after each insertion, the resulting system efficiency is low, and the disk life is reduced.
I try to disable sync feature by default in exchange for greater IO performance and reduce disk consumption. While doing so may result in data integrity problems, but I still like to use it because most of the sqlite insert action can be completed within a few seconds, not too much to consider issues such as sudden power-down.
After modified, the time of insert 2000 records to sqlite3 db, from 1m11s reduce to 2s.
-----------------------------
With Android applications, the database operation is non-persistent, normal step in app is:
1.open db
2.do read/write
3.close db
with step3, the data in cache will be flush to disk. so user will not notice any sudden lag, always smooth.
With SYNC-ON, the db operation like this:
1.open db
2.1. write a record/do a transcation
2.2. fsync()
2.3. write a record/do a transcation
2.4. fsync()
.....
3.close db/fsync()
with SYNC-OFF, operation like this:
1.open db
2.1 write a record/do a transcation
2.2 write a record/do a transcation
....
3. close db/fsync()
So, no-sync can significantly save IO time.
Click to expand...
Click to collapse
Patch for libsqlite.c:
http://forum.xda-developers.com/showpost.php?p=12695464&postcount=1966
Code:
diff -urNp external/sqlite/dist.origin//sqlite3.c external/sqlite/dist//sqlite3.c
--- external/sqlite/dist.origin//sqlite3.c 2011-01-07 15:26:32.000000000 +0800
+++ external/sqlite/dist//sqlite3.c 2011-01-07 15:27:55.000000000 +0800
@@ -34761,7 +34761,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen(
pPager->readOnly = (u8)readOnly;
/* pPager->needSync = 0; */
assert( useJournal || pPager->tempFile );
- pPager->noSync = pPager->tempFile;
+ pPager->noSync = 1;
pPager->fullSync = pPager->noSync ?0:1;
pPager->sync_flags = SQLITE_SYNC_NORMAL;
/* pPager->pFirst = 0; */
@@ -65838,7 +65838,7 @@ static void attachFunc(
sqlite3PagerLockingMode(pPager, db->dfltLockMode);
sqlite3PagerJournalMode(pPager, db->dfltJournalMode);
}
- aNew->safety_level = 3;
+ aNew->safety_level = 1;
aNew->zName = sqlite3DbStrDup(db, zName);
if( rc==SQLITE_OK && aNew->zName==0 ){
rc = SQLITE_NOMEM;
@@ -97124,7 +97124,7 @@ static int openDatabase(
** database it is 'NONE'. This matches the pager layer defaults.
*/
db->aDb[0].zName = "main";
- db->aDb[0].safety_level = 3;
+ db->aDb[0].safety_level = 1;
db->aDb[1].zName = "temp";
db->aDb[1].safety_level = 1;
So the basic idea is to limit IO-interaction by disabling fsync.
Interesting, I figured it would have been in one of the kernel modules.
Ok, I have been able to compile the CM9 source (for the galaxy nexus, because the tutorial was for that one) including the sqlite source...
First test was now 36,6 secs which is pretty nice, have to check for other issues (and will compile for TF201 if I can soon). The semi patch caused a number of force closes so we'll have to see how this one goes.
But at least happy I was able to compile
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Code:
Device: Transformer Prime(TF201)
ROM: AOKP B38
Kernel: Motleys running at 1.8 set to performance governer for testing
Tests: ( All tests done Run 1 after fresh boot, Run 2 immediatly after, all set to performance governer )
Couldn't get the damn formating to look right in the post ... check the image for results.
RubenRybnik said:
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Code:
Device: Transformer Prime(TF201)
ROM: AOKP B38
Kernel: Motleys running at 1.8 set to performance governer for testing
Tests: ( All tests done Run 1 after fresh boot, Run 2 immediatly after, all set to performance governer )
Couldn't get the damn formating to look right in the post ... check the image for results.
Click to expand...
Click to collapse
What about actual use performance? Is web browsing lag gone? What about switching apps?
I'm a little hesitant about the data stability... with my luck I'll have rock solid stability until the ONE TIME I actually need it and lose important data
Updated main post...
This should be in dev section?
Looks promising, thanks OP.
Sounds very promising. Rooted people, start testing!
sweet. going to try it tonight!
---------- Post added at 01:33 PM ---------- Previous post was at 01:13 PM ----------
RubenRybnik said:
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Click to expand...
Click to collapse
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Tempie007 said:
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Click to expand...
Click to collapse
Posted this in the TFP's AOKP thread in that 'other' forum:
I'm seeing some great results personally. Chrome on prime seems really responsive, apps launch pretty much instantly, haven't seen a desktop redraw on Nova the whole time. I have an image folder with about 300 wallpaper images, opening that in quickpic in the past has been pretty slow( several seconds ), now that is almost instantly done, all thumbnails before I blink lol.
Now I'm not saying this is all the sql patch I did at all, unfortunately I didn't put much time into using Montleys new kernel in a 'real world' case, I only benchmarked with his kernel then applied sql patch and benchemarked again( still using his kernel ). So perhaps I'll flash back tonight just to see if I can gauge how much the patch vs kernel is doing.( Thanks again Motley! ).
As for side effects, I installed Chrome last night so I could test, had about a 2 second freeze at the end of it installing, but came back and was fine after. Haven't seen any other freezes. I did 'loose' wifi for about 20 min last night. I was connected to the wifi the entire time, but even a reboot and net wouldn't work on the Prime, not sure what happened, or if it's related, but seemed to have 'fixed' itself after 20 min last night.
Click to expand...
Click to collapse
Tempie007 said:
sweet. going to try it tonight!
---------- Post added at 01:33 PM ---------- Previous post was at 01:13 PM ----------
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Click to expand...
Click to collapse
If it is, it is not done in the library itself...
I also tried the libsqlite files from the SGS3 for example and copied them to the prime, but that didn't help much... So if fsync is handled differently on those devices it is done in a different place.
This is just a workaround for (part of) the problem... The real issue is elsewhere. I mean, the CM9/AOKP/AOSP roms use the same source for the differnt devices yet the issues are not the same on all of them.
So somewhere in the kernel code? Or another level, the controller for example. As the HTC One X performs decent it seems that it's not (JUST) the tegra3 but some of the other components.
Ah well, maybe tonight I can try the full wipe and reinstall and see if that helps anything.
Booting time doesn;t improve with this mod, titanium restores improve a bit but nothing extreme (20-25% faster is my guess) so there IS more going on. My guess is the used memory is at least part of the problem.
Some SD benchmarking indicating the memory used isn't the best one :/ (Done with the 'Device Performance' benchmarking app)
Asus TF201:
[email protected]/mnt/sdcard (=internal)
Max Write: 14,4
Mean Write: 12,1
Min Write: 9,4
Max Read: 28,8
Mean Read: 23,2
Min Read: 14,9
[email protected]/Removable/MicroSd (=external)
Max Write: 14,7
Mean Write: 11,4
Min Write: 9,9
Max Read: 14,6
Mean Read: 12,7
Min Read: 9,0
SGS3:
[email protected]/mnt/sdcard (=internal)
Max Write: 26,7
Mean Write: 25,3
Min Write: 23,9
Max Read: 43,8
Mean Read: 42,2
Min Read: 39,4
[email protected]/mnt/extSdCard (=external)
Max Write: 10,6
Mean Write: 10,0
Min Write: 9,6
Max Read: 13,8
Mean Read: 10,6
Min Read: 6,2
Is it possible to make an intelligent fsync where it basically syncs after some clock time after the last db write or inserts an fsync with a high count of writes?
Hello, last two days I thought about I/O performance of great Asus Transformer Prime.
It is actually PDA so it means that device is not in the real power off state so much.
It can be used for ANY kernel and ANY rom!
Works with ANY ASUS TRANSFORMER MODEL!!!!!!!!!!!!!!!!!!!!!
Sooo let's tweak it for better performance!
We will reduce write times to SSD drive, no more hangups, ARNs etc.
I am using it on my own prime for one day and I have no delays at all.
For this test I need huge amount of volunteers to tune numbers in the script.
This change is only for actual session
If you want to save it after reboot use SManager for script autorun.
Here is script, run like. su
So download script on sdcard to root of sdcard, unzip and run:
Code:
su
cd /sdcard/
sh tune.sh
It is safe and it will not harm your system or break OTA update
The worst scenario is softresetting your device after
hang up (but it should be ok).
PLEASE I NEED RESPONSES FROM YOU!!!!
+ Faster system
+ less hangups (none on my Prime)
+ You don't have to flash new kernel
+ It is for actual session only, after reboot you have to run script again
+ Better battery life!
+ Longer life for internal SSD drive!
- If you reset your prime you can loose some of your datas
- If your system hangs you can loose some of your datas
- It is for actual session only, after reboot you have to run script again
EDIT: :::::::::::::::::: Ok version 0.2 is out. ::::::::::::::::::
With previous values I had problem with gmail.
With little tweaking I have no issues now and there is ALMOST no drop of permormance compared to version 0.1.
Changelog:
Code:
changed value for dirty_ratio from 90 to 70
changed value for dirty_background_ratio from 70 to 50
If you haven't gmail issues you don't have to install version 0.2
Nvm it seems that gmail issue had nothing to do with these changes
EDIT: 25.6.2012
Tune script is included here:
http://forum.xda-developers.com/showpost.php?p=27862975&postcount=149
:::::::::::::::::: EDIT 2: 26.6.2012 New version out v0.3 ::::::::::::::::::
+ tweak for battery (audio is suspended earlier when it is not used
+ some tweaks to cfs scheduler should be more responsive
Let me know your experiences with this version!!
::::::::::::::::::8.7. 2012 NEW VERSION OUT! v0.4 ::::::::::::::::::
Some of ideas taken from here ! http://forum.xda-developers.com/showthread.php?t=1205259
Optimalized for Prime
+ Added three types of scripts
+ 1st script = tune.v0.4.sh.zip = safe optimalization = only safe tweaks which will speed up IO operations a little bit
+ 2nd script = tune.v0.4.drive.sh.zip = drive optimalization = same like 1st script + optimalizations for internal ssd drive
+ 3rd script = tune.v0.4.max.sh.zip = heavy performance mode = 1st + 2nd script + "old" checked by users tweaks with background ratio, swapiness etc. + io mount tweaks + kernel tweaks + internet tweaks = max. perform. (for best turn sio TOO!!)
+ Longer life for internal SSD drive! Because noatime,noadatetime = less writes
- Somebody reported battery drain, so these relative functions were removed
Please for correct testing remove ATP application and run this script with SManager or manually (if you won't uninstall ATP it will change values...) If you don't want to remove ATP you have to wait for new developer of ATP when he will add these version of scripts to ATP !!!!!!!!!
If you have some problems after this script PLEASE try to remove ATP first, it seems that on some devices it has problems with running this script.
ok i m running it right now.
what are the default values?
Sent from my Transformer Prime TF201 using Tapatalk 2
Sorry I dont remember. Reboot your prime and you will see defaults.
batoo said:
Hello, last two days I thought about I/O performance of great Asus Transformer Prime.
It is actually PDA so it means that device is not in the real power off state so much.
It can be used for ANY kernel and ANY rom!
Sooo let's tweak it for better performance!
We will reduce write times to SSD drive, no more hangups, ARNs etc.
I am using it on my own prime for one day and I have no delays at all.
For this test I need huge amount of volunteers to tune numbers in the script.
This change is only for actual session
If you want to save it after reboot use SManager for script autorun.
Here is script, run like. su
So download script on sdcard to root of sdcard, unzip and run:
Code:
su
cd /sdcard/
sh ratio.sh
It is safe and it will not harm your system or break OTA update
The worst scenario is softresetting your device after
hang up (but it should be ok).
PLEASE I NEED RESPONSES FROM YOU!!!!
+ Faster system
+ less hangups (none on my Prime)
+ You don't have to flash new kernel
+ It is for actual session only, after reboot you have to run script again
+ Better battery life!
- If you reset your prime you can loose some of your datas
- If your system hangs you can loose some of your datas
- It is for actual session only, after reboot you have to run script again
Click to expand...
Click to collapse
Tempie007 said:
ok i m running it right now.
what are the default values?
Sent from my Transformer Prime TF201 using Tapatalk 2
Click to expand...
Click to collapse
Hi, it will be interesting to see how this works. swappiness=0 will cause less swapping to disk (it will only happen when it needs to). Default for swappiness=60 in our Android and mainline Linux kernels. These settings here are aggressive in trying to reduce swap disk i/o, so it will be great to see if it succeeds and whether or not OOM errors occur when RAM is running short when using RAM hungry applications or doing extreme multi-tasking.
I have also been testing something at the vm level in the kernel that I found in the HTC OneX source. It is something the HTC engineers added that would actually set the default to swappiness=100, the complete other direction from what you are doing here. This theory is to clear out the stale RAM and open up the RAM for something more useful. While this may be counter-intuitive to I/O performance since swapping equates to more disk i/o, the code change also implements some changes to the block, fs, and mm portions of the kernel. Essentially, from what I can tell, it flags and handles disk operations (aka "bios") differently if they are involved in swap operations (going to or coming from swap). A "bio" is essentially a manifest of an ongoing I/O block device operation, what sectors and memory locations it contains etc. Once the RAM is freed up, I have also been increasing the Dalvik vm settings in the build.prop to allow for more RAM consumption. So far, this combination (at least for me so far) has really given me good UI performance and I haven't had to kill the browser often like I did before. I have yet to play with vm.dirty_ratio and vm.dirty_background_ratio, but I am wanting to do this as well to see what combination can work the best for us.
Anyhow, thought I would share. I think you are looking at some important things here with the tuning of virtual memory to see how they can affect disk performance and more importantly application fluidity.
Cheers
Hi
I'm using it for about two hours and I had one reboot when I opened File explorer (before this never happend to me on .28) Im using also IO Sio from Your other topic (it seems to be alright...everything seems to work smoother). On tune.sh I have better write to sd speed in antutu. Now I have 8 mb...before 2 mb. Thx for that.
_motley said:
Hi, it will be interesting to see how this works. swappiness=0 will cause less swapping to disk (it will only happen when it needs to). Default for swappiness=60 in our Android and mainline Linux kernels. These settings here are aggressive in trying to reduce swap disk i/o, so it will be great to see if it succeeds and whether or not OOM errors occur when RAM is running short when using RAM hungry applications or doing extreme multi-tasking.
I have also been testing something at the vm level in the kernel that I found in the HTC OneX source. It is something the HTC engineers added that would actually set the default to swappiness=100, the complete other direction from what you are doing here. This theory is to clear out the stale RAM and open up the RAM for something more useful. While this may be counter-intuitive to I/O performance since swapping equates to more disk i/o, the code change also implements some changes to the block, fs, and mm portions of the kernel. Essentially, from what I can tell, it flags and handles disk operations (aka "bios") differently if they are involved in swap operations (going to or coming from swap). A "bio" is essentially a manifest of an ongoing I/O block device operation, what sectors and memory locations it contains etc. Once the RAM is freed up, I have also been increasing the Dalvik vm settings in the build.prop to allow for more RAM consumption. So far, this combination (at least for me so far) has really given me good UI performance and I haven't had to kill the browser often like I did before. I have yet to play with vm.dirty_ratio and vm.dirty_background_ratio, but I am wanting to do this as well to see what combination can work the best for us.
Anyhow, thought I would share. I think you are looking at some important things here with the tuning of virtual memory to see how they can affect disk performance and more importantly application fluidity.
Cheers
Click to expand...
Click to collapse
Ice increased my dalvik vm also through build.prop. Like the heapsize, growth limit, startsize etc...how much can you increase those vm to where its still safe? On stock kernel.
What values are you running at? IM also using that dalvik jit mod.
demandarin said:
Ice increased my dalvik vm also through build.prop. Like the heapsize, growth limit, startsize etc...how much can you increase those vm to where its still safe? On stock kernel.
What values are you running at? IM also using that dalvik jit mod.
Click to expand...
Click to collapse
Not sure how much room there is since I have only tweaked on the prime recently. I am running 8m, 64m, and 256m now. One of my other tabs used higher dalvik settings like this on the HC stock ROM (GT 8.9 or Iconia A500 can't remember). There are so many parameters to take into account for any given test etc., as they say "you never step into the same river twice" LOL.
I have posted my latest alpha kernel with the aforementioned changes. It will be interesting to see if folks like it or not. It is working great for me thus far.
Guys pls no offtopic and chat.
Ill try this new tweak once I get off work.
my first problem. cmclient has stopped.
first time I have seen this in weeks and it comes after 45 min of this tweak.
However it may be related to the fact that I have not used the default browser in weeks.
whycali said:
my first problem. cmclient has stopped.
first time I have seen this in weeks and it comes after 45 min of this tweak.
However it may be related to the fact that I have not used the default browser in weeks.
Click to expand...
Click to collapse
a reboot should clear it. did you enter in commands exactly like listed in op? it tells me file not found. when i unzipped the file, it gives me a tune.sh txt file or whatever. in the commands, is it supposed to be "tune.sh" instead of "ratio.sh"? i see i can just click the file and execute the file like that, bypassing the need to enter in commands. same like with overclock files. i could just execute them manually instead of using an overclock app.
have you noticed any other issues? what benefits have you noticed so far? you have me hesistant to execute the file now, since those commands give me error.
demandarin said:
a reboot should clear it. did you enter in commands exactly like listed in op? it tells me file not found. when i unzipped the file, it gives me a tune.sh txt file or whatever. in the commands, is it supposed to be "tune.sh" instead of "ratio.sh"? i see i can just click the file and execute the file like that, bypassing the need to enter in commands. same like with overclock files. i could just execute them manually instead of using an overclock app.
have you noticed any other issues? what benefits have you noticed so far? you have me hesistant to execute the file now, since those commands give me error.
Click to expand...
Click to collapse
PM'd you. it was just an alert. no need for reboot. hard to see or report anything yet.
whycali said:
PM'd you. it was just an alert. no need for reboot. hard to see or report anything yet.
Click to expand...
Click to collapse
Did you guys get this to work, I keep getting the file not found message
whycali said:
PM'd you. it was just an alert. no need for reboot. hard to see or report anything yet.
Click to expand...
Click to collapse
MRCANNADY said:
Did you guys get this to work, I keep getting the file not found message
Click to expand...
Click to collapse
If you want to try the OP's settings, you can easily change these and other virtual memory related settings graphically using the free app System Tuner under "SysCtl". This may be easier for those that don't like messing around with scripts. You can also optionally have the settings to be activated on boot if you test them thoroughly and want them to persist.
I ran
sh tune.sh
as the third command since that was the file name. nothing to report beyond the first one I posted here. I have not sodded yet and have folded my prime closed for a while since implementation.
im getting great results so far. no lag during app store apps updating and installing. plus the apps download and install so fast now. I think this mod along with SIO scheduler, build.prop tweaks, and overclock makes the prime scream speed. no negative drawbacks running this so far. i havent tested playing games yet.
whycali is correct. the filename in the command needs to be changed to what he posted, tune.sh
I am so sorry I changed typo in firat post to tune.sh, my test version had diff. Name.
i am going to try this based on the awesome feedback i have read. i will be testing alongside Chainfire driver and CFQ using ATP Tweak. i will report back. i do have some dalvik tweaks that may yield extreme lag free by forcing zygote to recognize 4 cores along with JIT.
Sent from my Transformer Prime TF201 using xda premium
I don't think that tweaking over heap size and experimenting with JIT will help so much.
This is the cleariest way how to speed up system.
swapiness is useful mainly with swap location but prime doesn't use swap at all.
It's true that these values are agressively focused on smooth UI but it's the point.
I am working on another tweaks.
These things can be of course written to startup scripts to the system, but I don't want to unlock my Prime and when I don't have CWM I won't risk some mistyping resulting to bootloop.
This is the most effective way how to safely reach good performance.
Don't blame Asus that they didn't setup these values, they need to keep some "safe" standards.
Anyway I will try to explore more effective ways.
Guys let me knows your experiences!!
I already tested some heavy applications like Nova 3 and it's working without problems...
Results are in
With out Tune.sh script and SIO at balanced setting:
{
"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"
}
Same but at Performance Setting:
Now with Tune.sh and SIO enabled at balanced setting:
Same with Performance Setting:
You be the judge. Running .28 ASUS Stock and LOCKED bootloader
Sent from my Transformer Prime TF201 Biotchh
This is a script made by a member on AndroidForums originally for the LG Leon. We noticed that the CPU doesn't fall below 800mhz at all regardless of being under load or idle. This causes alot of battery drain since the CPU is running for literally no reason. I noticed the same problem on my Grand Prime G530T as the two devices share the same CPU.
This script will tune the CPU frequencies to drop to 200mhz when idle and fixes the time spent at higher frequencies, spreading the load across the cores more evenly for sustained performance and better battery life.
Instructions (root required obviously):
Download the script and extract it
Install SManager from the Play Store
Locate and select the MSM8916.sh file
At the top select SU
Hit RUN and allow permissions if asked
To see the difference, use a kernel tuning app (Kernel Adiutor I recommend) and watch the cores before and after running the script. It really does make a significant difference.
Credit to Bichofelix at AndroidForums for the script
Edit: fixed the script, now will keep max freq at 1190mhz instead of 998mhz
Edit 2: added sample screenshots of projected battery life
Hi, my device is G530HXCU. I also noticed on CPU-Z app that my device CPU doesn't fall below 800mhz. Tried using this script by following your procedures but the SManager shows "swapon failed for dev/block/zram0" when I run the script, just wanna ask if it is normal? Though when I closed all other apps on the task manager, my device CPU is now shown as 200mhz in CPU-Z. It seems like it worked. Thank you.
slasherkev said:
Hi, my device is G530HXCU. I also noticed on CPU-Z app that my device CPU doesn't fall below 800mhz. Tried using this script by following your procedures but the SManager shows "swapon failed for dev/block/zram0" when I run the script, just wanna ask if it is normal? Though when I closed all other apps on the task manager, my device CPU is now shown as 200mhz in CPU-Z. It seems like it worked. Thank you.
Click to expand...
Click to collapse
Yeah, the swapon thing can happen if your kernel (I think) doesn't support swap memory/zram. My G530T with the custom root kernel does and I don't receive this error, but it won't hurt anything if that particular part of the script doesn't run.
Enjoy the script and let us know how your device is faring with battery and performance. I'm a heavy gamer and from personal experience I get the same amount of performance and better battery, letting me play harder for longer ^_^
Hi, just wanted to share some feedback while using it. It greatly helps with reducing the battery drain and I really loved it, but on my G530H device, I need to run this script again whenever I reboot my phone. Though, when I did press the "boot" icon beside the "su" icon in the SManager and run the script again, it somehow solves the problem. However, the other problem that I've seen so far is that the maximum cpu of my device becomes 998mhz only, so I need to overclock it using a CPU controller app (I used No-frills CPU Control in playstore) to make it 1.19ghz and it worked. Is there anything I can do to help you fix that in the script so I won't need to use any CPU control app? Thank you very much I'm just a newbie here.
slasherkev said:
Hi, just wanted to share some feedback while using it. It greatly helps with reducing the battery drain and I really loved it, but on my G530H device, I need to run this script again whenever I reboot my phone. Though, when I did press the "boot" icon beside the "su" icon in the SManager and run the script again, it somehow solves the problem. However, the other problem that I've seen so far is that the maximum cpu of my device becomes 998mhz only, so I need to overclock it using a CPU controller app (I used No-frills CPU Control in playstore) to make it 1.19ghz and it worked. Is there anything I can do to help you fix that in the script so I won't need to use any CPU control app? Thank you very much I'm just a newbie here.
Click to expand...
Click to collapse
As stated in the OP, its not my script. But I went ahead and did it for you. Redownload the file and do the same as before. Setting the Boot option in SManager will run the script at boot after the system loads and the apps can gain SU permissions
Thanks for the tip and and glad you enjoy!
Added screenshots to the OP as proof of battery saving with the script.
Note: This usage was actually with an app called Resolution Changer that allowed me to use my screen in 720x1280 resolution, higher than stock which is 540x960. I also have Viper4Android installed with the highest audio driver available for it. These mods actually add more stress on the CPU, GPU and battery which would cause more drain. But as you can see...
I am also using a personally rebuilt rom that isn't ready for release yet as I'm having issues building it.
Who needs a 4000mha battery when you know how to use your system?!
Hello guys! I'm posting this now as I was searching on the Internet about Qcomm msm8916 devices! One tip I can give you as I learned some things, is to learn to build your device's kernel from source if your vendor has released it and remove the stock cpufreq limit API, as it is common in qcom. This API simply locks the frequency above some values to seem more snappy, but also reduces battery life in general! So it is common to sacrifice battery for speed and vice versa.. As you will see there are lots of posibilities also if you search the ramdisk for "optimizations" in frequencies that are done there, and change them to your liking! Happy modding! Cheers!
Nick Verse said:
Hello guys! I'm posting this now as I was searching on the Internet about Qcomm msm8916 devices! One tip I can give you as I learned some things, is to learn to build your device's kernel from source if your vendor has released it and remove the stock cpufreq limit API, as it is common in qcom. This API simply locks the frequency above some values to seem more snappy, but also reduces battery life in general! So it is common to sacrifice battery for speed and vice versa.. As you will see there are lots of posibilities also if you search the ramdisk for "optimizations" in frequencies that are done there, and change them to your liking! Happy modding! Cheers!
Click to expand...
Click to collapse
Nice bit of info there, but this script actually furthers those optimizers to reduce the number of cores needed to run processes and at lower frequencies. If it doesn't need it, your wasting performance and battery. This script helps regulate core speeds and cores online depending on what your doing using the interactive governor, which appears was not setup properly by the phone manufacturer of the device containing the msm8916 chipset.
I tried using it in CM12.1 unofficial rom for G530H and it works. I also think it helps reduce the appearance of deadlock bug for that rom. I edited the script and set the maximum cpu value to 1190400 instead of 1190000 because my device cpu is not going up to 1.19ghz when the script is only set to 1190000 so I tried to make it higher and it solves the problem.
Does it work on all MSM8916-based devices ?
What is the point of going under 800MHz? CPU takes same voltage on 200MHz and 800MHz.