Open Bug 1268599 Opened 8 years ago Updated 2 years ago

touch screen drag and scroll on linux does not work even with gtk3 in ubuntu 16.04

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

46 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: bjcatgm, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Whiteboard: btpp-followup-2016-05-10)

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.
Blocks: gtk3
Component: Untriaged → Widget: Gtk
Product: Firefox → Core
This depends on e10s AIUI.
Component: Widget: Gtk → Event Handling
Depends on: 1207700
Botond, do you know what's up here?
Flags: needinfo?(botond)
Whiteboard: btpp-followup-2016-05-10
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.
Flags: needinfo?(botond)
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.
@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: amznUWL2@amazon.com

Name: Add-on Compatibility Reporter
Version: 2.2.2
Enabled: true
ID: compatibility@addons.mozilla.org

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: gdrivepanel@alejandrobrizuela.com.ar

Name: GKeep Panel
Version: 1.0.1
Enabled: true
ID: gkeeppanel@alejandrobrizuela.com.ar

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: intgcal@egarracingteam.com.ar

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: e10srollout@mozilla.org

Name: Pocket
Version: 1.0.4
Enabled: true
ID: firefox@getpocket.com

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: save2read@konstantin.plotnikov

Name: Saved Password Editor
Version: 2.10.1
Enabled: true
ID: savedpasswordeditor@daniel.dawson

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: uBlock0@raymondhill.net

Name: Ubuntu Modifications
Version: 3.2
Enabled: true
ID: ubufox@ubuntu.com

Name: Web Compat
Version: 1.0
Enabled: true
ID: webcompat@mozilla.org

Name: WhatsApp Panel
Version: 1.1.1.1-signed.1-signed
Enabled: true
ID: whatsapppanel@alejandrobrizuela.com.ar

Name: Amazon Assistant for Firefox
Version: 10.1610.8.120
Enabled: false
ID: abb@amazon.com

Name: ChatZilla
Version: 0.9.92
Enabled: false
ID: {59c81df5-4b7a-477b-912d-4e0fdf64e5f2}

Name: Firebug
Version: 2.0.18
Enabled: false
ID: firebug@software.joehewitt.com

Name: FireFTP
Version: 2.0.28
Enabled: false
ID: {a7c6cf7f-112c-4500-a7ea-39801a327e5f}

Name: FoxyProxy Standard
Version: 4.5.7
Enabled: false
ID: foxyproxy@eric.h.jung

Name: Google Translator for Firefox
Version: 2.1.0.5.1.1-signed
Enabled: false
ID: translator@zoli.bod

Name: Google™ Translator Lite
Version: 0.2.6
Enabled: false
ID: jid1-f3mYMbCpz2AZYl@jetpack

Name: Greasemonkey
Version: 3.9
Enabled: false
ID: {e4a8a97b-f2ed-450b-b12d-ee082ba24781}

Name: ImTranslator
Version: 10.29
Enabled: false
ID: {9AA46F4F-4DC7-4c06-97AF-5035170634FE}

Name: Inbox™ Notifications
Version: 0.0.3
Enabled: false
ID: @inbox-notifications

Name: Language Pack Install Helper
Version: 2.6
Enabled: false
ID: jid0-3qAYz7se7F3gEIA63LjbuEaPEDk@jetpack

Name: Locale Switcher
Version: 3.1-signed.1-signed
Enabled: false
ID: {338e0b96-2285-4424-b4c8-e25560750fa3}

Name: Modify Headers
Version: 0.7.1.1.1-signed.1-signed
Enabled: false
ID: {b749fc7c-e949-447f-926c-3f4eed6accfe}

Name: Pencil Prototyping
Version: 2.0.18.20160314
Enabled: false
ID: pencil@prikhi.github.io

Name: QuickFox Notes
Version: 2.8.6
Enabled: false
ID: amin.eft_bmnotes@gmail.com

Name: Rapportive
Version: 1.4.0.1.1-signed.1-signed
Enabled: false
ID: rapportive@rapportive.com

