The developer, who is registered on the xda-developers.com forum under the nickname Ezekeel,
tried to figure out why his Nexus S eats up the battery too quickly in standby mode. The technical manual of the device indicates that the device supports the NORMAL, IDLE, DEEP IDLE, STOP, DEEP-STOP and SLEEP modes. But a cursory examination of the Linux kernel revealed that the operating system has only IDLE support. In this mode, only the processor is turned off, and the remaining modules continue to consume power. Ezekeel decided to correct this flaw.
Increased power consumption is one of the main problems of Android devices, so some users are forced to look for ways to extend battery life. One option is to reduce the frequency of the processor. But such a hack is not very effective: for example, by reducing the frequency from 1320 MHz to 880 MHz, you can win only an extra hour.
Nexus S battery consumption in flight mode with the display off when playing FLAC at a processor clock frequency of 1320 MHz and 880 MHz, for ten hours.The implementation of the full DEEP IDLE mode with iron shut-off gives a completely different picture. Ezekeel found a fork of the Linux kernel (
Glitch ), the creators of which tried to solve a similar problem under the Galaxy S, but did not finish the job. Ezekeel made the necessary modifications and everything worked fine. The test of the new GLaDOS core showed that the battery consumption was reduced by more than 55%.
')
Nexus S battery consumption in flight mode with the display off during FLAC playback at a processor clock frequency of 1320 MHz and 880 MHz, in IDLE mode and in DEEP IDLE mode, for ten hours.
If you improve the Linux kernel in this way, then there is also no need to reduce the frequency of the processor, because it provides almost no energy savings.
In
the github repository, you can examine each patch that was made to the kernel to support DEEP IDLE.
Ezekeel reports separately that because of a bug in the Google Talk video chat application, the CAM module is activated at boot time. Due to the specific order of activation of the function of the DEEP IDLE mode, this leads to a sequence violation, so the DEEP IDLE mode simply does not work if this program is installed on the smartphone. The fix is simple: you just need to replace the Google Talk application with the same, only without the video-chat function. Although both programs have version number 1.3, they can be distinguished from each other by the size of the application and the presence / absence of the option for configuring the hardware. The variant without video chat has a size of
500 KB , and with a video chat -
740 KB . After replacing the program, everything should work fine.
Other improvements to the GLaDOS 1.2 kernel are described
here .