touch screen in browser not scrolling

Bug #1312376 reported by morlando
64
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Mozilla Firefox
New
Unknown
firefox (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Hi team,

I wanted to highlight a problem with my touch screen laptop not scrolling on touch. It doesn't grab and scroll but highlights the text in the browser.

Please feel free to ask for more information as I am more than happy to help!

thanks
Morlando

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. What Ubuntu version/desktop/webbrowser do you use? Is scrolling working in other applications?

Changed in unity-control-center (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
morlando (morland-chris) wrote :

Hi Sebastien,

I am running ubuntu 14.04 with unity.

I have tried it in Firefox and Chrome with the same scrolling issues. I then tried in Libre office to troubleshoot further and again it had issues. I haven't tried chromium but I will install and test if required.

It grabs and scrolls fine in Ubuntu software centre and file manager so it just appears to be the applications.

thanks
Morlando

Changed in unity-control-center (Ubuntu):
status: Incomplete → New
affects: unity-control-center (Ubuntu) → firefox (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in firefox (Ubuntu):
status: New → Confirmed
Revision history for this message
David Leung (dhkl) wrote :

I would like to add that the bug also affects Dell XPS 13 on 14.04.

I have tested chromium and it works just fine.

Revision history for this message
In , bjc (bjcatgm) wrote :

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160425114621

Steps to reproduce:

On linux in ubuntu 16.04 using firefox 46, drag does not work even with the new gtk3 changes.

My printenv includes MOZ_USE_XINPUT2=1 by adding it to /etc/environment and rebooting.

I've tried about:config dom.w3c_touch_events.enabled set at the default "2" and also changed it to "1"

Actual results:

Using my touch screen to touch and drag does not scroll the screen. It just hi-lights any content to select it.

Expected results:

The page should scroll up and down.

Revision history for this message
In , Karlt (karlt) wrote :

This depends on e10s AIUI.

Revision history for this message
In , Overholt-u (overholt-u) wrote :

Botond, do you know what's up here?

Revision history for this message
In , Botond-2 (botond-2) wrote :

Touch event support on GTK3 requires APZ, which in turns requires e10s. e10s is not yet on by default in Firefox 46.

I believe e10s can be turned on in 46 release by going to about:config and adding a pref named "browser.tabs.remote.force-enable", with the value set to true. However, please be aware that this is not a supported configuration.

Revision history for this message
In , Fabian-kessler-2 (fabian-kessler-2) wrote :

*** Bug 1302563 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Botond-2 (botond-2) wrote :

Note that e10s is now enabled by default in some configurations in Firefox 48. If you have e10s enabled and are running a GTK3 build of Firefox, adding MOZ_USE_XINPUT2=1 to your environment (until bug 1207700 is fixed) should be all that's necessary for touch-scrolling to work.

Revision history for this message
In , jigar (jigar-shah83) wrote :
Download full text (8.7 KiB)

@Botond in my config,e10s is not enabled

I am now on 16.10

Application Basics
------------------

Name: Firefox
Version: 49.0
Build ID: 20160928160550
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0
OS: Linux 4.8.0-22-generic
Multiprocess Windows: 0/1 (Disabled by add-ons)
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Extensions
----------

Name: Add to Amazon Wish List Button
Version: 1.10.1-signed.1-signed
Enabled: true
ID: <email address hidden>

Name: Add-on Compatibility Reporter
Version: 2.2.2
Enabled: true
ID: <email address hidden>

Name: Easy Youtube Video Downloader Express
Version: 9.10
Enabled: true
ID: {b9acf540-acba-11e1-8ccb-001fd0e08bd4}

Name: FoxClocks
Version: 4.2.3
Enabled: true
ID: {d37dc5d0-431d-44e5-8c91-49419370caa1}

Name: GDrive Panel
Version: 1.0.2.1-signed.1-signed
Enabled: true
ID: <email address hidden>

Name: GKeep Panel
Version: 1.0.1
Enabled: true
ID: <email address hidden>

Name: HistoryBlock
Version: 1.4.0.5.1-signed.1-signed
Enabled: true
ID: historyblock@kain

Name: HttpRequester
Version: 2.1.1-signed.1-signed
Enabled: true
ID: {ea4637dc-e014-4c17-9c2c-879322d23268}

Name: Integrated Google Calendar
Version: 1.5.1
Enabled: true
ID: <email address hidden>

Name: Jenkins Build Monitor
Version: 1.6.3.1-signed.1-signed
Enabled: true
ID: {33f32632-14bd-6211-fa3b-760976b5ee10}

Name: Multi-process staged rollout
Version: 1.2
Enabled: true
ID: <email address hidden>

Name: Pocket
Version: 1.0.4
Enabled: true
ID: <email address hidden>

Name: ProfileSwitcher
Version: 1.7.6.1
Enabled: true
ID: {fa8476cf-a98c-4e08-99b4-65a69cb4b7d4}

Name: Save Image in Folder
Version: 1.3.18
Enabled: true
ID: {5e594888-3e8e-47da-b2c6-b0b545112f84}

Name: Save-To-Read
Version: 0.4.2.1-signed.1-signed
Enabled: true
ID: <email address hidden>

Name: Saved Password Editor
Version: 2.10.1
Enabled: true
ID: <email address hidden>

Name: Screengrab (fix version)
Version: 0.99.06c
Enabled: true
ID: {02450914-cdd9-410f-b1da-db004e18c671}

Name: Session Manager
Version: 0.8.1.12
Enabled: true
ID: {1280606b-2510-4fe0-97ef-9b5a22eafe30}

Name: SetupVPN
Version: 2.1.4
Enabled: true
ID: @setupvpncom

Name: Show Parent Folder
Version: 2.1.1
Enabled: true
ID: showParentFolder@alice

Name: Tab Groups
Version: 2.0.1
Enabled: true
ID: tabgroups@quicksaver

Name: The Addon Bar (restored)
Version: 3.2.9-compat-fixed-4
Enabled: true
ID: the-addon-bar@GeekInTraining-GiT

Name: Tile Tabs
Version: 14.5
Enabled: true
ID: tiletabs@DW-dev

Name: Twitter App
Version: 48.1
Enabled: true
ID: {12b6fdcd-4423-4276-82a3-73fdbff5f7e4}

Name: uBlock Origin
Version: 1.9.12
Enabled: true
ID: <email address hidden>

Name: Ubuntu Modifications
Version: 3.2
Enabled: true
ID: <email address hidden>

Name: Web Compat
Version: 1.0
Enabled: true
ID: <email address hidden>

Name: WhatsApp Panel
Version: 1.1.1.1-signed.1-signed
Enabled: true
ID: <email address hidden>

Name: Amazon Assistant for Firefox
Version: 10.1610.8.120
Enabled: false
ID: <email address hidden>

Name: ChatZilla
Version: 0.9.92
Enabled: false
I...

Read more...

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to jigar shah from comment #6)
> @Botond in my config,e10s is not enabled

Yes, and your about:support explains why:

> Multiprocess Windows: 0/1 (Disabled by add-ons)

See [1] for more information about e10s and add-ons.

If you're confident that e10s doesn't break any of your add-ons (or if you don't care about potentially breaking some of your add-ons), you can force-enable e10s as described here [2].

[1] https://wiki.mozilla.org/E10s#Add-ons_Schedule
[2] https://wiki.mozilla.org/E10s#Force_Enable

Revision history for this message
In , jigar (jigar-shah83) wrote :

enabled. still touch inside content does not scroll. only way to scroll is to touch scroll-bar.

Application Basics
------------------

Name: Firefox
Version: 49.0
Build ID: 20160928160550
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0
OS: Linux 4.8.0-22-generic
Multiprocess Windows: 1/1 (Enabled by user)
Safe Mode: false

Revision history for this message
In , jigar (jigar-shah83) wrote :

Worked. Not smooth but working...

> Name: Firefox
> Version: 49.0
> Build ID: 20160928160550
> User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101
> Firefox/49.0
> OS: Linux 4.8.0-22-generic
> Multiprocess Windows: 1/1 (Enabled by user)
> Safe Mode: false

Revision history for this message
In , Shu Hung (Koala) (koalay) wrote :

You need to run Firefox with MOZ_USE_XINPUT2=1.

To enable that every time you can:
1. "cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop".
2. Open "~/.local/share/applications/firefox.desktop" with text editor.
3. Modify the line "Exec" to add "env MOZ_USE_XINPUT2=1" in front of "firefox".
4. Save it then reload GNOME (e.g. logout then login).
5. Open firefox again.

If you have e10s enabled, drag and scroll should be working.

Revision history for this message
In , U592462 (u592462) wrote :

I added "export MOZ_USE_XINPUT2=1" to ~/.bashrc, enabled e10s (Multiprocess Windows 1/1 (Enabled by user)) but still no scrolling :(
Firefox 52.0.1

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to Marzanna from comment #11)
> I added "export MOZ_USE_XINPUT2=1" to ~/.bashrc, enabled e10s (Multiprocess
> Windows 1/1 (Enabled by user)) but still no scrolling :(
> Firefox 52.0.1

What does your about:support say under "Asynchronous Pan/Zoom" (in the Graphics section)?

Revision history for this message
In , U592462 (u592462) wrote :

(In reply to Botond Ballo [:botond] from comment #12)
> (In reply to Marzanna from comment #11)
> What does your about:support say under "Asynchronous Pan/Zoom" (in the
> Graphics section)?

Asynchronous Pan/Zoom wheel input enabled; touch input enabled

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to Marzanna from comment #13)
> (In reply to Botond Ballo [:botond] from comment #12)
> > (In reply to Marzanna from comment #11)
> > What does your about:support say under "Asynchronous Pan/Zoom" (in the
> > Graphics section)?
>
> Asynchronous Pan/Zoom wheel input enabled; touch input enabled

Thanks. One more question: could you post the "Configure options" from about:buildconfig? I just want to verify that you're running a GTK3 build, since touch event support requires GTK3.

Revision history for this message
In , Matt-weiss (matt-weiss) wrote :

I'm running into a similar issue as well; running on Fedora 25. I can provide information about my system as well if it will help debug.

Revision history for this message
In , U592462 (u592462) wrote :

(In reply to Botond Ballo [:botond] from comment #14)
> Thanks. One more question: could you post the "Configure options" from
> about:buildconfig? I just want to verify that you're running a GTK3 build,
> since touch event support requires GTK3.

Configure options

--host=x86_64-linux-gnu --enable-application=browser --enable-update-channel=release --with-l10n-base=/build/firefox-Y5qa6J/firefox-52.0.1+build2/./l10n --with-google-api-keyfile=/build/firefox-Y5qa6J/firefox-52.0.1+build2/debian/ga MAKE=/usr/bin/make --enable-crashreporter --disable-elf-hack --enable-gio --disable-install-strip --enable-official-branding --enable-optimize --enable-release --enable-startup-notification --disable-updater --prefix=/usr --with-distribution-id=com.ubuntu

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to Marzanna from comment #16)
> Configure options
>
> --host=x86_64-linux-gnu --enable-application=browser
> --enable-update-channel=release
> --with-l10n-base=/build/firefox-Y5qa6J/firefox-52.0.1+build2/./l10n
> --with-google-api-keyfile=/build/firefox-Y5qa6J/firefox-52.0.1+build2/debian/
> ga MAKE=/usr/bin/make --enable-crashreporter --disable-elf-hack --enable-gio
> --disable-install-strip --enable-official-branding --enable-optimize
> --enable-release --enable-startup-notification --disable-updater
> --prefix=/usr --with-distribution-id=com.ubuntu

I'm not seeing "--enable-default-toolkit=cairo-gtk3" in your configure flags, which I guess means you're not using a GTK3 build.

Are you using an official build of Firefox (downloaded from [1])? If not, where did you get your Firefox build from?

[1] https://www.mozilla.org/en-US/firefox/new/

Revision history for this message
In , U592462 (u592462) wrote :

(In reply to Botond Ballo [:botond] from comment #17)
> I'm not seeing "--enable-default-toolkit=cairo-gtk3" in your configure
> flags, which I guess means you're not using a GTK3 build.
>
> Are you using an official build of Firefox (downloaded from [1])? If not,
> where did you get your Firefox build from?
>
> [1] https://www.mozilla.org/en-US/firefox/new/

I'm using firefox (from official repos) on Ubuntu 17.04. AFAIK it should be compiled with gtk3 support.

Revision history for this message
In , Ehsan-mozilla (ehsan-mozilla) wrote :

FWIW I get the same issue with the mozilla.org Nightly builds also.

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to :Ehsan Akhgari (super long backlog, slow to respond) from comment #19)
> FWIW I get the same issue with the mozilla.org Nightly builds also.

Talked to Ehsan abut this. He wasn't setting MOZ_USE_XINPUT2=1. When that's set it works for him.

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to Marzanna from comment #18)
> I'm using firefox (from official repos) on Ubuntu 17.04. AFAIK it should be
> compiled with gtk3 support.

You're right, the Ubuntu 17.04 Firefox package is linked against GTK3.

Could you try a Nightly build from here [1], and see if it works, and if it doesn't, can you post what the Nightly build says in about:support under "Asynchronous Pan/Zoom"? (I ask because in Firefox >= 53, we changed the way touch support is reported there to be more accurate (bug 1282306), and that may give us more information.)

[1] https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly

Revision history for this message
In , Hiwatari-seiji (hiwatari-seiji) wrote :

(In reply to Botond Ballo [:botond] from comment #21)
> Could you try a Nightly build from here [1], and see if it works, and if it
> doesn't, can you post what the Nightly build says in about:support under
> "Asynchronous Pan/Zoom"? (I ask because in Firefox >= 53, we changed the way
> touch support is reported there to be more accurate (bug 1282306), and that
> may give us more information.)

I have the same problem as Marzanna (I'm however, on OpenSUSE Tumbleweed).
My touch device is a "Wacom ISDv4 101" in a Fujitsu Lifebook T902.

Most of the tested stuff was the same for me, just my build configuration looks different (it has the gtk3 flag)

I just downloaded a nightly build (56.0a1) and started it with MOZ_USE_XINPUT2=1.
The APZ-Line in about:support now states: "wheel input enabled; touch input enabled; scrollbar drag enabled"
Neither 1, nor 2 for dom.w3c_touch_events.enabled makes it work for me.

Revision history for this message
In , Kats-u (kats-u) wrote :

Do you know if touch support works for you in other applications? From googling it seems like at least some people are having trouble getting this touch device to actually produce touch events in any application.

Revision history for this message
In , Hiwatari-seiji (hiwatari-seiji) wrote :

Touch seems to work in Chromium (scrolling and swiping), as well as Xournal.

Additionally, in Chromium I tried:
document.addEventListener('touchstart', ...);
which worked and only fired when I used my finger as input.

But I can't tell you how exactly they implemented this, since, in a very short attempt, I was not able to get one of the touch demo applications of Qt to work.

The driver detects the device as 3 inputs:
- Pen
- Eraser
- Finger touch
in /dev/input, there is a mouse{X} file that only outputs data when the finger touches the screen. (And a second file for pen + eraser).

xinput list-props for the registered touch input brings the following output:

Device 'Wacom ISDv4 101 Finger touch':
 Device Enabled (139): 1
 Coordinate Transformation Matrix (141): 0.555556, 0.000000, 0.000000, 0.000000, 0.878906, 0.000000, 0.000000, 0.000000, 1.000000
 Device Accel Profile (292): 0
 Device Accel Constant Deceleration (293): 1.000000
 Device Accel Adaptive Deceleration (294): 1.000000
 Device Accel Velocity Scaling (295): 10.000000
 Device Node (288): "/dev/input/event17"
 Wacom Tablet Area (389): 0, 0, 2958, 1673
 Wacom Rotation (390): 0
 Wacom Pressurecurve (391): 0, 0, 100, 100
 Wacom Serial IDs (392): 257, 1, 3, 0, 0
 Wacom Serial ID binding (393): 0
 Wacom Pressure Threshold (394): 0
 Wacom Sample and Suppress (395): 2, 4
 Wacom Enable Touch (396): 1
 Wacom Enable Touch Gesture (398): 1
 Wacom Touch Gesture Parameters (399): 129, 57, 250
 Wacom Tool Type (400): "TOUCH" (409)
 Wacom Button Actions (401): "Wacom button action 0" (402), "Wacom button action 1" (403), "Wacom button action 2" (404)
 Wacom button action 0 (402): 1572865
 Wacom button action 1 (403): 1572866
 Wacom button action 2 (404): 1572867
 Device Product ID (289): 1386, 257
 Wacom Log Mask (406): 0
 Wacom Debug Levels (407): 0, 0

That's as much information as I can give you.
If you have any other idea how I could debug this for you, please let me know.

Revision history for this message
In , Botond-2 (botond-2) wrote :

Karl, do you have any suggestions for how we could investigate this further, short of acquiring a device of the model in question and debugging each of Chromium and Firefox to see how they come to differ in behaviour?

Revision history for this message
In , Karlt (karlt) wrote :

I suggest starting with gtk3-demo. Double click on Gestures and try playing
with that.

Interesting that even the Qt demo didn't work for hiwatari.seiji.
Might be worth checking the device sends core events with "xinput list".
But if it is generating other mouse events, then I guess it is.

Botond, if you are keen to debug Firefox remotely, then adding logging to
nsWindow::OnTouchEvent() for MOZ_LOG=Widget:5 may provide some initial clues.

It may be possible to use https://xtrace.alioth.debian.org/ to log X Events,
but I haven't checked whether that has support for details of XInput2 events.
Even if it doesn't show details, it may still be possible to observe whether
there are any XInput2 events at all. These logs tend to be rather large.

xinput test-xi2 <device id> may be a simpler way to get some info about what
the device is doing. I don't know whether or not this will contain helpful
info.

Beware that there are known problems either with the design of XInput 2 or
GDK's interpretation of the events, as tracked in the dependencies of bug
1207700
.

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to hiwatari.seiji from comment #24)
> If you have any other idea how I could debug this for you, please let me
> know.

You could try the following suggestions from Karl:

(In reply to Karl Tomlinson (:karlt) from comment #26)
> I suggest starting with gtk3-demo. Double click on Gestures and try playing
> with that.

Steps for this would be something like:

  1. Install 'gtk3-demo' program. On Debian, it's found in the
     'gtk-3-examples' package.
  2. Run gtk3-demo
  3. Switch to the "Gestures" page
  4. Click "Run"
  5. In the window that opens up, perform some touch gestures,
     and see if the window reacts to it in any way. For me,
     a one-finger drag results in a line being drawn, and a
     two-finger gesture results in a square being shown.

> xinput test-xi2 <device id> may be a simpler way to get some info about what
> the device is doing. I don't know whether or not this will contain helpful
> info.

Steps for this:

  1. Install the 'xinput' program. On Debian, it's found in the
     'xinput' package.
  2. Run 'xinput --list' to see a list of your devices, and note
     the device ID for your touch device.
  3. Run 'xinput --test-xi2 <id>', where <id> is the id from the
     previous step.
  4. Perform some touch gestures, and paste the output of the
     command.

Revision history for this message
In , Hiwatari-seiji (hiwatari-seiji) wrote :

On paper, the touch device in my notebook should be multi-touch. Unfortunately, only single touch gestures worked.
Just for fun, I disabled the "Gesture" option with xsetwacom for the device in question.
Suddenly, the multi-touch gestures started to work as well (in gtk3-demo, as well as chromium). nice ;)
(No change for Firefox)

The output of the 'xinput --test-xi2' command : https://pastebin.com/gB5B9PgN

Revision history for this message
In , spiffytech (spiffytech) wrote :

I'm experiencing this this on Fedora on my XPS 13 9365. gtk3-demo correctly registers touch gestures. Here's my xinput: output https://pastebin.com/AJmpSKpd

Revision history for this message
In , rainer (r41n3r) wrote :

As touchscreen support seems to work with the environment variable, when can we expect this to work out of the box? In Firefox nightly 61 this is still not supported by default. The bug is open since a long time and it is not clear to me why it is not addressed for Linux.

Revision history for this message
In , Botond-2 (botond-2) wrote :

(In reply to rainer from comment #30)
> As touchscreen support seems to work with the environment variable, when can
> we expect this to work out of the box? In Firefox nightly 61 this is still
> not supported by default. The bug is open since a long time and it is not
> clear to me why it is not addressed for Linux.

XInput2 is not enabled by default because it causes other side effects that are undesirable - see bug 1207700 and its dependent bugs. Those bugs need to be fixed before XInput2 can be enabled by default.

summary: - touch screen in browser not scrolling sony vaio SVF15A1M2ES
+ touch screen in browser not scrolling
Changed in firefox:
importance: Unknown → Medium
status: Unknown → New
Revision history for this message
In , Kats-u (kats-u) wrote :

Bug 1207700 landed and xinput2 should be enabled by default now.

Revision history for this message
In , Fabian-kessler-2 (fabian-kessler-2) wrote :

As this issue is about Ubuntu 16.04 and #1207700 addresses gtk-3.24 only. xinput2 won't be enabled by default until Ubuntu 19.04

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sounds like this is fixed by the same change as bug 1697122.

Changed in firefox (Ubuntu):
status: Confirmed → Fix Committed
tags: added: fixed-in-81 fixed-upstream
Changed in firefox (Ubuntu):
status: Fix Committed → Confirmed
tags: removed: fixed-in-81 fixed-upstream
tags: added: groovy
Revision history for this message
Compiler (pranav.bhattarai) wrote :

I just got the update of Firefox (i.e 82.0.3) and the problem/issue is resolved/solved.
Thanks a lot, Daniel.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That's strange because it doesn't appear Firefox has actually fixed anything yet...

https://bugzilla.mozilla.org/show_bug.cgi?id=1207700

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although if you are using either of the environment variables:

MOZ_USE_XINPUT2=1 for Xorg and possibly for Xwayland, or
MOZ_ENABLE_WAYLAND=1 for Wayland

then that should avoid the problem even without a fix being released.

Changed in firefox:
importance: Medium → Unknown
tags: removed: groovy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.