Tuesday, June 18, 2013

Speeding Up Motorola Droid 2 / Milestone 2

I expect my phone to run smooth and fast. I mean, it _has_ the hardware to do so! My old server has a Pentium III processor ticking at 1GHz, it has 512M RAM. I even used Eclipse + Tomcat to code a web application for my thesis program in java!

The Milestone 2 has similar specs. Okay, different architecture, but still, I expect it to be pretty fast. And since I installed Viber, it became unusable and slow, sometimes having to wait ~10 seconds just to see the dialpad appear!

Buy a new phone? Galaxy S4 or Xperia Z, for ~$1000?? Naaaay.

Jelly Bean: a New Phone for Free

Thanks to the guys at xda-developers.com, Jelly Bean, the shiny new operating system is available for the Milestone 2 as well, via the CyanogenMod custom ROM.

Installing CyanogenMod in X Steps

  • Root the phone; see http://wiki.rootzwiki.com/Motorola_Milestone_2 for details. If you're paranoid, download the rooter from here and compile and run yourself.
  • Install Droid 2 Bootstrap Recovery; download for free from here (I did this manually, ie just gaining root on the phone but not installing the "su" command; just checking the error messages the installer gave me and typing the commands myself. Call me paranoid, but I like to see what's being done.)
  • Download CyanogenMod onto the sdcard - from here: http://code.google.com/p/cm-milestone2/downloads/list
  • Do the same with the official Google Apps - from here: http://goo.im/gapps

Speed Issue

While very happy with the slick UI, all the new features of Jelly Bean, the phone continued to crawl after Viber got reinstalled. What now?
Fortunately, CyanogenMod has a great built-in option: you can change the CPU governor. If a CPU supports it, Linux can decrease the clock speed if there's no demand, to save battery. Go to System Settings => Performance => CPU Governor, and select "Performance". Also, tick the Set on boot option, to make this change permanent.
While the phone got much snappier, I did not notice considerably less battery time. I think this is due to the fact that when the screen is off (most of the time), the phone sleeps (ie, CPU speed has no effect), and when it's on, the CPU usage is high anyway - due to all the effects, etc.
Another tip: turn off background data (maybe enable it selectively for a handful of applications). This will save bandwidth and battery.
Update: recently I installed LINE, but I had to realize it drains my battery extremely fast. Switching back to "Ondemand" governor solved this issue.

CyanogenMod too Risky?

In this case, "just" root the phone, and install an application that is able to set the CPU governor. (If you're a Linux guru, edit the boot scripts yourself from the terminal to issue "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" on every bootup.) 

No comments:

Post a Comment