VirtualBox: Leap 42.x Host & Guest: Scroll Wheel Problems.

Hi,

I am suffering from the problems described here: Problems with Mouse Scroll Wheel
Yesterday a solution (I hope) was offered. However, I am having trouble understanding the advice. Would anyone mind “single-stepping” me through it?

I’m guessing I need to start here: "

… you’ll need to install the evdev driver (it’s named different things in different distro’s, google the package name and double check that it’s installed before continuing)…

  1. I could only find one vague suggestion that evdev is included in xorg? If this is so, what is the formal name of the xorg package that evdev is included in?
  2. if evdev is installed (or I am able to install it after solving 1. above), how do I test if it is active?

'nuff for now. Thanks in anticipation.

Regards, Martin

The evdev Xorg input driver is supplied by the ‘xf86-input-evdev’ package. It may already be installed. Check with…

zypper se -s xf86-input-evdev

Even if it is installed, by default libinput will take precedence due to /etc/X11/xorg.conf.d/40-libinput.conf. Rather than editing 40-libinput as suggested in the page you linked to, I would recommend copying 10-evdev.conf as 80-evdev.conf so that it will take precedence. Once done, restart the host X-server and check that evdev is now in use…

grep "Using input" /var/log/Xorg.0.log

Note that if you’re using Gnome, Xorg will run rootless, and the Xorg log is located in the ~/.local/share/xorg/ directory.

I cannot reproduce this issue, so I might be mistaken, but my understanding reading the VirtualBox forum post is that the problem might be on the GUEST side, so the good advice by deano_ferrari might apply to the files in the guest system.
Also be aware that relevant files are also installed at /etc/X11/xorg.conf.d (anyway renaming to 80-evdev.conf will take precedence wherever it might be).
Just my two cents.

I haven’t had pointing device problems in Virtualbox for quite awhile,
and I wouldn’t know if the OP in the referenced thread tried it, but before the his “workaround” he should have tried changing the default PS/2 Mouse pointing device setting to one of or each of the USB tablet settings(Guest System Settings).

TSU

Thank you all for your very prompt advice.
Just to clear up some of the points raised in this thread.

  1. I am using KDE not GNOME.
  2. The problem is on the GUEST. LEAP 42.2 and 42.3 guests running under a 42.3 host.
  3. Yes, I do have the xf86-input-evdev package installed.
  4. The 10-evdev.conf (1.1KB), 11-evdev.conf (484Bytes) and **40-libinput.conf **only exist in /etc/X11/xorg.conf.d

Next, I do not understand the precedence renaming (renumbering) point you are making. I thought that, if I wanted to override a file, I needed to add a file that is LOWER than the installed file.
For example 10-evdev.conf will override 11-evdev.conf. Have I got this wrong?

Lastly, putting the precedence issue aside. If I want to override **40-libinput.conf **should I not be renaming **10-evdev.conf **to 39-libinput.conf?

Regards, Martin

The file processed last will take precedence. It’s easy enough to test…

cd /etc/X11/xorg.conf.d
sudo mv 10-evdev.conf 80-evdev.conf

After the X-server is restarted, you’ll find evdev in use. In fact, using the ‘MatchProduct’ option, it can be limited to just supporting a particular device.

Check which Xorg input drivers are in use for the given input devices using…

grep "Using input" /var/log/Xorg.0.log

Thank you Deano,

Yep. I guess I got it wrong (again!). After renaming to 80-evdev.conf, I get…

linux-a6cr:~ # grep "Using input" /var/log/Xorg.0.log
    39.580] (II) Using input driver 'evdev' for 'Power Button'
    39.614] (II) Using input driver 'evdev' for 'Sleep Button'
    39.615] (II) Using input driver 'evdev' for 'Video Bus'
    39.616] (II) Using input driver 'evdev' for 'VirtualBox mouse integration'
    39.617] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
    39.618] (II) Using input driver 'evdev' for 'ImExPS/2 Generic Explorer Mouse'
linux-a6cr:~ # 

The bad news (for me) is, that it has not fixed my mouse wheel problem. Ho hum… Back to the VirtualBox fourum we go …

Regards, Martin

Can you confirm if you’re experiencing this issue with the guest only? A littel more description would be useful here. The page you linked described having an issue affecting erratic scrolling in KDE applications, but not with firefox apparently. That would point to an issue with the Plasma 5 desktop environment rather than with Xorg.

Morning Deano,

Yes. That is correct. The host is fine. The problem is with the guest. In fact all the guests I have tested.
This is limited to SuSE guests though - LEAP 42.2, 42.3 & Tumbleweed. I DID NOT see these problems before upgrading VirtualBox to version 5.1.26

The page you linked described having an issue affecting erratic scrolling in KDE applications, but not with firefox apparently.

Yes, that is correct. All the browsers I have tested (Firefox, SeaMonkey, Chrome & Midori) are fine.

I see the same problems in both Plasma 5 and IceWM.

Applications where I see problems are: The Application launcher (cascading pop-up menus), Dolphin (panes with scroll bar showing), Konsole, Applets (Kfind etc) and many more.

It has been suggested that I install “IMWheel”. However, I am a little reluctant to do this as it seems that imwheel is application specific (yet to be confirmed) and will I forever having to re-configure the workaround each time I use a new application!

Best regards, Martin

I re-checked with Konsole and Dolphin and noticed that most of the time the very first “tick” of the mouse wheel after focusing on the relevant window gets lost in space…
Everything seems to work with further movement of the wheel.
Is this what you mean by “erratic behaviour”?

That is interesting to know.

Yes, that is correct. All the browsers I have tested (Firefox, SeaMonkey, Chrome & Midori) are fine.

I see the same problems in both Plasma 5 and IceWM.

I wonder what the difference might be with the scroll wheel event processing between KDE and the other applications.

What properties are listed for your device (from a guest perspective)?

xinput list-props <device_ID>

It has been suggested that I install “IMWheel”. However, I am a little reluctant to do this as it seems that imwheel is application specific (yet to be confirmed) and will I forever having to re-configure the workaround each time I use a new application!

It might be worth a shot to help ‘tame’ the scroll wheel. Sometimes experimentation is needed with these issues.

As I see it, it seems desktop-independent: it shows up in 42.2 KDE (and IceWM), 42.3 Gnome, GeckoLinux LxQt, Solus-Budgie…
At the moment nothing similar on a W7 guest, but was only a very quick look.

Hi all,

May I answer the questions from OrsoBruno and deano_ferrari in one post?

  1. “Erratic” is much worse that just missing one click! I can roll 120degrees (up or down) before anything will happen sometimes. Then it will move a few lines and I have to roll again.
    An interesting point, I don’t know if it is relevant or helps but if I press down (center button press) and then roll (not easy!!) at the same time. Scrolling works as I think it should.

  2. xinput information. First I needed to find <device_ID>

linux-a6cr:~ # xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ VirtualBox mouse integration              id=9    [slave  pointer  (2)]
⎜   ↳ ImExPS/2 Generic Explorer Mouse           id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Sleep Button                              id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
linux-a6cr:~ # 

2a. Now xinput with libinput active:

linux-a6cr:~ # xinput list-props 11
Device 'ImExPS/2 Generic Explorer Mouse':
        Device Enabled (119):   1
        Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Accel Speed (294):     0.000000
        libinput Accel Speed Default (295):     0.000000
        libinput Accel Profiles Available (296):        1, 1
        libinput Accel Profile Enabled (297):   1, 0
        libinput Accel Profile Enabled Default (298):   1, 0
        libinput Natural Scrolling Enabled (283):       0
        libinput Natural Scrolling Enabled Default (284):       0
        libinput Send Events Modes Available (264):     1, 0
        libinput Send Events Mode Enabled (265):        0, 0
        libinput Send Events Mode Enabled Default (266):        0, 0
        libinput Left Handed Enabled (285):     0
        libinput Left Handed Enabled Default (286):     0
        libinput Scroll Methods Available (287):        0, 0, 1
        libinput Scroll Method Enabled (288):   0, 0, 0
        libinput Scroll Method Enabled Default (289):   0, 0, 0
        libinput Button Scrolling Button (290): 2
        libinput Button Scrolling Button Default (291): 2
        libinput Middle Emulation Enabled (299):        0
        libinput Middle Emulation Enabled Default (300):        0
        Device Node (267):      "/dev/input/event1"
        Device Product ID (268):        2, 6
        libinput Drag Lock Buttons (292):       <no items>
        libinput Horizontal Scroll Enabled (293):       1
linux-a6cr:~ # 

2b. And again with evdev active

linux-a6cr:~ # xinput list-props 11
Device 'ImExPS/2 Generic Explorer Mouse':
        Device Enabled (119):   1
        Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (270):     0
        Device Accel Constant Deceleration (271):       1.000000
        Device Accel Adaptive Deceleration (272):       1.000000
        Device Accel Velocity Scaling (273):    10.000000
        Device Product ID (264):        2, 6
        Device Node (265):      "/dev/input/event1"
        Evdev Axis Inversion (274):     0, 0
        Evdev Axes Swap (276):  0
        Axis Labels (277):      "Rel X" (129), "Rel Y" (130), "Rel Horiz Wheel" (297), "Rel Vert Wheel" (298)
        Button Labels (278):    "Button Left" (122), "Button Middle" (123), "Button Right" (124), "Button Wheel Up" (125), "Button Wheel Down" (126), "Button Horiz Wheel Left" (127), "Button Horiz Wheel Right" (128), "Button Side" (295), "Button Extra" (296), "Button Unknown" (267), "Button Unknown" (267), "Button Unknown" (267), "Button Unknown" (267)
        Evdev Scrolling Distance (279): 1, 1, 1
        Evdev Middle Button Emulation (280):    0
        Evdev Middle Button Timeout (281):      50
        Evdev Third Button Emulation (282):     0
        Evdev Third Button Emulation Timeout (283):     1000
        Evdev Third Button Emulation Button (284):      3
        Evdev Third Button Emulation Threshold (285):   20
        Evdev Wheel Emulation (286):    0
        Evdev Wheel Emulation Axes (287):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (288):    10
        Evdev Wheel Emulation Timeout (289):    200
        Evdev Wheel Emulation Button (290):     4
        Evdev Drag Lock Buttons (291):  0
