Intel Driver Gains Virtual/Remote Output Support
The Intel X.Org driver has gained virtual output support to extend the local desktop with remote outputs. Simply put, this can help NVIDIA Optimus/Bumblebee users on Linux.
Chris Wilson explains this new feature well in the xf86-video-intel driver commit message:
Chris Wilson explains this new feature well in the xf86-video-intel driver commit message:
intel-virtual-output utilizes local VirtualHeads to present a contiguous desktop to the local display manager, but maps the drawing on those outputs to the remote display, and provides bidirectional RandR proxy so that you can resize the remote display and configure it within your desktop. The remote display should also send hotplug events back to the local desktop, for reconfiguration on the fly.Those wanting to explore the code can view it on Git. A follow-up commit made it so all outputs are cloned on the remote display. This feature will be present in the next Intel DDX driver release, which given Wilson's release rate for the driver, should mean it will arrive in a released version within a few days time.
Ideally the remote display is a discrete GPU on the same host so that we can use local Shared Memory transport and avoid sending data over the wire (though it will work in that setup). Ideally you would have userptr support to provide zero-copy rendering between the GPUs, or have dma-buf (in which case you would be using PRIME). For remote rendering, no compression is done so this fares worse than VNC.
11 Comments