From 8067255dc9185e85b110254ffbea4d9682d3aa2d Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 30 Aug 2013 20:24:41 +0100 Subject: tools: Add intel-virtual-output to extend the local desktop with remote outputs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on the original implementation (hybrid-screenclone) by Tomáš Janoušek, and Bumblebee integration by Kevin Puetz. 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. 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. Signed-off-by: Chris Wilson --- test/Makefile.am | 2 +- test/virtual.conf | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 test/virtual.conf (limited to 'test') diff --git a/test/Makefile.am b/test/Makefile.am index f51967bd..893fa7d9 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -44,5 +44,5 @@ vsync.avi: mkvsync.sh clean-vsync-avi: rm -rf vsync.avi .build.tmp -EXTRA_DIST = README mkvsync.sh tearing.mp4 +EXTRA_DIST = README mkvsync.sh tearing.mp4 virtual.conf clean-local: clean-vsync-avi diff --git a/test/virtual.conf b/test/virtual.conf new file mode 100644 index 00000000..f9d037f2 --- /dev/null +++ b/test/virtual.conf @@ -0,0 +1,36 @@ +Section "Device" + Identifier "Device0" + Driver "intel" + Option "ZaphodHeads" "LVDS1" + Option "VirtualHeads" "1" + BusID "PCI:0:2:0" + Screen 0 +EndSection + +Section "Device" + Identifier "Device1" + Driver "intel" + Option "ZaphodHeads" "HDMI1" + BusID "PCI:0:2:0" + Screen 1 +EndSection + +Section "Screen" + Identifier "Screen0" + Device "Device0" +EndSection + +Section "Screen" + Identifier "Screen1" + Device "Device1" +EndSection + +Section "ServerFlags" + Option "AutoAddGPU" "False" +EndSection + +Section "ServerLayout" + Identifier "ServerLayout0" + Screen 0 "Screen0" 0 0 + Screen 1 "Screen1" 0 0 +EndSection -- cgit v1.2.3