Name: ReloadEvery
Version: 45.0.0
Enabled: false
ID: {888d99e7-e8b5-46a3-851e-1ec45da1e644}

Name: RightToClick
Version: 2.9.6
Enabled: false
ID: {cd617375-6743-4ee8-bac4-fbf10f35729e}

Name: ScrapBook
Version: 1.5.14
Enabled: false
ID: {53A03D43-5363-4669-8190-99061B2DEBA5}

Name: Test Pilot
Version: 1.2.3.8
Enabled: false
ID: testpilot@labs.mozilla.com

Name: Torrent Tornado
Version: 2.17
Enabled: false
ID: s3torrent@tornado

Name: webcompat.com reporter
Version: 0.4
Enabled: false
ID: jid1-mjpB54bRzP9Zxw@jetpack

Graphics
--------

Features
Compositing: Basic
Asynchronous Pan/Zoom: none
WebGL Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5300 (Broadwell GT2)
Hardware H264 Decoding: No
GPU #1
Active: Yes
Description: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5300 (Broadwell GT2)
Vendor ID: Intel Open Source Technology Center
Device ID: Mesa DRI Intel(R) HD Graphics 5300 (Broadwell GT2)
Driver Version: 3.0 Mesa 12.0.3

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: none
CairoUseXRender: 0
Decision Log
HW_COMPOSITING:
blocked by default: Acceleration blocked by platform




Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 2
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20160928160550
browser.startup.homepage: resource://activity-streams/data/content/activity-streams.html#/
browser.startup.homepage_override.buildID: 20160928160550
browser.startup.homepage_override.mstone: 49.0
browser.tabs.remote.autostart.2: true
browser.tabs.warnOnClose: false
browser.urlbar.maxRichResults: 12
browser.urlbar.suggest.searches: true
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.apps.lastUpdate.buildID: 20160928160550
dom.apps.lastUpdate.mstone: 49.0
dom.apps.reset-permissions: true
dom.mozApps.used: true
dom.push.userAgentID: c388bbf65bdb48259762c0cfcb9f1bd4
extensions.lastAppVersion: 49.0
font.internaluseonly.changed: false
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1476803951
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20160928160550
media.gmp-manager.lastCheck: 1476946877
media.gmp.storage.version.observed: 1
network.cookie.prefsMigrated: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.prefetch-next: false
network.protocol-handler.app.picasa: /usr/bin/picasa
network.protocol-handler.external.picasa: true
places.database.lastMaintenance: 1476949536
places.history.expiration.transient_current_max_pages: 98155
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
security.tls.version.min: 0
services.sync.declinedEngines:
services.sync.engine.greasemonkey: true
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1476874946
services.sync.lastSync: Thu Oct 20 2016 10:07:28 GMT+0200 (CEST)
services.sync.numClients: 7
storage.vacuum.last.index: 0
storage.vacuum.last.places.sqlite: 1476949535

user.js Preferences
-------------------

Your profile folder contains a user.js file, which includes preferences that were not created by Firefox.

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.12
Version in use: 4.12

NSS
Expected minimum version: 3.25
Version in use: 3.25

NSSSMIME
Expected minimum version: 3.25
Version in use: 3.25

NSSSSL
Expected minimum version: 3.25
Version in use: 3.25

NSSUTIL
Expected minimum version: 3.25
Version in use: 3.25

Experimental Features
---------------------

Sandbox
-------

Seccomp-BPF (System Call Filtering): true
Seccomp Thread Synchronization: true
User Namespaces: true
Media Plugin Sandboxing: true
(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
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
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
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.
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
(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)?
(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
(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.
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.
(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
(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/
(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.
FWIW I get the same issue with the mozilla.org Nightly builds also.
(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.
(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
(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.
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.
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.
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?
Flags: needinfo?(karlt)
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.
Flags: needinfo?(karlt)
(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.
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
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
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.
(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.
Component: Event Handling → User events and focus handling

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

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

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.