Passing multi-screen layout to KMS driver

Gerd Hoffmann kraxel at redhat.com
Wed Dec 14 10:11:26 UTC 2016


  Hi,

> So I would be interested to know whether anyone else has thought about 
> this problem, and possibly even about an interface to let the compositor 
> pass the information.  If not, would people be open to the idea?  I 
> would much rather have something generally agreed on than hack something up.

I think the best way to tackle this is to have multiple tablets, one per
display device (touchscreen-style setup).

qemu can do that, with input routing (must configure on the host which
display belongs to which tablet).  Here is some info on that:

http://git.qemu-project.org/?p=qemu.git;a=blob;f=docs/multiseat.txt;hb=HEAD

The setup on the guest side is completely manual.  You have to use
"xinput --map-to-output" to tell Xorg which tablet belongs to which
display.  Maybe it is also possible to stick that into xorg.conf.
Should be improved, and it surely makes sense that qemu and virtualbox
use the same approach here.

Not sure if and how this works automatically with physical touchscreens.
Any clues are welcome.

Another option is to use a guest agent, spice does that since years to
handle multihead.  The guest agent queries the display layout using
xrandr, gets x + y + displayid from the spice client and generates
pointer events from that.  But I expect that scheme breaks with wayland
because wayland is by design alot more restrictive, so spice-agent
probably isn't allowed to send pointer events.  So not really an option
these days ...

cheers,
  Gerd



More information about the dri-devel mailing list