It is quite true. A lot of hardware today require drivers (ah.. I remember days I hated software modems 'cos without drivers these were useless, and now this is normal). And most drivers are proprietary. And on top of it - often hardware is being customized by OEMs requiring even more spcialized drivers.. And of course, nobody bother with doing drivers for Linux...
This is a case with my new Dell Precision M6600. It have on-chip GPU and discrete GPU. I still trying to find a way to switch to integrated GPU. And this one of the areas Ubuntu 12.04 should fix (well. To be exact, not Ubuntu, but kernel included into this distribution).
Just from witching from external GPU to internal GPU I expect to bump battery-time to ~6 hours from current 3 hours.