All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] multihead & multiseat in qemu
@ 2014-03-21 13:27 Gerd Hoffmann
  2014-03-21 16:37 ` Dr. David Alan Gilbert
  2014-03-21 21:55 ` Dave Airlie
  0 siblings, 2 replies; 9+ messages in thread
From: Gerd Hoffmann @ 2014-03-21 13:27 UTC (permalink / raw)
  To: Lennart Poettering, David Airlie; +Cc: qemu-devel

  Hi,

I'm thinking about how to handle multihead and multiseat in qemu best.

On multihead:  Mouse in virtual machines works best with absolute
coordinates, and the way this is done today is to assign a (virtual) usb
tablet to the guest.  With multihead this becomes a bit difficuilt.
Today we try to calculate the coordinates for the tablet that they cover
all displays, which has a number of drawbacks.  I think it would be
better to operate more like a touchscreen, i.e. have one touch input
device for each monitor.  For that to work the guest must know which
touch device belongs to which monitor.

On multiseat:  Very simliar problem here (thats why both issues in one
mail):  The guest needs to know which devices belong to which seat.

Qemu needs the grouping/assignment information too, to the the input
routing right (i.e. input from this window needs to go to that virtual
input device etc).  Doing the configuration twice (once for qemu, once
for the guest) and make sure they actually match would be annoying
though.  So I think we should configure qemu only, then pass that
information to the guest somehow.

Question is how to do that best?

I'd like to have some way to assign tags such as seat=foo or head=1 to
devices.  Preferably in some way which can easily picked up with udev
rules, so it is easily usable by system-logind and Xorg server.

We have virtio devices (virtio-gpu for example).  For these it is easy,
we can put something into the virtio protocol, and the guest driver can
create a sysfs file where udev/systemd can pick it up.

We have pci devices (cirrus for example).  One idea for them would be to
create a vendor-specific pci capabiliy for tags.  Probably needs some
small utility to read them, or kernel driver support to export them via
sysfs.

We have usb devices (kbd/mouse/tablet).  We could put something into the
string table, or have some vendor-specific descriptor.  Same problem
here, not easy accessible, needs a tool or kernel support.

Comments?  Better ideas?  Other suggestions?

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-03-24 11:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-21 13:27 [Qemu-devel] multihead & multiseat in qemu Gerd Hoffmann
2014-03-21 16:37 ` Dr. David Alan Gilbert
2014-03-24  8:36   ` Gerd Hoffmann
2014-03-24  9:36     ` Dr. David Alan Gilbert
2014-03-24 11:14       ` Gerd Hoffmann
2014-03-24 11:22         ` Dr. David Alan Gilbert
2014-03-24 11:45           ` Gerd Hoffmann
2014-03-21 21:55 ` Dave Airlie
2014-03-24  8:28   ` Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.