Regular readers may recall that I've done quite a bit of work looking into optimising Power Management in openSUSE on Laptops using Intel Chipsets (especially the Sandybridge/Ivybridge chipsets and their integrated graphics)
Having tested these settings in the recently released openSUSE 12.3 I'd like to share that my previous recommendations still hold true for the latest release, and indeed seems to produce even better results than they did in 12.2, with my laptops power consumption now regularly below 10W (but with an important caveat about suspend/resume, please read my NOTE at the end of this article)
If you'd like to benefit from these settings, all you need to do is:
- Fire up YaST
- Go to Boot Loader
- Find the field for 'Optional Kernel Command Line Parameter'
- If you're using Grub2 this is under "Boot Loader Options"
- If you're using Grub1 this is under the Edit option for whichever Grub menu entry fires up openSUSE 12.2
- Add the following to the end of the line (which usually ends in 'showopts')
i915.i915_enable_rc6=7 i915.i915_enable_fbc=1 i915.lvds_downclock=1 drm.vblankoffdelay=1
- Click OK, Close YaST, reboot your system, and you should be home free with a laptop with a power consumption lasting twice as long
Please let me know how it works out for you in the comments below!
Why aren't these the defaults?
While these settings have worked well on all of my hardware and I've received no reports of problems from anyone using them, they are using features and functions of drivers which the developers and relevant kernel maintainers do not sufficiently trust to be default.
I've been told that this is in part due to anomalies with specific chipsets, or concerns about firmware possibly causing problems.
So while I've come to trust these settings on all my machines, please be aware the settings might not be safe for your hardware.
If you'd like to work on making these settings the default for openSUSE, you can help by working on the openSUSE bug report HERE: https://bugzilla.novell.com/show_bug.cgi?id=800105
NOTE: Issues with these settings and suspend/resume
One of the settings recommended above enables the Intel graphics RC6 'deep sleep' states. This setting is probably the one with the greatest power saving benefit, but it seems in the 3.7 kernel shipped with openSUSE 12.3, this 'deep sleep' state is not reactivated when resuming from suspend.
This means a big chunk of my recommended power savings go out of the window when resuming your laptop from sleep
I have 2 solutions to this problem
Option 1) Help me fix it for everyone with a backported kernel fix for openSUSE 12.3. I've done quite a bit of work looking into this and I believe I may have identified the commits from more recent Linux kernel updates which resolve the issue, but I'm not confident enough in my abilities to put this together as a Kernel update for openSUSE 12.3 - I'd really appreciate if someone wiser or less risk-averse could look into it with/for me.
The Bug report tracking the issue can be found HERE: https://bugzilla.novell.com/show_bug.cgi?id=801341
Option 2) An easy way out is to update your machine to use the latest stable (3.8) Linux kernel from our OBS repository using the following commands
First add the repository with 'zypper ar' (note the command below should be on a single line)
zypper ar http://download.opensuse.org/repositories/Kernel:/stable/standard Kernel:stable
Then install the latest kernel from this recently added repository with zypper in
zypper dup --from Kernel:stable
Make sure to read this page before attempting this and also how to keep your old kernel installed just in case…
Hopefully with all of this information people should be able to get their laptops running the already great openSUSE 12.3 running even more efficently. Please reply to this post to let me know how these settings work out for you
Have a lot of fun!