Testing NVIDIA Optimus / DRI PRIME On Ubuntu 14.04
With Ubuntu 14.04 LTS there is improved support for multi-GPU laptops (commonly what's branded as NVIDIA Optimus configurations) where there is a discrete NVIDIA GPU used for high performance workloads to complement the low-power Intel integrated graphics. Ubuntu 14.04 LTS features better support for these Optimus / DRI PRIME configurations on both the open and closed-source graphics drivers. Here's the Ubuntu 14.04 multi-GPU experience along with some OpenGL benchmarks and power consumption numbers between the different configurations.
Now that Ubuntu 14.04 LTS is out the door, I tested it out on a ASUS Zenbook Prime ultrabook with an Ivy Bridge class Intel Core i7 3517U CPU that has HD Graphics 4000 plus a discrete NVIDIA GeForce GT 620M 1GB GPU.
When Ubuntu 14.04 LTS was installed, the GPU reported in use by default was the low-power Intel HD Graphics 4000, per glxinfo (for new Ubuntu Linux users, it's shipped via the mesa-utils package) for seeing the reported OpenGL renderer. Setting DRI_PRIME=1 on a clean install of Ubuntu 14.04 LTS will switch to using the discrete graphics processor in supported configurations. When an OpenGL context is initialized under the DRI_PRIME environment variable, the NVIDIA GPU was utilized in conjunction with the Nouveau Gallium3D driver.
Switching the DRI_PRIME environment variable is the main method of dealing with switching of the GPUs depending upon the workload, but isn't too user-friendly nor as nice as the GPU switching on Windows 8.
New to Ubuntu 14.04 LTS when installing the packaged NVIDIA drivers is a dependency on the nvidia-prime package. The nvidia-prime support in Ubuntu 14.04 will add a new page to the nvidia-settings GUI panel for switching between the graphics processors. This support is offered via the Bumblebee project.
The NVIDIA GPU is listed as the "performance mode" and the Intel graphics are the "power savings mode" via the PRIME profiles. When switching modes, the administrator password needs to be entered. Additionally, the session needs to be restarted to switch the GPUs. This isn't done in real-time, but is at least GUI driven for easy Linux operation by everyone.
When switching to the power-savings mode, the open-source Intel Linux graphics driver continued to play nicely with the NVIDIA binary driver installed, using the Ubuntu 14.04 supplied packages.