X Server 1.13 to offer better support for hybrid graphics
Changes that will improve Linux support for hot-pluggable, hybrid graphics hardware have been merged into the development tree for X.Org's X Server. Support for this feature is currently considered to be lacking in Linux and was one of the reasons behind Linux creator Linus Torvalds' recent headline-grabbing "NVIDIA, fuck you!" outburst.
NVIDIA's contribution to the infrastructure integrated into the first pre-release version of X Server 1.13, published today, has apparently been minimal. The infrastructure consists of several components including patches for "output slaves" which allow X Server to activate graphics hardware added at runtime. This can be useful for DisplayLink hardware, for example, where it allows a currently displayed desktop interface to be extended to a newly connected USB monitor without having to restart X Server.
An "offload slaves" function based on the feature has also been merged into the X Server code. It allows drivers to offload graphics calculations to a graphics chip in order to output the calculated image with minimum overhead. This can be useful for supporting hybrid graphics in the latest laptops, where AMD and NVIDIA's hot-swappable GPUs (graphics processing units) generally deal only with graphics calculations, with actual monitor control and output being dealt with by the GPU on the processor.
The new functions can be used via an extension to the RandR (Resize, Rotate and Reflect Extension) protocol, which offers these capabilities in version 1.5 of the protocol. To ensure that these enhancements, which have been developed under the code name "prime infrastructure", make it into X Server 1.13, X.Org developer Keith Packard chose to extend the period during which major changes for this version would be accepted by a few days to 9 July (Monday). X Server 1.13 is currently a work in progress and is due for release in early September. The X Server extensions rely on Linux kernel features which will be included in Linux 3.5, due out later this month.
Prime infrastructure for the Linux kernel and X Server has been developed largely by Red Hat developer Dave Airlie. He posted two YouTube videos demonstrating the feature while it was still under development. Packard recently tried hot-plugging a DisplayLink monitor and describes his experience and some issues which still need ironing out in a blog post.
Work on proper support for hybrid graphics is not yet finished, with the current changes representing just the first two of the four steps outlined by Airlie a month ago. Functions for switching completely to another graphics chip at runtime and other extensions to enable functions from X's Xinerama mode are still on the to-do list. How well the infrastructure will work with the 3.5 kernel and X Server 1.13 in the distributions also remains to be seen. It is not currently clear whether the proprietary AMD and NVIDIA graphics drivers will use the new infrastructure. For now Bumblebee, an application that is somewhat more complicated than prime, will remain the best option for those wanting to take full advantage of the performance capabilities of NVIDIA GPUs in Optimus laptops.