VirtualBox

Ticket #6980 (closed defect: invalid)

Opened 4 years ago

Last modified 4 years ago

Scroll wheel events not relayed to OpenSolaris guest -> not VirtualBox-related

Reported by: jpl Owned by:
Priority: major Component: other
Version: VirtualBox 3.2.4 Keywords:
Cc: Guest type: Solaris
Host type: Linux

Description

I've never managed to get the scroll wheel working in an OpenSolaris guest. With VirtualBox 3.2.4-62467~Debian~lenny and OpenSolaris snv_134 I see no events in guest xev when the host scroll wheel is moved, even though the events are visible and everything works fine on the host.

Attachments

Xorg.0.log Download (13.6 KB) - added by jpl 4 years ago.
Xorg.0.log from the OpenSolaris guest
Xorg.0.log-ps2 Download (13.4 KB) - added by jpl 4 years ago.
Xorg.0.log from guest, with USB tablet emulation disabled
xorg.conf-host Download (3.6 KB) - added by jpl 4 years ago.
xorg.conf-guest Download (2.1 KB) - added by jpl 4 years ago.

Change History

comment:1 Changed 4 years ago by michael

I seem to recall that OpenSolaris has somewhat limited support for PS/2 mice. You might want to try using the USB tablet emulation. If you have an OpenSolaris host available I would be interested to know whether you can get it to recognise the scrollwheel on a PS/2 mouse.

comment:2 Changed 4 years ago by jpl

In fact I was already using the USB tablet emulation. Switching it off didn't change anything - no events reported.

Unfortunately, I don't have an OpenSolaris host to test with (also, the scroll wheel trackball involved is a USB device, not PS/2).

comment:3 Changed 4 years ago by jkeil2

On an OpenSolaris b134 host with vbox 3.2.4, mouse scroll events work just fine for an OpenSolaris 2009.06 guest (64-bit, with vbox guest additions installed).

comment:4 follow-up: ↓ 6 Changed 4 years ago by jpl

Is there anything I can do to gather/supply more information about my non-working configuration?

comment:5 Changed 4 years ago by jkeil2

Same with an OpenSolaris b134 guest on an OpenSolaris b134 host / vbox 3.2.4; scroll wheel events work just fine.

comment:6 in reply to: ↑ 4 Changed 4 years ago by jkeil2

Replying to jpl:

Is there anything I can do to gather/supply more information about my non-working configuration?

The following seem to be the relevant mouse log entries from the opensolaris b134 guest, from file /var/log/Xorg.0.log:

(**) Option "CorePointer"
(**) Mouse0: always reports core events
(**) Mouse0: Device: "/dev/vboxguest"
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(**) Mouse0: (accel) keeping acceleration scheme 1
(**) Mouse0: (accel) acceleration profile 0
(II) Mouse0: On.
(II) config/hal: Adding input device Microsoft PS/2-style Mouse
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input/amd64/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.7.4, module version = 1.5.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(II) Microsoft PS/2-style Mouse: Setting Device option to "/dev/mouse"
(**) Microsoft PS/2-style Mouse: Protocol: VUID
(**) Microsoft PS/2-style Mouse: always reports core events
(**) Option "Device" "/dev/mouse"
(II) Microsoft PS/2-style Mouse: Setting Buttons option to "5"
(==) Microsoft PS/2-style Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) Microsoft PS/2-style Mouse: ZAxisMapping: buttons 4 and 5
(**) Microsoft PS/2-style Mouse: Buttons: 9
(II) XINPUT: Adding extended input device "Microsoft PS/2-style Mouse" (type: MOUSE)
(**) Microsoft PS/2-style Mouse: (accel) keeping acceleration scheme 1
(**) Microsoft PS/2-style Mouse: (accel) acceleration profile 0

Does your opensolaris guest have similar log entries?

Changed 4 years ago by jpl

Xorg.0.log from the OpenSolaris guest

comment:7 follow-up: ↓ 12 Changed 4 years ago by jpl

