Scrolling does not work with Elantech Touchpad/Trackpoint and e10s enabled

UNCONFIRMED
Unassigned

Status

()

defect
P3
normal
UNCONFIRMED
3 years ago
7 months ago

People

(Reporter: huemob, Unassigned)

Tracking

({regression, regressionwindow-wanted})

49 Branch
x86_64
Windows 7
Points:
---

Firefox Tracking Flags

(firefox49- wontfix, firefox50+ wontfix, firefox51+ wontfix, firefox52- fix-optional, firefox53+ fix-optional, firefox54+ fix-optional, firefox55 wontfix, firefox56 wontfix, firefox57 fix-optional)

Details

(Whiteboard: tpi:+)

Attachments

(2 attachments)

2.25 KB, text/plain
Details
20.26 KB, text/plain
Details
Reporter

Description

3 years ago
Problem: Scrolling with Touchpad or Trackpoint does not work
Steps to reproduce:
1) Configuration: Firefox 49.0.1, 64-bit. Windows 7, 64-bit. Thinkpad L430, Elantech driver 11.4.30.3 (latest for this machine)
2) Scroll on a website using the touchpad or trackpoint
3) Scrolling does not work

e10s was enabled by default. Disabled e10s by setting browser.tabs.remote.autostart.2 to false. This solved the problem, scrolling works again now. 
Touchpad gestures (back/forward) work regardless of e10s setting.

Updated

3 years ago
Component: General → Panning and Zooming
Product: Firefox → Core
Can you check if it works with e10s enabled but layers.async-pan-zoom.enabled set to false?
Flags: needinfo?(huemob)
Reporter

Comment 2

3 years ago
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #1)
> Can you check if it works with e10s enabled but
> layers.async-pan-zoom.enabled set to false?

I just checked. Unfortunately, it doesn't work.
(I set layers.async-pan-zoom.enabled to false and browser.tabs.remote.autostart.2 to true)
Flags: needinfo?(huemob)
Thanks. Also, just to confirm, did you restart the browser after the pref flips?
[Tracking Requested - why for this release]: regression in 49, with e10s enabled.

It looks like there's a bunch of windows-specific magic dealing with Elantech drivers, so there's some precendent for wonky behaviour here, and it's quite possible some of that stuff is broken in e10s.
Component: Panning and Zooming → Widget: Win32
See Also: → 593372
Reporter

Comment 5

3 years ago
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #3)
> Thanks. Also, just to confirm, did you restart the browser after the pref
> flips?

