How to permanently switch off discrete graphic card?

I got a integrated GD, which is Intel, and another discrete GD, AMD Radeon 6490 HD I am using ubuntu 11.10

1st, when I boot into Windows, my GD is indeed AMD Radeon 6490 HD, but when I boot into Ubuntu, it shows that I have AMD Radeon 6470 instead.

2nd, I try most methods only to install driver for my AMD/ATI graphic card. First by jockey(fail, boot with unity 2D instead) and install manually (fail, boot into blank screen).

3rd, I give up using the AMD/ATI graphic card. Then I got a new problem. Both my graphic cards are powered on on startup, which causes my laptop to over heat.

I view the content of /sys/kernel/debug/vgaswitcheroo/switch

0:DIS: :Pwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0

Then I switch off IGD using echo OFF > /sys/kernel/debug/vgaswitcheroo/switch and I get

0:DIS: :Off:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0

But after I reboot, the discrete graphic card is powered on again. How to solve this?


A simplistic way would be to add echo OFF > /sys/kernel/debug/vgaswitcheroo/switch to /etc/rc.local before the exit 0 so it looks like this:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

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

exit 0