Support multitouch on X11/Linux

RESOLVED WORKSFORME

Status

()

RESOLVED WORKSFORME
7 years ago
8 months ago

People

(Reporter: BenB, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

7 years ago
Bug 508906 apparently added generic DOM API for multitouch, but Win7 support only.

X11 is getting multitouch support. Once they land (current hope is X server 1.12 = Xorg 7.7), Firefox can support multitouch on Linux.

http://wiki.x.org/wiki/Development/Documentation/Multitouch
http://who-t.blogspot.com/2011/12/multitouch-patches-posted.html
(Reporter)

Comment 1

7 years ago
To End Users:
This is only about *multi*touch, i.e. several fingers at the same time, e.g. for zoom. *Touch* and touch gestures can already be supported without this, see e.g. <https://addons.mozilla.org/en-US/firefox/addon/grab-and-drag/> or other projects, just google "Firefox touch" or "Firefox gestures".

Please don't post end-user discussion or topic here, please do that elsewhere. This is an engineering bug. You're welcome to vote for it, though, if you want.

Comment 2

7 years ago
The life story of the XInput multitouch extension:
https://lwn.net/Articles/485484/

Updated

6 years ago
Blocks: 760442

Comment 3

6 years ago
Would you know the status on this here? I can put some cycles to at least testcases or demos for linux on multi-touch, now with Linux. This was one of quick multi finger app I did using Felipe Gomes early work in Firefox ( bug 508906 ) http://www.mgalli.com/development/drawing/demoapp.html and still works with Windows. I also think we need to know how to simulate touch events from the X level so we do not have to buy a device
Just guessing GTK3 will be necessary for toolkit support for XInput 2.2.
I expect it would be possible to filter X Events even with GTK2, but likely more work.
Depends on: 627699

Comment 5

6 years ago
Would writing to GTK+3 instead of X directly also provide a smooth transition to Wayland? If so, that would be highly favorable.
(In reply to scientes from comment #5)
> Would writing to GTK+3 instead of X directly also provide a smooth
> transition to Wayland?

Yes, it should do.

Comment 7

6 years ago
(In reply to Ben Bucksch (:BenB) from comment #1)
> This is only about *multi*touch, i.e. several fingers at the same time, e.g.
> for zoom. *Touch* and touch gestures can already be supported without this,
> see e.g. <https://addons.mozilla.org/en-US/firefox/addon/grab-and-drag/> or
> other projects, just google "Firefox touch" or "Firefox gestures".

This is technically true, but scrolling performance with grab-and-drag is terrible and native support is required for non-Firefox Gecko apps.  I assume a proper multi-touch implementation would solve both of these problems?
Depends on: 943407
No longer depends on: 943407

Updated

5 years ago
Depends on: 978679

Updated

4 years ago
Depends on: 1034064

Updated

4 years ago
No longer depends on: 1034064

Comment 8

3 years ago
Currently using Ubuntu and touch events, gestures etc aren't working in Firefox (developer edition 41.0a2) which I assume is related to this bug. The touch screen is essentially just a mouse when using Firefox. I've tried the suggested add-on with limited success (it interferes with normal page interaction) and voted for this bug.

I'm mainly curious as to whether there has been any progress or changes related to this bug since the last comment.

Comment 9

3 years ago
Firefox+Grab-And-Drag+Fedora+ThinkPad-Yoga works pretty horribly (no scrolling/momentum, etc). Can a dev please post which bug is responsible for enabling a Linux touch experience comparable to Firefox on Android? Thanks.
Bug 978679 tracks the main work for implementing multi-touch support in Firefox on GTK3.

Of course, this also depends on moving from GTK2 to GTK3.  Firefox Nightly has already switched to GTK3, and other channels should follow soon-ish.  Bug 627699 tracks the overall GTK3 upgrade.

Lastly, we need to enable Async Pan/Zoom (APZ) on desktop Firefox in order to make multi-touch scrolling and zooming work as smoothly as it does in mobile Firefox.  Bug 1013364 tracks the work required to enable APZ in desktop Firefox.

Comment 11

3 years ago
I see this issue is only about multitouch, but what about single-touch systems? I currently use "Grab & Drag", but it isn't maintained and I thing it will break at some point.
So right now I can use my finger and scroll, and the only thing I can do beside scrolling is clicking on link (works great). Is this already supported by 978679?
Yes, bug 978679 implements both multi-touch and single-touch gestures/events for Firefox builds with gtk+3 and XInput2 enabled.  You can test this today by running a Nightly build with the environment variable "MOZ_USE_XINPUT2=1".

Comment 13

3 years ago
(In reply to Matt Brubeck (:mbrubeck) from comment #12)
> Yes, bug 978679 implements both multi-touch and single-touch gestures/events
> for Firefox builds with gtk+3 and XInput2 enabled.  You can test this today
> by running a Nightly build with the environment variable "MOZ_USE_XINPUT2=1".

Do GTK+3 touch support require e10s? It works perfect, but when I disable e10s with browser.tabs.remote.autostart.2=false it does not anymore. I need to disable e10s as I use some a11y program, which does not work with e10s.

Comment 14

3 years ago
I can report the same problem. Running FF aurora (46.0a2) with the environment variable MOZ_USE_XINPUT2=1 AND e10s makes scrolling work, when e10s is disabled, it doesn't work at all. As a a11y addon I use is not compatible with e10s yet, this makes it completely unusable, unfortunately. Can someone give a heads up on the coupling between e10s and scrolling working? This probably is a bug.
APZ (which is the thing that implements touch-scrolling) requires e10s in order to work. Therefore without e10s you won't get touch scrolling. That being said, this bug (about multitouch support on Linux) is already implemented, so I'm closing this as WFM.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → WORKSFORME
No longer depends on: 627699
You need to log in before you can comment on or make changes to this bug.