At least in the Windows world, there are ways to run discrete + integrated GPUs at the same time, with some software that effectively virtualises them. The idea is to use integrated GPU most of the time, and fire up the discrete GPU only when there's a demanding 3D game or other application.