Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware.
When less demanding applications are used, the IGP takes sole control, allowing for longer battery life and less fan noise.
Under Windows the Nvidia driver also provides the option to manually select the GPU in the right-click menu upon launching an executable.
The Optimus Routing Layer also includes a kernel-level library for recognizing and managing specific classes and objects associated with different graphics devices.
This Nvidia innovation performs state and context management, allocating architectural resources as needed for each driver client (i.e., application).
By recognizing designated classes, the Optimus Routing Layer can help determine when the GPU can be utilized to improve rendering performance.
Specifically, it sends a signal to power-on the GPU when it finds any of the following three call types: Predefined profiles also assist in determining whether extra graphics power is needed.
While historically problematic, the binary Nvidia driver since beta version 435.17 officially supports Optimus render offloading for OpenGL and Vulkan applications under the name "PRIME".
As of 2013[update] one can only run a program with improved graphical performance on the discrete GPU by explicitly invoking it as such: for example, by using the command line or through specially configured shortcut icon.
To avoid tearing, the Xorg server has a mechanism called Prime Synchronization to time these buffer updates, similar to vsync; the Nvidia driver must be loaded as a kernel module for this to work.
The leading implementation of this approach is Ubuntu's 'prime-select' package, which has a command line and graphical tool to turn the Nvidia card off.
Some older and high-end laptops contain a BIOS setting to manually select the state of the hardware multiplexer to switch output between the two video devices.