There are many threads on here from people complaining the handset speaker is too loud, even at the lowest volume.
Currently, the best (only) method to correct this is to turn it up, and then back down again, but that doesn't work for me.
I recently saw this change to CM7: (sorry, can't linkify yet)
review.cyanogenmod.com/#change,3133
Specifically, the side-by-side:
review.cyanogenmod.com/#patch,sidebyside,3133,1,arch/arm/mach-msm/board-bravo-audio.c
and noticed the "handset gain" setting.
Three questions:
-Does this do what i think it does - i.e., control the Gain level on the handset speaker?
-Anyone know what its set to in the stock kernel?
-Is there another kernel (or patch) that sets it to a lower level? or at least a lower minimum level?
Might be way off, but wanted to see if there was a quick solution, at least.
Thanks.
As far as I know, you would have to compile the kernel with the gain settings tweaked to your liking. I used to remember this being almost a necessity on my old N1, call speaker was garbage (like the touch sensor )
wdfowty said:
As far as I know, you would have to compile the kernel with the gain settings tweaked to your liking.
Click to expand...
Click to collapse
Yea, curious if anyone had done that (for me)
Hey guys,
Seems there's a lot of ways you can improve the speed of Android in general. Some seem to be snakeoil... others, work quite well and there's proof to back it up.
I'm only interested in discussing the latter .
A lot of people have helped me gather a better understanding of Android (hyc, stinebd to name a few) in addition to a lot of Google searching. I am going to compile a list of what I have done, I would like to hear what you guys have done! Most app killer apps / app control will already be addressed, so those tools need not apply... I'm looking for real, permanent fixes here without adding more apps!
I am also trying to have topics that are easy working up to advanced. Obviously the more advanced topics are going to be harder to do. You've been warned.
So here's the disclaimer.
****DISCLAIMER****
Speed is as always relative. That basically means I don't want arguments about which build is faster. I want to argue about how to make every build faster .
Also, these tips should apply to any build, any device... they are pretty generic tips, but are obviously specific to Android, with some idiosyncrasies that apply to our port that wouldn't apply to native Android devices. Some is common sense, others are real ways to tear into the system. Hope you enjoy it!
Topic 1
Difficulty Easy - Apps/Widgets
I've noticed the number of widgets i have on my screens, or the number of apps that I have installed/are running in the background to greatly effect performance, in an obviously negative way.
Once I removed all the widgets (I only have the basic analog clock widget & the Google search widget on one desktop...) this seemed to improve general speed. One minor thing to check is if apps are set to auto/background sync. Only enable the ones you really want syncing, others just check manually.
On this same topic, replacing the launcher (the stock launcher in Android, Launcher2 is quite slow) can help immensely. I like ADW, but I've used LauncherPro in the past and it is good. Zeam also seems like a good launcher. I haven't used Go Launcher EX, I've heard good and bad things about it. Use what works best for you, try 'em all!
The last thing on this topic I would like to mention is animations. Settings -> Display -> Animation -> No animations can make the phone feel quite a bit snappier, obviously at the expense of the look/feel of the OS.
Topic 2
Difficulty Easy - Controlling app 'net Access
This leads me into the next topic, DroidWall. I've noticed that blocking apps from accessing the internet has been a very good thing - it's not so much a performance booster (although it probably does provide a little bump) it's mostly about battery life. Just be warned, if you block an app that is set to background sync, it will probably have very negative effects. Only disable an app's access to the internet with DroidWall after you've checked that app's background sync feature is disabled. I have a few apps allowed in DroidWall, and the rest are blocked. You can "whitelist" everything and check apps you want to block, or "blacklist" everything and check the apps you want to allow. It's a little annoying to remember to enable/disable DroidWall (I use the DroidWall widget to enable/disable it globally) but if you do, it is much better - you have complete control over how apps access the 'net on your device. It is available on the Market.
Topic 3
Difficulty Moderate - SD cache/readahead tweaking
The only reason I'm calling this one 'moderate' is the number of choices you have for settings for this... It's basically telling the SD card how much to hold on to or... read "ahead" if you will . This was turned way up in FRX07, (from 256kb to 2048kb or 2mb...) and I think this might be the source of a lot of the complaints of 'mini-resets' if you will where the boot animation is suddenly seen after a long system hang...
So some cards will work better with a larger setting - I've heard some with spankin new C6 cards that said 3072kb or 3mb was a good setting. Others have found a sweet spot at 256kb or 1024kb (1mb).
There are two ways of doing this - you can hack the init in the rootfs and adjust the setting manually, or be lazy like me and use SD Booster (from the Market). Adjusts the same settings, and they are applied immediately!
I would like to find a "sweet spot" - a good default if you will. Can folks test out 512kb and 1024kb, see if you have any more mini-resets within Android or any other slowness, etc... Obviously this isn't a cure-all for the slowness or the mini-resets, what we're looking to do is mitigate the effects. So let's focus on that, thanks!
Topic 4
Difficulty Moderate - Overclocking
Overclocking is obviously one relatively easy way to improve the speed of Android. In your startup.txt, add a line
Code:
acpuclock.oc_freq_khz=710400
for example to overclock to 710.4mhz. How did I find this value? I actually put in 714000, but if you look at dmesg near the beginning you'll see "ACPU running at ..." - that's what clock is the actual maximum. It goes in 19.2khz increments.
Feel free to experiment with how high your phone can go, just be warned that the higher you go the potential for failure goes up as well . Phone shouldn't blow up, but it might not work correctly or at all. Rebooting and scaling it back will fix it.
Here's the full *example* startup.txt:
Code:
set ramsize 0x10000000
set ramaddr 0x10000000
set mtype 2292
set KERNEL zImage
set initrd initrd.gz
set cmdline "lcd.density=240 msmvkeyb_toggle=off gsensor_axis=2,1,3 pm.sleep_mode=1 physkeyboard=rhod400 acpuclock.oc_freq_khz=710400"
boot
You can put the command anywhere in the cmdline section, just make sure it's between the quotes and at least one space between each command.
Topic 5
Difficulty Advanced - How Android Manages Memory/apps
Ok, I'm going to take two approaches to this. The first, is the full explanation on how Android manages memory.
Please feel free to read the post I originally read that inspired me to start looking at this stuff - How to configure Android's *internal* taskkiller. It was very helpful for me to grasp how Android manages applications. This is the reason why application killers are not a good thing...
If you want to do it manually, Starfox suggests:
Code:
echo "1536,3072,8192,10240,12288,20480" > /sys/module/lowmemorykiller/parameters/minfree
To try to do these commands, adb is very useful. Once you get adb shell working, then you just need to "su" (provides 'super user' privileges (root)) and put in the echo command above ^^.
I had another user (thanks icevapor) suggest this script -
[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
I tried it myself, and it works very well. This thread is a little overwhelming, but the jist of it is this:
Install Script Manager (on the Market)
Run the V6 SuperCharger script. I use "Aggressive 1 Settings" (#2) and then I use the OOM Grouping Fixes & "Hard to Kill" launcher (#17)
Point Script Manager to run /data/99SuperCharger.sh to run as root & on boot. This will ensure the tweaks are reapplied after a reboot.
Topic 6
Difficulty Advanced - Managing Apps that auto-start on boot
This is one of the most annoying things in Android. When you have no apps installed, it seems very fast. Then you install apps, and you never seem to get that original speed back... Now you can!
This is kind of difficult to do, I am still getting the hang of it... but here goes. All credit goes to hyc, his original post.
The basic idea here is you run a logcat (adb logcat is easiest here, or you can use GetLogs to pull logcat...) Look in this log for "for broadcast" and find apps that start on boot. For example,
Code:
Line 41: I/ActivityManager( 1394): Start proc nextapp.systempanel for broadcast nextapp.systempanel/.monitorservice.BootReceiver: pid=1752 uid=10060 gids={3003, 1015}
Notice there are two sides of the "for broadcast". The name of the package (nextapp.systempanel) and the name of the service, "nextapp.systempanel/.monitorservice.BootReceive". I made the mistake of disabling the app (the left side). Do not do this, you want to disable the right side!
So in the shell,
Code:
pm disable nextapp.systempanel/.monitorservice.BootReceive
This will be persistent across boots, it will go with your data.img.
Obviously this was just one example of an app to disable. So long as you disable the right side (after the 'for broadcast') you shouldn't disable anything that will cause a serious problem. The apps should still work, but for example if you disable Google Voice you won't get messages until you open the app. So think about that... You disable Titanium Backup schedules.BootReceiver, the schedules for Titanium Backup (if you have any) won't run. Stuff like that. Disable calendar, you won't get calendar events... Disable clock no alarms. Get it? Good. I have been rebooting several times, and I keep checking what is set to start on boot. I'm not quite happy with it yet, but there's some things I'm leery of disabling. Just be wary, if you do disable something and don't like it - just pm enable <whatever you disabled>.
Now experiment away! The one caveat is if you do break something with pm disable (and it's serious) you might get a failure to boot. It really depends on how bad you mess up. If you make a copy of your data.img before you start making these changes, you can revert to that data.img and start back there.
Alright guys. Going to use this thread as a way to brainstorm about ways to improve the speed. Read up what I've posted, let me know if I did anything wrong... Also let me know what you guys do to improve speed!
Don't care about what build you're running, this thread isn't about what build is fastest - this is a how do I make every build faster thread.
I also realize I posted this in the Rhodium section - I want to see if there's any BLAC-specific tweaks that others should be made aware of!
Thanks. Great posting. Will try some of the topics I never used (because I didn't know about them).
ThaiDai said:
Thanks. Great posting. Will try some of the topics I never used (because I didn't know about them).
Click to expand...
Click to collapse
I'm sure there are more as well... These are just the ones that I found made the most difference on my device.
I'm also curious about the minfree setting. I've only tried a few settings, they seem good. I haven't done any drastic number changing, it seems like changing these values should be done with a lot of caution and testing. There are definitely some values that should not be touched and others that can take some more fudging with numbers .
Added Topic 3 and Topic 4 to startup.txt and rootfs.img.
Just booting. Let's see if this is stable.
Software options I do not test now because I only test the new versions now. So specific app optimization only necessary when ThaiDai Android Loader and installation procedure reaches v2
Ok, boot ok, started Android (NeoFROYO build(, will tell tomorrow if stable.
If so I will use this options as standard for Blacky and I will add software like Droid firewall.
Thanks and good night
Update - I redid topic 4, feel free to re-read it.
Thanks
Enviado desde mi FROYO BLUE CWM1.9 usando Tapatalk
Hi Arrrghhh!
Can a squashfsed and odexed apk boost speed inside Android OS?
john_matrix said:
Hi Arrrghhh!
Can a squashfsed and odexed apk boost speed inside Android OS?
Click to expand...
Click to collapse
No clue. What does that have to do with the Speed Improvements thread?
I'm guessing you tried and it didn't work? What APK!?!
I guess I don't really follow your train of thought. Does sqshfs'ing and odexing an APK make it run faster...? I'm pretty new to Android in general. Never even used a native Android device .
http://www.addictivetips.com/mobile/what-is-odex-and-deodex-in-android-complete-guide/
http://forum.xda-developers.com/showthread.php?t=709630
farukb said:
http://www.addictivetips.com/mobile/what-is-odex-and-deodex-in-android-complete-guide/
http://forum.xda-developers.com/showthread.php?t=709630
Click to expand...
Click to collapse
I still don't get what that has to do with our builds. ODEX and DEODEX have nothing to do with our builds... That stuff only applies to native devices, or builds that are ported from native devices (I would think).
Perhaps I'm missing something here... please tell me if I am .
Maybe they mean something else like: oxidized or deoxidized (reduced) apps. With these modified apps you can speed up the transfer of electrons, resulting in more performance without overclocking your cpu. And more: it will not reduce your battery capacity measurable. I used it in some of the builds I tried. You will get a nice small benefit also: because of the electron transfers you will get a small induced massage in your fingers for free.
ThaiDai said:
Maybe they mean something else like: oxidized or deoxidized (reduced) apps. With these modified apps you can speed up the transfer of electrons, resulting in more performance without overclocking your cpu. And more: it will not reduce your battery capacity measurable. I used it in some of the builds I tried. You will get a nice small benefit also: because of the electron transfers you will get a small induced massage in your fingers for free.
Click to expand...
Click to collapse
LOL!
Epic.
OK. I cant get V6 SuperCharger script to work! I downloaded the script and run it but I cant find /data/99SuperCharger.sh after I run it
x12CHRIS18x said:
OK. I cant get V6 SuperCharger script to work! I downloaded the script and run it but I cant find /data/99SuperCharger.sh after I run it
Click to expand...
Click to collapse
Did you make the choices in the script, or did you just exit the script?
You have to make sure ScriptManager is running as root too. There's a setting for it. "Browse as root" - make sure that is enabled. You won't be able to see /data without browsing as root.
...You have a TouchHD? I always thought you had a RHOD, lol.
Dear All,
I´ve managed to build a CM 12.1 with nfs support. Why 12.1? Well, for my D855, that was the only branch I could get working when building a kernel in Ubuntu, using the downloadable snapshot at CM´s site. The nighty´s would give me errors of different kinds during the building process, so the files on the phone needed when building are probably not the exact required version that match with the repo you can download in terminal mode.
Anyway, my experience with marshmellow is that the phone gets so hot that it turns itself off - another good reason to stay with 12.1.
My phone however still gets hot, which happens when using it with my VR headset to watch UHD clips. After 5 mins of watching, it dims down a bit. Then a few mins later a bit more, and so on until it looks like I´m staring at the screen through old cheap shades.
I´ve already disabled automatic brightness control, tried apps which claim to keep the brightness at the desired strength (Lux, the app is called), an app that´s ment to keep the screen always on (Always Awake), an app claiming to patch this exact bug, flashed a hack that´ll throttle only above 70 C. None of this helped. What I do know is that in the secret menu of stock firmware, there´s an option called Thermal Daemon Mitigation OFF, but I can´t access the secret menu through CM - only CM´s secret menu, that doesn´t have this option. Enabling this is said to cope with the problem.
There´s also a file named thermanager.xml in system/etc, which looks like something which can be modified to meet my requirements, but I´m not sure.
Finally, my least prefered option is to install a thermal pad on the SoC, but although I´m experienced with hardware, it´s on desktop level - not with such tiny things as a mobile.
So please, could someone help out here? Is there a way to rebuild the kernel with the stock secret menu or amendments to the throttling? Is there a way for me to get into the stock secret menu in CM?
Other ideas?
PS: I´m posting here because if there´s a way to get Thermal Daemon Mitigation OFF option related parameters set when building kernel in menuconfig, then it´s related to this sub forum.
PPS: Edited thermanager so all brightness values are 255, this seems to fix the problem!
Hey sorry for title
i want to know how to make my phone just work like Feature phone on one click.
And another click Phone like super beast mode without Any reboot...
My motive behind this Power And battery
Feature phone mean i get super dooper SOT
One click super dooper mode eh? Just download more ram and overcharge your phone during a full moon.
You need a kernel manager, like EX Kernel Manager, that can support at least two profiles. However, I don't think such an app will work on the fly - switching between profiles without a reboot. Another option is Spectrum, but the kernel has to support the injector script. There's a thread about Spectrum here: https://forum.xda-developers.com/android/apps-games/app-spectrum-kernel-manager-users-t3601542. Good luck!
You could achieve some of this using Tasker (or similar) as you could address brightness / replication status / radios / Bluetooth / etc. Won't allow kernel changes (unless rooted and using a 3rd party tool) but for me, the majority of battery is spent on screen being on & background tasks.