Implementing the DEEP IDLE Energy Saver Mode in the Linux Kernel

    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 device’s technical manual states that the device supports NORMAL, IDLE, DEEP IDLE, STOP, DEEP-STOP and SLEEP modes. But a cursory study of the Linux kernel showed that the operating system has only IDLE support. In this mode, only the processor is turned off, and the remaining modules continue to consume energy. Ezekeel decided to fix 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, if you reduce the frequency from 1320 MHz to 880 MHz, you can only win 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 a full-fledged DEEP IDLE mode with iron off gives a completely different picture. Ezekeel found fork of Linux kernel ( Glitch), the creators of which tried to solve a similar problem for the Galaxy S, but did not finish the job. Ezekeel made the necessary modifications and everything worked fine. A test of the new GLaDOS core showed that battery consumption was reduced by more than 55%.


    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, 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 gives practically no energy savings.

    On the github repository, you can examine every patch that has been made to the kernel to support DEEP IDLE.

    Ezekeel separately reports that due to a bug in the Google Talk application with video chat, the CAM module is activated at boot time. Due to the specific order in which the function of the DEEP IDLE mode is activated, 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 one, only without the video-chat function. Although both programs have version number 1.3, you can distinguish them from each other by the size of the application and the presence / absence of an option to configure hardware. The option without video chat has a size of 500 KB , and with video chat - 740 KB . After replacing the program, everything should work fine.

    Other core improvements to GLaDOS 1.2 are described here..

    Also popular now: