I have a hybrid Radeon 6600M/Intel laptop, and I've installed the Ubuntu beta 2, hoping that I'd get a better battery life but I still seem to be getting high power consumption.

With radeon blacklisted, I'm still getting ~23W of power consumption. I get ~5 hours on Windows compared to <2 hours on Ubuntu. What can I do to decrease power consumption?

  • It would be useful to have some details about your system; I've written an answer based on my inferences as to what you have.
    – RAOF
    Apr 24, 2012 at 7:24
  • It is a hybrid system with ATI Radeon 6600M. What other information do you want?
    – infoquad
    Apr 24, 2012 at 8:07
  • That's the important bit (that you can see that I've guessed).
    – RAOF
    Apr 24, 2012 at 8:14

2 Answers 2


On a hybrid Intel/AMD system, blacklisting radeon won't actually turn off the discrete Radeon card; it'll be in a lowish-power state because it's not doing anything, but it won't be off.

In order to actually turn off the card you need to have both intel and radeon loaded so that the vgaswitcheroo infrastructure gets initialised, and then you can run

echo OFF | sudo tee /sys/kernel/debug/vgaswitcheroo/switch

which will turn off any GPUs that vgaswitcheroo thinks are unused; in this case, it'll be your Radeon. You'll need to do this each boot; it's not persistent across restarts.

  • 1
    Any way to make this persistent?
    – Pakman
    May 2, 2012 at 3:21

To make it "persistent", set an rc.local line(s) to arrange it every startup. (It's not actually persistent, but it will seem like it is to the user).

This site gives some hints: https://help.ubuntu.com/community/HybridGraphics

To have permanent write permissions to the switch file, add the following line, replacing USERNAME with your username, to /etc/init.d/rc.local:

chown USERNAME /sys/kernel/debug/vgaswitcheroo/switch

Now, whichever card you want to be in use and on/off, just add another line that follows the convention for vgaswitcheroo, as seen on that page.

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

Turns on the GPU that is disconnected (not currently driving outputs), but does not switch outputs.

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch

Connects integrated graphics with outputs.

echo DIS > /sys/kernel/debug/vgaswitcheroo/switch

Connects discrete graphics with outputs.

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

Turns off the graphics card that is currently disconnected.

There are also a couple of options that are useful from inside an X-Windows session:

echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch

Queues a switch to integrated graphics to occur when the X server is next restarted.

echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch

Queues a switch to discrete graphics to occur when the X server is next restarted.

cat /sys/kernel/debug/vgaswitcheroo/switch

Allows you to verify the current state of the hybrid graphics. Typically, there will be two lines of output - one should indicate "Pwr" and the other should indicate "Off".

NB: The script with a gui on that page, by Roberto Martinez, may work or it may not, for many reasons. YMMV, so be prepared to try and see, if you want it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.