Chapter 6: You’ve Become Superuser: Now What?

In this chapter:

• Popular custom ROMs that will work on several devices

• How to tweak the kernel

• Applications that run at root level

So you’ve followed the instructions in this book and have obtained root access to your device. Congratulations! It feels good to be free, doesn’t it? But freeing your device doesn’t inherently give it any super powers until you start tinkering with root-level applications and other modifications.

For most, the first step after obtaining root access is to install a custom ROM. While most custom ROMs are specific to particular devices, several are widespread, cross-platform releases. Here, we present a couple of the most commonly used multi-device ROMs currently available.

After installing a custom ROM, many venture to install a new kernel. Alternative kernels offer many potential advantages ranging from overclocking ability, better battery life and performance, to more esoteric tweaks, such as USB host functionality and sound quality enhancements.

Finally, once the kernel has been updated, many people then install root-level applications that make use of the newly obtained superuser privileges.

The fun in device hacking does not end with simply obtaining root access. Once you achieve root, you have only begun your journey in optimizing your device to fit your needs. With the proper set of customized ROMs, aftermarket kernel tweaks, and root-level applications, you can create a device that is truly your own and capable of far more than the original manufacturer ever intended.

Popular Multi-Device Custom ROMs

As you’ll quickly notice when browsing the various XDA device forums, the majority of ROMs that are shared with the community are released for individual devices. However, there are a few notable exceptions. The ROMs presented in this section are large-scale, multi-device releases that often function as the base for further derivative development work.

CyanogenMod

If you’ve heard of Android and you’ve heard of rooting, you’ve undoubtedly heard of CyanogenMod. Beginning with increasingly complex tweaks for the HTC Dream: G1, CyanogenMod has grown to become an all-out mega ROM with close to 90 officially supported devices. The ROM itself offers dozens of useful features including lockscreen gestures, a powerful built-in theme engine, audio equalization, VPN support, and much more. CyanogenMod is built from source code made available as part of the Android Open Source Project (AOSP), so extensive modifications can be made to it.

In addition to the official ports, there are hundreds (if not thousands) of unofficial ports and modifications (also known as “kangs”). These unofficial versions typically add anything from support for additional devices to experimental features not yet merged into the official CyanogenMod tree.

The current version of the ROM is CyanogenMod 9. It is built upon Android 4.0 (Ice Cream Sandwich). You can download it from http://get.cm.

Android Open Kang Project

Similarly to CyanogenMod, the Android Open Kang Project is built from AOSP-derived source code and incorporates dozens of tweaks on top of Google’s own code. At the time of writing, the ROM brings Android 4.0 (Ice Cream Sandwich) to 17 devices, many of which have yet to see the official manufacturer-released update to the operating system revision.

VillainROM

VillainROM takes a different approach to multi-device ROM customization. Although some VillainROM releases are compiled directly from source code, most in the VillainROM series of ROMs are actually highly customized versions of the original manufacturer’s shipping ROM. Thus, the ROM family varies significantly from device to device.

While the lack of cohesion between supported devices may deter some potential users, this approach also allows for ROM releases to be made quickly after a manufacturer releases a new build of the operating system. Essentially, VillainROM is for users who think that the manufacturer generally did a good job with the shipped software and only wish to have it perfected.

Kernel Tweaks

Tweaks to the kernel can give a variety of enhancements to an Android device.

Backlight Notifications

One of the most popular features of the Nexus One was its multi-colored trackball, which lit up when notifications were present.

When the Samsung Galaxy S line was launched in the summer of 2010, it provided a major upgrade in screen quality and GPU speed compared with the Nexus One. One thing that Samsung left out of most Galaxy S phones was a notification LED.

Thinking outside the box, XDA forum member Neldar was able to simulate LED notification functionality by writing a kernel modification that displayed notifications using the Android softkeys backlight. Neldar’s BackLightNotification modification, which has since been ported to other devices, such as the Samsung-built Nexus S, gives users the missing functionality in a very elegant manner. Rather than require a hardware modification or even activating the device’s display, the Android softkeys simply light up to indicate that a notification has arrived.

BackLightNotification can be found on the XDA forums: http://forum.xda-developers.com/showthread.php?t=813389.

Voodoo Enhancements

François Simond, otherwise known as supercurio on the XDA forums, has produced a series of kernel tweaks known as the Voodoo enhancements. As well as providing a more efficient file system, supercurio also decided to improve user experience on the Galaxy S through the development of audio and color tools known as Voodoo Sound and Voodoo Color. You can learn more about the enhancements from http://project-voodoo.org/.

Voodoo Lagfix

When it was first learned that the RFS file system used by the Galaxy S line of smartphones introduced noticeable lag to an otherwise-excellent experience, the development community quickly looked for a solution.

Supercurio’s Voodoo Lagfix swaps out the RFS file system in the /cache and /system partitions for the much more Linux-friendly EXT4 file system.

Voodoo Sound

Because the Galaxy S (along with several other Android devices) uses the high-end Wolfson Microelectronics WM8994 DAC, the hardware has the potential for true audiophile-grade sound quality. By allowing for direct, low-level control of the hardware, Voodoo sound gives Galaxy S owners better audio quality than previously imagined.

