Trackpad two finger scrolling lags to get started

viola

Hunter
Very painful trackpad experience with Ubuntu 20.04 when scrolling in a browser like Firefox or Chrome or elsewhere. It seems to lag at first before the scrolling starts. It is just very non-mac like in its behavior. Please test the trackpad scrolling functionality more in Linux guests for trackpads like MagicTrackpad.
 
Very painful trackpad experience with Ubuntu 20.04 when scrolling in a browser like Firefox or Chrome or elsewhere. It seems to lag at first before the scrolling starts. It is just very non-mac like in its behavior. Please test the trackpad scrolling functionality more in Linux guests for trackpads like MagicTrackpad.
Hello, could you please provide us with the tech report once the issue reproduced please?
 
Very painful trackpad experience with Ubuntu 20.04 when scrolling in a browser like Firefox or Chrome or elsewhere. It seems to lag at first before the scrolling starts. It is just very non-mac like in its behavior. Please test the trackpad scrolling functionality more in Linux guests for trackpads like MagicTrackpad.
We're still looking forward to your reply.
Please contact us at your earliest convenience.
Thank you for your time.
 
I am seeing the same issue as reported here.
Parallels Desktop 16
Fresh Ubuntu Linux 20.04 virtual machine (today) as provided by Parallels
2-finger scrolling when in Ubuntu proceeds in jumps. So when first moving the 2 fingers slowly, no scrolling occurs. After moving the 2 fingers slowly about half an inch upward (for example) on the touch pad the window contents will then scroll upwards by maybe a couple of lines of text. Continuing to move the 2 fingers slowly upwards, after another half an inch the window contents will scroll again by another couple of lines. Scrolling can be made to move balisticaly with faster finger movements but overall it feels laggy, slow to respond and hard to control. This behavior occurs in all the applications I've tried that support scrolling (e.g. FireFox, System Monitor, OpenOffice, Terminal.
Ubuntu is other wise normal and responsive. Scrolling using the scroll bars is smooth and normal
I will submit a tech report now as you had requested the other person reporting this issue.
 
I am not sure that Parallels will be able to solve this unless they re-design their ToolGate interface to present a virtual touchpad to the guest when the host is driven by the touchpad. I looked into the issue of smooth scrolling on Linux several times and it is not such a happy environment in this sense, there are dragons out there.

A good and _very_ comprehensive read on the topic can be found over there: https://pavelfatin.com/scrolling-with-pleasure/ . I short even if Parallels do everything they can to provide a precision pointer it is unlikely that you will get the smooth and responsive scrolling in the system. A good start would be to switch to libinput and ensure that you are ready for any changes Parallels may introduce to their ToolGate interface.

For example, right now on a Linux guest where the pointer is driven by libinput you can see the following:
Code:
[galaxy@archlinux ~]$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Parallels Virtual Mouse                    id=8    [slave  pointer  (2)]
⎜   ↳ Parallels Virtual Mouse                    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)]
    ↳ AT Translated Set 2 keyboard                id=10    [slave  keyboard (3)]

Here, pointer with id 8 is the whatever device is managing your cursor in the host system mapped to the virtual device presented by Paralles to your guest. I don't know why we have 3 different interfaces through the ToolGate, though.

Code:
[galaxy@archlinux ~]$ xinput list 8
Parallels Virtual Mouse                    id=8    [slave  pointer  (2)]
    Reporting 7 classes:
        Class originated from: 8. Type: XIButtonClass
        Buttons supported: 11
        Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back"
        Button state:
        Class originated from: 8. Type: XIValuatorClass
        Detail for Valuator 0:
          Label: Abs X
          Range: 0.000000 - 65535.000000
          Resolution: 0 units/m
          Mode: absolute
          Current value: 35505.458221
        Class originated from: 8. Type: XIValuatorClass
        Detail for Valuator 1:
          Label: Abs Y
          Range: 0.000000 - 65535.000000
          Resolution: 0 units/m
          Mode: absolute
          Current value: 40043.388977
        Class originated from: 8. Type: XIValuatorClass
        Detail for Valuator 2:
          Label: Rel Horiz Scroll
          Range: -1.000000 - -1.000000
          Resolution: 0 units/m
          Mode: relative
        Class originated from: 8. Type: XIValuatorClass
        Detail for Valuator 3:
          Label: Rel Vert Scroll
          Range: -1.000000 - -1.000000
          Resolution: 0 units/m
          Mode: relative
        Class originated from: 8. Type: XIScrollClass
        Scroll info for Valuator 2
          type: 2 (horizontal)
          increment: 15.000000
          flags: 0x0
        Class originated from: 8. Type: XIScrollClass
        Scroll info for Valuator 3
          type: 1 (vertical)
          increment: 15.000000
          flags: 0x0

Above, you may have spotted that the increment for scrolling is 15, so it is going to be quite jumpy. Usually, you can adjust these settings if the device exposes some capabilities for adjusting the scroll speed, however, with the current implementation the list of supported capabilities is just the following:

Code:
[galaxy@archlinux ~]$ xinput list-props 8
Device 'Parallels Virtual Mouse':
    Device Enabled (116):    1
    Coordinate Transformation Matrix (118):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (255):    0
    libinput Natural Scrolling Enabled Default (256):    0
    libinput Middle Emulation Enabled (257):    0
    libinput Middle Emulation Enabled Default (258):    0
    libinput Calibration Matrix (259):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Calibration Matrix Default (260):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Left Handed Enabled (261):    0
    libinput Left Handed Enabled Default (262):    0
    libinput Send Events Modes Available (238):    1, 0
    libinput Send Events Mode Enabled (239):    0, 0
    libinput Send Events Mode Enabled Default (240):    0, 0
    Device Node (241):    "/dev/input/event3"
    Device Product ID (242):    8250, 65532
    libinput Drag Lock Buttons (263):    <no items>
    libinput Horizontal Scroll Enabled (264):    1
[galaxy@archlinux ~]$

So we are missing capabilities to actually fine tune the scrolling. You may try to use "evdev" driver that does support adjustments of the scroll speed, but still do not expect it to be on par with what you have on your macOS. :)
 
Back
Top