qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: David Airlie <airlied@redhat.com>,
	Lennart Poettering <lpoetter@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] multihead & multiseat in qemu
Date: Fri, 21 Mar 2014 16:37:28 +0000	[thread overview]
Message-ID: <20140321163727.GA14504@work-vm> (raw)
In-Reply-To: <1395408446.20837.49.camel@nilsson.home.kraxel.org>

* Gerd Hoffmann (kraxel@redhat.com) wrote:
>   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.

Can't you just do this in the serial number strings for both monitor EDID
and USB device, I'm assuming that's how current multiseat setups figure
stuff out.

I think with the touchscreen idea that means qemu never needs itself
to have a view of where it's displays are logically left/right/above/down
which is probably fortunate.

Dave

> 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
> 
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2014-03-21 16:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-21 13:27 [Qemu-devel] multihead & multiseat in qemu Gerd Hoffmann
2014-03-21 16:37 ` Dr. David Alan Gilbert [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140321163727.GA14504@work-vm \
    --to=dgilbert@redhat.com \
    --cc=airlied@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lpoetter@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).