Several other devices, such as the Samsung Galaxy Tab, Samsung-built Nexus S, and the Asus EeePad Transformer, use the Wolfson WM8994 DAC and can benefit from the enhancements. Furthermore, efforts are underway to port the audio enhancements to other DACs.

Voodoo Color

The Galaxy S shipped with an unfavorable color cast. Voodoo Color gives users direct control of the output parameters of their devices to improve the color cast. It also provides a variety of other visual enhancements.

Performance and Battery Life Tweaks

Last, but certainly not least, many people flash custom kernels for performance gains and battery savings. Community-supplied kernels are often undervolted and overclocked, to allow users to get smoother performance and a longer lasting battery.

Many aftermarket kernels also include additional or tweaked governors and schedulers, which alter the way the processor devotes its resources. For example, many kernels default to an “interactive” governor instead of the more typical “on demand” or “conservative” options. As its name implies, an interactive governor generally delivers a more responsive level of performance.

Many kernels swap out the standard CFS task scheduler in favor of the BFS task scheduler, which was created by Australian anesthesiologist Con Kolivas. The BFS generally delivers higher—albeit occasionally less consistent—performance.

Root Applications

Root applications make use of superuser privileges to alter the device at a basic level.

SetCPU

So you’ve rooted your device and loaded a custom kernel that tweaks performance and enables overclocking. How do you make use of the additional MHz and run your processor to its fullest potential? Easy: download SetCPU, created by Michael Huang, otherwise known as XDA Recognized Developer coolbho3000.

SetCPU makes setting your minimum and maximum speeds a breeze. SetCPU also allows you to:

• select your clock speed governor and tune its parameters to your liking

• create clock speed and governor profiles for different device conditions (temperature, battery life conditions, and whether or not the screen is on).

If you want to manage your clocks, SetCPU is the way to go.

A donation version of SetCPU can be found on Google Play. A free version is available direct from the developer on the XDA forum.

Adfree Android

Another popular thing to do when rooting is to remove advertisements. Adfree Android accomplishes this task by modifying the device’s hosts file. The hosts file is a system file (located within /system/etc) that is used to map a hostname to an IP address. Instead of relying on a DNS query, the system simply goes to the hostname’s IP address, as specified in the hosts file.

In order to block advertisements, the hosts file is often modified to redirect commonly used advertisement servers to 127.0.0.1, otherwise known as localhost. Adfree Android does this and is effective at blocking the majority of in-application and website advertisements.

One caveat to be aware of, however, is that many application developers rely on advertisement revenue as their primary means of generating income. By blocking their in-application advertisements, you are depriving them of their rightfully earned money. Since there is no way to modify the hosts file for each application, users that block advertisements using the hosts file end up hurting the developers of the applications that they use the most. For this reason, we encourage users who block advertisements to donate to their favorite developers.

Adfree Android can be obtained for free from Google Play or from its release thread on XDA.

Chainfire 3D

Have you ever discovered a killer new game on Google Play, only to find that it is incompatible with your hardware? Unlike PC gaming, where generally all games work on capable hardware, gaming on Android is much more fickle. Games often use texture compression or shaders that are only compatible with GPUs from a particular manufacturer.

Instead of admitting defeat, Chainfire 3D—created by none other than XDA Recognized Developer Chainfire himself—loads an intermediary driver that can accomplish many tasks, given the right plugin. Almost immediately after its release, plugins appeared to allow owners of devices with all chipsets to play games meant for NVIDIA Tegra, AMD Adreno, and PowerVR SGX GPUs.

The intermediary driver allows users to create a setting for each application. Not only can you swap out plugins for each of your games, but you can also enable performance tweaks for different applications, such as forcing 16-bit textures and Z-buffer or limiting texture size (see Figure 6-1).

9781119961550%20fg0601.tif

Figure 6-1: Performance tweaks available in Chainfire 3D

Chainfire 3D can be found on Google Play and instructions and support can be found in its XDA release thread.

Titanium Backup

And finally, one of the most widely cited reasons to root is the program Titanium Backup. Developed by Titanium Track, the application allows users to back up applications, application data, and system settings. Similar to the previously mentioned NANDroid backup, a Titanium Backup can prevent the loss of your saved game data. However, that’s where the similarities end.

Rather than simply making a direct image backup of your device’s state, Titanium looks at applications individually and backs them up piecemeal. This is especially useful when used in conjunction with custom ROMs. For example, many custom ROMs require a device to be completely wiped before installation. Normally this would mean losing all applications and data. However, with a Titanium Backup, you can restore individual applications and their data onto the new ROM (see Figure 6-2). A NANDroid backup, on the other hand, only allows users to back up and restore an entire device or a partition on the device.

9781119961550%20fg0602.tif

Figure 6-2: Titanium backup displaying all available applications

Titanium Backup even allows for tasks to be batched and automated. You can backup and restore all of your applications with just a few clicks. You can even set your device to automatically back up your applications to your Dropbox account on a set schedule.

Titanium Backup is available for free on Google Play. A premium version is also available, which adds better batch functionality and more.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.147.87