Yes, I did. I turned it back now, works again.
Is there anything else I could try?
(In reply to huemob from comment #5)
> Is there anything else I could try?

I'm not really sure, but looking through the prefs relating to this, I'd suggest trying ui.trackpoint_hack.enabled and ui.elantech_gesture_hacks.enabled - try them individually, set to both 0 and 1 and see if any combination of those makes any difference.
Masayuki, do you have any elantech hardware available for testing?
Flags: needinfo?(masayuki)
Hi Florin, can your team help with looking into some of these prefs and their effects on relevant hardware configuration? Tracked for 50+
Flags: needinfo?(florin.mezei)
No, I don't, unfortunately.

The behavior of wheel message handling code can be logged with following env:

MOZ_LOG_FILE=~/fx.log
MOZ_LOG=MouseScrollHandlerWidgets:3

Although, I have no idea how do it work only in non-e10s mode but not so in e10s mode...
Flags: needinfo?(masayuki)
Ah, with 49, the env names are perpahs:

MOZ_LOG_FILE -> NSPR_LOG_FILE
MOZ_LOG -> NSPR_LOG_MODULES
Moving to Andrei/Cornel to see when we have some time to investigate this. Also CC'ing Petruta who tested scrolling.
Flags: needinfo?(florin.mezei)
Flags: needinfo?(cornel.ionce)
Flags: needinfo?(andrei.vaida)
Wontfix for 49 since we have a workaround (disabling e10s)
I have looked into this issue but, unfortunately, do not have devices with the "Elantech" touchpad/touchpoint available to test this. If there is anything else I can help with please ni? me.
Flags: needinfo?(cornel.ionce)
Flags: needinfo?(andrei.vaida)
Tracy - could you please try to find hardware with an elantech touchpad to test here? The original poster detailed a lenovo laptop (ThinkPad L460). Maybe we should purchase one of those although I'm sure somewhere within Mozilla someone owns a thinkpad with an elantech pad. We need to make sure that the device has the right touchpad in it, since pc vendors might source these components from multiple vendors.

http://shop.lenovo.com/us/en/laptops/thinkpad/l-series/
http://www.emc.com.tw/eng/tpn_sp_fun.asp
Flags: needinfo?(twalker)
I have Gigabyte P34G, which has elantech touchpad. Scrolling with the touchpad works. I am on Windows 10 and the driver version is 10.15.0.18.
(In reply to Cervantes Yu [:cyu] [:cervantes] from comment #15)
> I have Gigabyte P34G, which has elantech touchpad. Scrolling with the
> touchpad works. I am on Windows 10 and the driver version is 10.15.0.18.

Thanks for the report. Curious, are you testing 64-bit Firefox?
Flags: needinfo?(cyu)
I tried 32-bit and 64-bit versions. Both works well.
Flags: needinfo?(cyu)
It's probably too late to fix this in 50 at this point.
(In reply to Cervantes Yu [:cyu] [:cervantes] from comment #15)
> I have Gigabyte P34G, which has elantech touchpad. Scrolling with the
> touchpad works. I am on Windows 10 and the driver version is 10.15.0.18.

Hmm, reporter says this happens with driver version 11.4.30.3. Could their driver upgrade have regressed us? cyu, would you be willing to update the Elantech driver?

I'm not having any luck tracking down a machine with this touchpad in it.  It's not like touchpad type and driver are advertised in the specifications. as such, cyu, any help reproducing this would be appreciated.
Flags: needinfo?(twalker)
One report here, and we haven't been able to reproduce. Can't act on this currently.

Updated

3 years ago
Priority: -- → P2
Whiteboard: tpi:+
(In reply to Tracy Walker [:tracy] from comment #19)
> (In reply to Cervantes Yu [:cyu] [:cervantes] from comment #15)
> > I have Gigabyte P34G, which has elantech touchpad. Scrolling with the
> > touchpad works. I am on Windows 10 and the driver version is 10.15.0.18.
> 
Sorry it's a typo. My driver version is 11.15.0.18. I tried to downgrade the driver to 10.0.14393.0 provided by Microsoft (this is the only version that I can downgrade to), but the touchpad is recognized as a PS/2 compatible mouse and loses the scrolling capability in all applications. I don't have the reported version to downgrade to. I think it's only provided by Lenovo.
Unable to reproduce the issue and there are no actions for the moment. Mark 51 as fix-optional.

Comment 23

3 years ago
I have a somewhat similar issue, although not exactly the same.
I have a Thinkpad Yoga 14 (20FY) with 64-bit Windows 7, 32-bit Firefox 50.1.0 and Elan pointing device driver 11.21.2.2

Scrolling works on most webpages, but in some cases it fails (both the trackpoint and the touchpad):
-there are pages where it never works -- for example, about:config, and projects on overleaf.com
-there are pages where it sometimes works, sometimes doesn't (unclear when) -- for example, this very bugzilla page, or gmail's inbox

Enabling or disabling e10s doesn't seem to have any effect.
Seems like we really need to get a machine that reproduces in the hands of someone who can debug more.
(In reply to Ryan VanderMeulen [:RyanVM] from comment #24)
> Seems like we really need to get a machine that reproduces in the hands of
> someone who can debug more.

I am inclined not to track for 53 until someone has a machine, and I don't know if anyone is attempting to get one any time soon.

Comment 26

2 years ago
I found another issue that consistently happens on my computer: I can't scroll the tabs bar. If I try, I'll only get to scroll the page in the current tab.
Curiously, pinch zoom on the touchpad does work on the tabs bar as scrolling. (it also scrolls the about:config list that I mentioned above)

Again, I'm not sure this is the same issue as what the original poster had. Perhaps I should open a new bug for it?

In any case, I'm the kind of person who keeps 100 tabs open, so this is extremely annoying for me. I'd be happy to debug it if someone could explain how to do that.
I'm guessing the touchpad is somehow sending nonstandard signals (everything works perfectly with an external mouse)
(In reply to kdano from comment #26)
> Again, I'm not sure this is the same issue as what the original poster had.
> Perhaps I should open a new bug for it?

Although, the version of driver is different but both are reported with Elantech's driver. So, I guess that you and the reporter meet same bug.

> In any case, I'm the kind of person who keeps 100 tabs open, so this is
> extremely annoying for me. I'd be happy to debug it if someone could explain
> how to do that.

You can get a log of our mouse wheel message handler for Windows with the way of comment 9. Please be careful, a lot of messages may be fired when you turn wheel a lot. So, just launch Firefox and turn wheel a little, then, close Firefox when you log the behavior.

And I'd like to know what events are fired on attachment 589763 [details].

Comment 28

2 years ago
Posted file fx.log
Here is the log. I cleaned it up to remove redundancies. These were the only four different messages I could produce.

As for attachment 589763 [details], nothing happens there when I use the touchpad only (or the trackpoint). And I can only scroll the bottom left box if I click in it first.
(In fact, I was confused about what I was supposed to do with this attachment until I tried an external mouse on it and all sorts of things started appearing in the box on the right.)

Comment 29

2 years ago
Posted file fx2.log
I don't know if it's any use, but I also logged pinch zoom for scrolling.

Pinch zoom also produces some text in the box in attachment 589763 [details]. It looks like this:

type: "MozMousePixelScroll"
target: <DIV> axis: 2 detail: -40 screenX: 181 screenY: 355 clientX: 148 clientY: 282 altKey: false ctrlKey: true shiftKey: false metaKey: false
type: "DOMMouseScroll"
target: <DIV> axis: 2 detail: -2 screenX: 181 screenY: 355 clientX: 148 clientY: 282 altKey: false ctrlKey: true shiftKey: false metaKey: false
type: "wheel"
target: <DIV> detail: 0 deltaX: 0 deltaY: -2 deltaZ: 0 deltaMode: 1 button: 0 buttons: 0 relatedTarget: null screenX: 181 screenY: 355 clientX: 148 clientY: 282 altKey: false ctrlKey: true shiftKey: false metaKey: false
Marking fix-optional for 53, but we could still take a patch for 54/55.
Mark 54 fix-optional but still happy to have the fix in 54.
Oh, sorry for miscatching the log attachment.

(In reply to kdano from comment #28)
> As for attachment 589763 [details], nothing happens there when I use the
> touchpad only (or the trackpoint). And I can only scroll the bottom left box
> if I click in it first.
> (In fact, I was confused about what I was supposed to do with this
> attachment until I tried an external mouse on it and all sorts of things
> started appearing in the box on the right.)

Oh, this is really legacy behavior. The touchpad driver generates WM_VSCROLL and WM_HSCROLL. These messages are generated when scrollbar is operated in native applications. So, Gecko treat them as scroll message of focused element.

We already have a hack for such driver. Set "mousewheel.emulate_at_wm_scroll" to true from about:config. Then, these messages are handled as WM_MOUSEWHEEL and WM_MOUSEHWHEEL which should be used by touchpad driver.

Should we enable the hack if we detect the driver version??

(In reply to kdano from comment #29)
> Created attachment 8836421 [details]
> fx2.log
>
> Pinch zoom also produces some text in the box in attachment 589763 [details]

Looks like the driver emulates ctrl+wheel operation. Even with usual pointing device, Ctrl+Wheel on tabbar scrolls itself. I think that this isn't a problem but indeed, "pinch" causes scroll sounds odd. It might be better to ignore zoom operation in <scrollbox>.

Comment 33

2 years ago
(In reply to Masayuki Nakano [:masayuki] from comment #32)

> We already have a hack for such driver. Set
> "mousewheel.emulate_at_wm_scroll" to true from about:config. Then, these
> messages are handled as WM_MOUSEWHEEL and WM_MOUSEHWHEEL which should be
> used by touchpad driver.

this did the trick, thank you!
Moving to p3 because no activity for at least 1 year(s).
See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.