Nvidia has released a new beta version of their Linux graphics today: 319.12, which includes quite a few changes, including initial Optimus support.
Nvidia Optimus is a technology used to increase battery life by switching the dedicated GPU (Nvidia) off when it's not needed; when the dedicated GPU is off, the integrated graphics chip (Intel) is used. Until now, Linux users could take advantage of this technology through an unofficial project called Bumblebee.
The Nvidia 319.12 beta Linux display driver changelog doesn't explicitly mention Optimus support, however, the following can be found in the release notes:
The Nvidia 319.12 beta Linux display driver changelog doesn't explicitly mention Optimus support, however, the following can be found in the release notes:
"Added initial support for RandR 1.4 Provider objects with the Source Output capability, which can be used to render the desktop on an NVIDIA GPU and display it on an output connected to a provider with the Sink Output capability, such as an Intel integrated graphics device or a DisplayLink USB-to-VGA adapter".
Furthermore, the Nvidia 319.12 beta graphics drivers README gives some extra info on the graphics display offloading with RandR 1.4:
"Version 1.4 of the X Resize, Rotate, and Reflect Extension (RandR 1.4 for short) adds a way for drivers to work together so that one graphics device can display images rendered by another. This can be used on Optimus-based laptops to display a desktop rendered by an NVIDIA GPU on a screen connected to another graphics device, such as an Intel integrated graphics device or a USB-to-VGA adapter."
To be able to make use of the initial Optimus support in the latest Nvidia Linux graphics drivers, you'll need Xorg 1.13 or higher, xrandr command line utility version 1.4.0, a custom xorg.conf configuration which you can find in the drivers README, Linux Kernel with CONFIG_DRM enabled and the appropriate driver interfaces present (more on that, in the same README) and obviously, an Optimus-based laptop.
For now, the latest Nvidia 319.12 beta drivers don't work in Ubuntu by default, not even in Raring, because while Ubuntu has RandR 1.4, the xrandr command line utility version is 1.3.5. Furthermore, I'm not sure if the Ubuntu Kernel supports it (see above).
Update: TiborB has pointed out in a comment that xrandr 1.3.5 that's available in Ubuntu Raring already has some 1.4 features so it might be enough for this to work but I haven't looked too much into this. I've tried the drivers yesterday in Ubuntu Raring on my Optimus-based laptop but I couldn't get it to work. I'll give it another try sometime (hopefully soon) to see if Ubuntu 13.04 Raring Ringtail users can get the initial Optimus support that's available in the Nvidia 319.12 graphics drivers.
Update: TiborB has pointed out in a comment that xrandr 1.3.5 that's available in Ubuntu Raring already has some 1.4 features so it might be enough for this to work but I haven't looked too much into this. I've tried the drivers yesterday in Ubuntu Raring on my Optimus-based laptop but I couldn't get it to work. I'll give it another try sometime (hopefully soon) to see if Ubuntu 13.04 Raring Ringtail users can get the initial Optimus support that's available in the Nvidia 319.12 graphics drivers.
Other changes in Nvidia 319.12 beta Linux graphics drivers:
- added support for GeForce GTX 650 Ti BOOST;
- added initial support for restoration of efifb consoles on UEFI systems; where the primary display is driven over VGA or TMDS (e.g. DVI, HDMI, or LVDS);
- added support for the xorg.conf Monitor section options "Ignore", "Enable", "Primary", and "Rotate";
- added an Underscan feature in the nvidia-settings X Server Display Configuration page which allows the configuration of an underscan border around the ViewPortOut.This feature was formerly known as Overscan Compensation;
- added support for application profiles to the NVIDIA client-side GLX implementation;
- added support to nvidia-installer for crytographically signing the NVIDIA kernel module;
- added nvidia-modprobe, a setuid root utility, to the driver package. nvidia-modprobe can be used by user-space NVIDIA driver components to make sure the NVIDIA kernel module is loaded and that the NVIDIA character device files are present;
- added a VDPAU page to the nvidia-settings control panel, to display information about the decoding capabilities of VDPAU-capable GPUs
- various other improvements and bug fixes; for the complete changelog, see the Nvidia Linux Drivers 319.12 Beta page.
Download Nvidia Linux Graphics Drivers 319.12 Beta: 32bit | 64bit
via phoronix