How do I turn off the Radeon GPU on my HP Pavilion DM4?

Solution 1:

Ubuntu comes with vgaswitcheroo since 10.10. Therefore you can although it is far away from working as smooth as on Windows. Yet it's enough to turn off either one of the cards and/or switch to using the other ones.

You find more information on this topic on help.ubuntu and this linux.blogspot.

Since you are fairly new to Ubuntu, I'll tell you the essential commands:

chmod -R 705 /sys/kernel/debug # this isn't noted on the help.ubuntu-page, yet I had to do this since 11.04
chown -R $YOURUSERNAME:$YOURUSERNAME /sys/kernel/debug/vgaswitcheroo # where $YOURUSERNAME is your user name
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch # this will turn off your currently unused card. This is normally the discrete one.

These commands shouldn't work with fglrx installed I guess, because it has its own switching mechanism (which doesn't work for me).

For switching between cards, you would write DDIS (for discrete) and DIGD (for integrated) instead of OFF. Note that you will see a change only after you have logged off. Still the other card will already be turned on; consuming power and spinning its fan.

Solution 2:

I'm using a Sony VAIO VPCSB2 laptop with switchable graphics (Intel integrated / ATI 6470M) and have lost a lot of time with this also...

Easiest way to solve the problem, as said above, is to add:

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

to your rc.local file (sudo gedit /etc/rc.local, add before line "exit 0"). It quick and dirty, but will power off the ATI adapter at startup. The limitations are:

  • No ATI accelerated graphics, obviously :)
  • Bad sleep / suspend support (the ATI adapter may wake up together with the laptop...)

Since release 12.1, the Catalyst drivers do support hybrid graphics, on my notebook at least, but it required a bit of work (not sure that all steps are required in the end, but at least it worked):

Make sure that you don't use vgaswitcheroo already :)

Prerequisites install

sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases

On a x64 system, add:

sudo apt-get install ia32-libs

Create this symlink (this prevented the driver package compilation to fail later on in my case):

sudo ln -svT lib /usr/lib64

Download the driver from ATI and create the packages:

sh ./ati-driver-installer-11-11-x86.x86_64.run --buildpkg Ubuntu/oneiric

Install the packages:

sudo dpkg -i fglrx*.deb

Configure the driver:

sudo aticonfig --initial -f

Reboot and pray. If it works you will be presented with your standard login prompt. Log in and start the Catalyst Control Center as an administrator. You can then finally choose in a GUI which GPU you want to use (reboot required).

If it does not work (you have to login in a command prompt) and you want to retry, do some cleanup before restarting the procedure:

sudo aticonfig --uninstall    
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* xorg-driver-fglrx

The big disadvantage with the Catalyst driver is that Unity will work only in 2D mode on the Intel adapter (with the "native" intel driver, standard Unity works well).

I found no solution for this last problem, therefore in my case I switched back to the switcheroo solution.