The same entries seem to be present in my Xorg.0.log (see attached file above).

comment:8 Changed 4 years ago by michael

My own experiements show that the scroll wheel works with an emulated PS/2 or USB mouse in an OpenSolaris guest - it only fails for the USB tablet. Studying the OpenSolaris source code makes me wonder whether this is intentional - see  usbms.c as of line 2354, and specifically line 2412.

Changed 4 years ago by jpl

Xorg.0.log from guest, with USB tablet emulation disabled

comment:9 Changed 4 years ago by jpl

@michael: That's interesting, for me switching from USB tablet (removing the tick next to "absolute pointing device" in System configuration, right?) to PS/2 doesn't make a difference - no scroll events observable in either case, although Xorg.0.log looks slightly different (see second attachment above).

comment:10 Changed 4 years ago by michael

Just rechecked, when I uncheck that here the scroll wheel works, but I don't have Additions installed in that guest (I will try that tomorrow). Could you please also upload your xorg.conf here? I will mention that my guest is OpenSolaris 2009.06, not snv_134, which may (or may not) be relevant here.

Changed 4 years ago by jpl

Changed 4 years ago by jpl

comment:11 Changed 4 years ago by jpl

I started out with 2009.06, which I then upgraded to snv_134. As far as I remember, the scroll wheel didn't work with 2009.06 either. From your descriptions, I'm starting to suspect that it may be a host problem, so I also attached xorg.conf-host. The host is Debian with xorg 1:7.1.0-18.

I removed guest additions to see whether it matters - it didn't change anything (with PS2). So I reinstalled guest additions after this test.

comment:12 in reply to: ↑ 7 Changed 4 years ago by jkeil2

Replying to jpl:

The same entries seem to be present in my Xorg.0.log (see attached file above).

(**) Option "Device" "/dev/usb/hid0"
261 	(II) input: Setting Buttons option to "3"
262 	(==) input: Emulate3Buttons, Emulate3Timeout: 50
263 	(**) input: ZAxisMapping: buttons 4 and 5
264 	(**) input: Buttons: 9
265 	(II) XINPUT: Adding extended input device "input" (type: MOUSE)
266 	(**) input: (accel) keeping acceleration scheme 1
267 	(**) input: (accel) acceleration profile 0
268 	(WW) input: couldn't get wheel state

Hmm, it is trying to use an USB HID mouse device here (/dev/usb/hid0), and seems to have problems accessing mouse wheel information ("couldn't get wheel state").

I've not yet seen such a section in my Xorg.0.log file on the opensolaris guest.

Are you passing a host usb device (usb trackball) to the opensolaris vbox guest?

comment:13 Changed 4 years ago by jpl

If by "passing a host USB device" you mean having it configured in the USB filters of the VM, then no, this section is empty.

comment:14 Changed 4 years ago by jpl

Also note that in Xorg.0.log-ps2 (which is what I got when I didn't configure the tablet emulation and which is what works for others) the error message about wheel state is absent.

comment:15 Changed 4 years ago by michael

I'm afraid that I am simply unable to reproduce this. When I have Guest Additions installed even enabling the USB tablet does not help (as the Additions override the tablet). Can you reproduce this with a new VM? Preferably a plain 2009.06 one. If so, would you be able to give me step-by-step instructions as to how you created the VM (or even, if you have that possibility to make the new VM available for me to download, so I can try it out myself)?

comment:16 follow-up: ↓ 21 Changed 4 years ago by jpl

Well, I can reproduce it on this host simply by booting the 2009.06 LiveCD. No scroll events visible in xev.

Given your works-for-me assessment, I strongly suspect it has to be something in the host configuration. Do you have any clues what could I try changing?

comment:17 follow-up: ↓ 22 Changed 4 years ago by jpl

I just did an experiment and booted the host from the same 2009.06 LiveCD directly - then scrolling works. So it's not hardware, unlikely guest, must be something in the host configuration. However, scroll wheel works ok on the host. Does VirtualBox handle scroll events differently than, say a GTK or KDE application? Scrolling on the host works ok in other applications such as Firefox and Opera (and in xev, of course), so I rather doubt that it's the X system that doesn't relay events to VirtualBox properly.

comment:18 Changed 4 years ago by jpl

Maybe you can reproduce it if you use Debian as host with the 3.2.4-62467~Debian~lenny package on your side?...

comment:19 Changed 4 years ago by jkeil2

Replying to jpl:

Well, I can reproduce it on this host simply by booting the 2009.06 LiveCD. No scroll events visible in xev.

And the absolute pointing device option is not checked?

(no vbox guest additions installed and absolute pointing device enabled is the only configuration where scroll events don't work for me in an opensolaris guest; see comment by michael )

comment:20 Changed 4 years ago by jpl

jkeil2, correct, the absolute pointing device option was not checked when I tried the LiveCD. At least not checked in the VirtualBox GUI for this VM (getting a little paranoid, I guess).

comment:21 in reply to: ↑ 16 Changed 4 years ago by michael

Replying to jpl:

Well, I can reproduce it on this host simply by booting the 2009.06 LiveCD. No scroll events visible in xev.

Could you please attach the guest configuration XML file?

Given your works-for-me assessment, I strongly suspect it has to be something in the host configuration. Do you have any clues what could I try changing?

The host configuration shouldn't affect the guest, other than that if the scroll wheel is recognised by host applications it should work in the guest. (In this context VirtualBox is simply another host application, albeit a more complex one than the average!)

comment:22 in reply to: ↑ 17 Changed 4 years ago by jkeil2

Replying to jpl:

Scrolling on the host works ok in other applications such as Firefox and Opera (and in xev, of course), so I rather doubt that it's the X system that doesn't relay events to VirtualBox properly.

That is, xev on the host os reports button presses for buttons 4 and 5 when you scroll the wheel?

A similar test on the host OS would be "xinput test {devicename}" (replace {devicename} with the name or ID of the mouse device from "xinput list"). This should report button 4/5 events when the scroll wheel is used. Btw. what is reported on the host by "xinput list" for the pointer devices ?

Another thing that surprises me is that you're using "imps/2" protocol in the host's xorg.conf file, although you've said that you're using an usb (and not a ps/2) trackball device. Maybe "auto" protocol would be a better? You also don't set the number of buttons supported by the trackball device. Maybe you have to tell the Xorg server that the trackball supports at least five buttons?

Similar to  http://humanreadable.nfshost.com/sdeg/scroll-wheel-mouse.htm:

Section "InputDevice"
 Identifier "Mouse0"
 Driver "mouse"
 Option "Protocol"    "auto"
 Option "Device"     "/dev/input/mice"
 Option "Buttons"     "5"
 Option "ZAxisMapping"  "4 5"
 Option "CorePointer"
 Option "SendCoreEvents" "true"
EndSection

comment:23 Changed 4 years ago by jpl

jkeil2, this is great advice, thanks!

The problem was fixed by adding Option "CorePointer" in section "InputDevice" for the pointer device on the host.

In the non-working configuration "xinput list" on the host would report the pointer device twice:

"Virtual core pointer"  id=0    [XPointer]
"Virtual core keyboard" id=1    [XKeyboard]
"Generic Keyboard"      id=2    [XExtensionKeyboard]
"Logitech Trackball"    id=3    [XExtensionPointer]
"Logitech Trackball"    id=4    [XExtensionPointer]

In the working configuration the id=4 entry is not displayed.

"xinput test" on the host reports scroll events correctly in both configurations (in the non-working configuration - for both ids).

comment:24 Changed 4 years ago by michael

  • Status changed from new to closed
  • Resolution set to invalid
  • Summary changed from Scroll wheel events not relayed to OpenSolaris guest to Scroll wheel events not relayed to OpenSolaris guest -> not VirtualBox-related

Thanks for the feedback, I will mark this as invalid then as it was a configuration problem not related to VirtualBox.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use