Ubuntu / Linux news and application reviews.

As you probably already know, the Linux Kernel has a pretty significant power issue starting with version 2.6.38 which hasn't been fixed yet (this includes version 3.0.0). This bug causes power consumption to go up by nearly 30% (and hence a shorter battery life) as reported by Phoronix which is pretty bad for netbook / laptop users. Some users are also reporting that this causes their laptops to overheat.

Well, Phoronix has found a way around this bug (you can read the article here) so below I'll tell you the exact steps you must follow to finally fix this issue.

The instructions below will force Active-State Power Management to be enabled by editing the GRUB2 config file and while this should work for most computers, it will not work for all. Also, Phoronix notes that "if your system's BIOS/hardware is in bad shape, you may hit system hangs" though it seems this is not something very common:

"I've never encountered ASPM problems with it enabled on any of my systems in pre-2.6.38 nor have I seen any reports of such in the Phoronix Forums or elsewhere."

- Phoronix

But anyway, use this at your own risk!

How to apply the Linux Kernel 2.6.38+ power issue workaround

1. To force Active-State Power Management to be enabled, you must edit the GRUB2 config file so open a terminal and copy/paste this:
gksu gedit /etc/default/grub

2. Then, locate the line that looks like this:

(it's on line 11 on my computer) and to the end of the line, before the last quote, add pcie_aspm=force (and a space before it), which should make it look like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Now double check you've edited the file correctly! Modifying this file incorrectly may cause your computer to stop booting!

3. And finally, update GRUB using the command below:
sudo update-grub

And restart your computer.

If something goes wrong, reverting the changes is pretty easy: simply open "/etc/default/grub" as root and remove "pcie_aspm=force" from the end of the "GRUB_CMDLINE_LINUX_DEFAULT" line, then run "sudo update-grub".

Thanks to Phoronix for the workaround and gnulinux.cat for the heads up!