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 :)
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.