All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Hellstrom <thellstrom@vmware.com>
To: Lauri Kasanen <cand@gmx.com>
Cc: linux-input@vger.kernel.org, dmitry.torokhov@gmail.com
Subject: Re: MOUSE_PS2_VMMOUSE and input/mice
Date: Fri, 15 Jan 2016 16:45:28 +0100	[thread overview]
Message-ID: <56991418.1070701@vmware.com> (raw)
In-Reply-To: <20160115132312.654ad5aa.cand@gmx.com>

On 01/15/2016 12:23 PM, Lauri Kasanen wrote:
> On Fri, 15 Jan 2016 12:08:51 +0100
> Thomas Hellstrom <thellstrom@vmware.com> wrote:
>
>>> Seems the new and shiny VMWare mouse driver does not pass events
>>> to /dev/input/mice, rudely breaking userspace that doesn't
>>> support absolute input devices.
>>>
>>> Can this be changed? Would there be any downside to passing those
>>> events?
>> Hi, Lauri.
>> What particular use-case is broken?
> VMWare + 4.2 kernel + Xvesa. This was reported for the current TinyCore
> beta, which has that kernel.
>
>> I'm assuming what's happening is that only the relative device gets
>> recognized as a mouse, and by default we don't send events through that
>> device.
>>
>> In the vmware gui there is a workaround, one can select 
>> edit->preferences->input->"Optimize mouse for games"->Always
>>
>> This will send events through the relative USB mouse, and if there is no
>> USB controller in the VM, through the relative MOUSE_PS2_VMMOUSE
>>
>> The other option is to limit the number of protocols the PS2 driver
>> checks for and avoid enabling the vmmmouse functionality. There is a
>> kernel module option for that, although I can't remember it offhand.
>>
>> We can't send both relative and absolute events simultaneously since
>> that would confuse the X server severely.
> Yeah, I know of the psmouse.proto=imps workaround. But requiring either
> bootcodes or VM setting tweaks is not nice, as what the users see will
> be "distro version X worked in my VMWare, in version Y the mouse does
> not work".
>
> If we instead disable MOUSE_PS2_VMMOUSE, I assume a future
> xf86-input-vmmouse version will drop support for the userspace-side
> mouse synchronization, and then VMWare+Xorg users will suffer.

At present, MOUSE_PS2_VMMOUSE is only needed if you need to support
rootless Xorg or a native compositor without vmmouse driver in absolute
mode, like gnome-shell/wayland. If you're fine with that, perhaps
disabling the in-kernel vmmouse driver is the best option for now.
xf86-input-vmmouse will remain as-is for the forseeable future.

Guessing what protocol the client needs is always tricky. What we could
perhaps do is to try to detect the number of open clients on the
absolute mouse device and if == 0 tell the host to send relative events.
However, the host is not required to obey that request and I'm not sure
KVM/QEMU even implements that. One option would perhaps be to turn off
vmmouse and just forward ps2 data in that case.

However, I'm not sure there are hooks in the ps2 driver to detect the
number of open clients for a particular device...

/Thomas
>
> Can you think of any solution that would detect things at runtime?
>
> - Lauri



  reply	other threads:[~2016-01-15 15:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15 10:39 MOUSE_PS2_VMMOUSE and input/mice Lauri Kasanen
2016-01-15 11:08 ` Thomas Hellstrom
2016-01-15 11:23   ` Lauri Kasanen
2016-01-15 15:45     ` Thomas Hellstrom [this message]
2016-01-15 17:50       ` Dmitry Torokhov
2016-01-15 18:22         ` Thomas Hellstrom
2016-01-16 15:39           ` Lauri Kasanen
2016-01-16 18:16             ` Dmitry Torokhov
2016-01-18  8:30               ` Lauri Kasanen
2016-01-16  8:57         ` Lauri Kasanen
2016-01-16 18:30           ` Dmitry Torokhov
2016-01-16 19:10             ` Lauri Kasanen
2016-01-16 19:38               ` Dmitry Torokhov
2016-01-17  9:32                 ` Lauri Kasanen

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=56991418.1070701@vmware.com \
    --to=thellstrom@vmware.com \
    --cc=cand@gmx.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.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 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.