linux-a6cr:~ # 

I pass this information on with no comment - I’m afraid it means next to nothing to me. Dho…

Regards, Martin

Ok, open a terminal and run evtest for the device…

sudo evtest /dev/input/event1
  • You may need to install the ‘evtest’ package first.

Try using the scroll wheel while this is running and observe the resulting output. You should see ‘smooth’ incremental values similar to those I obtained from my touchpad (right-hand vertical scroll)…

vent: time 1504827541.935443, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827541.935443, -------------- SYN_REPORT ------------
Event: time 1504827541.963896, type 2 (EV_REL), code 8 (REL_WHEEL), value -2
Event: time 1504827541.963896, -------------- SYN_REPORT ------------
Event: time 1504827541.989157, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827541.989157, -------------- SYN_REPORT ------------
Event: time 1504827542.030642, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.030642, -------------- SYN_REPORT ------------
Event: time 1504827542.057323, type 2 (EV_REL), code 8 (REL_WHEEL), value -2
Event: time 1504827542.057323, -------------- SYN_REPORT ------------
Event: time 1504827542.084680, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.084680, -------------- SYN_REPORT ------------
Event: time 1504827542.112588, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.112588, -------------- SYN_REPORT ------------
Event: time 1504827542.152134, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.152134, -------------- SYN_REPORT ------------
Event: time 1504827542.179321, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.179321, -------------- SYN_REPORT ------------
Event: time 1504827542.206704, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.206704, -------------- SYN_REPORT ------------
Event: time 1504827542.246239, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.246239, -------------- SYN_REPORT ------------
Event: time 1504827542.301173, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504827542.301173, -------------- SYN_REPORT ------------
Event: time 1504827544.710804, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1

If the output is erratic for a ‘controlled’ scroll up or down, then this might help narrow down where the problem lies for a bug report. Experiment a bit and observe/capture the output.

Hi Deano,

Okay, done. Output was “as smooth as silk”!
The following capture shows two scroll wheel-clicks away from me and two clicks back. No discernible delay between wheel-click and report on screen.
Not sure of the implications, but it seems to me, that evtest run on a LEAP 42.2 guest is reporting “all is well”?

linux-a6cr:~ # evtest /dev/input/event1
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x2 product 0x6 version 0x0
Input device name: "ImExPS/2 Generic Explorer Mouse"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
    Event code 275 (BTN_SIDE)
    Event code 276 (BTN_EXTRA)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 6 (REL_HWHEEL)
    Event code 8 (REL_WHEEL)
Properties:
  Property type 0 (INPUT_PROP_POINTER)
Testing ... (interrupt to exit)
Event: time 1504855170.014720, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1504855170.014720, -------------- SYN_REPORT ------------
Event: time 1504855171.652618, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1504855171.652618, -------------- SYN_REPORT ------------
Event: time 1504855172.656544, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504855172.656544, -------------- SYN_REPORT ------------
Event: time 1504855173.794527, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1504855173.794527, -------------- SYN_REPORT ------------
^Clinux-a6cr:~ # 

Regards, Martin

It would seem that way. Do a bigger excursion (up and down) with the scroll wheel and report back.

I won’t clutter the thread with lengthy captures but the evtest output is smooth and consistent with lengthy (120degree) and rapid scroll actions up and down.
I have also noticed (I will have to read the man pages sooner or later!!) that I can get an evtest output while the mouse action is focused within another application. So…

I make the focus the folder pane of Dolphin and try and scroll up and down. Now I note the same erratic behavior (the pane is not scrolling correctly) while at the same time I can see the evtest running in a Konsole screen reporting correctly (smoothly and promptly - one click/one report).

Regards, Martin

Strange. I can’t replicate the erratic behaviour you describe at all. I’m testing with VirtualBox 5.1.26 (Windows 7 host, openSUSE Leap 42.3 guest), and an A4 Tech USB mouse with scroll wheel. It behaves just as my touchpad does with respect to scrolling.

Okay, Deano.

I think that we have come as far as we can with this problem. The only difference between our test-rigs is the Host - mine is Leap 42.2 not Windows.
I am most appreciative of your help and advice. I knew nothing of libinput/evdev before this conversation.

I am almost convinced (because all was well at VBox 5.1.24 and not working at VBox 5.1.26) that the problem is in the VirtualBox domain.
I will hope for a happy resolution with the next VBox update?

Best regards, and thank you once again, Martin