Channels

Services

Optimus support comes to the NVIDIA Linux driver

NVIDIA has released a beta version of its proprietary Linux graphics driver which introduces some support for its Optimus hybrid graphics technology. However, in its announcement of the changes in version 319.12 of the driver, NVIDIA only mentions the Optimus support in passing. Only the documentation goes into any detail about the feature. According to NVIDIA, users need an X server version 1.13 and version 1.4 of the XRandR command line utility xrandr. The Linux kernel used with this driver must also be able to provide a number of specific interfaces, but the documentation does not list which Linux kernel versions provide them.

These interfaces, which were developed under the name "Prime Helpers", are currently only available in version 3.9 of the Linux kernel which is expected to be released within the month. The Prime Helpers were committed to the kernel by an NVIDIA developer and provide the functionality of the Prime framework within the kernel. These "Helper" interfaces do not carry the GPL markers that would indicate that only GPL-compatible drivers can legitimately use them. Markers of this kind are used on the Prime driver interfaces that are used by open source drivers to support hybrid graphics solutions and are also the reason why NVIDIA is not using these interfaces.

The Optimus functions included in the beta driver can pass images that were rendered with one graphics chip on to another one. This is the case, for example, when a dedicated GPU passes 3D-accelerated images to a USB VGA card or the on-board graphics chip of a CPU. In modern notebook computers, Optimus is often used to activate a more powerful graphics card on demand, which will then pipe its output through to the on-board graphics card that is connected directly to the system's display. With several models of notebooks, external video ports are directly connected to the NVIDIA chip, but the beta driver does not currently support this kind of operation. The so-called "render offload" function, where images from another GPU are piped into the NVIDIA chip itself for display on a screen connected to it, is also not supported at the moment.

Aside from its proprietary nature, the lack of Optimus support has long been the biggest argument levelled against the NVIDIA drivers on Linux. NVIDIA's reluctance to bring Optimus support to Linux was also the trigger that caused Linus Torvalds to rant against the company in a video that has become somewhat famous in the Linux community.