News for hackers. Stuff that matters.
Re:Linux touchpad like a MacBook Pro, May 2020 update by i_am_proteus on Tuesday May 05, 2020 @11:21AM (#23080958)
Am I the only one who doesn't get this? Trackpads on Linux with various Thinkpads have always seemed fine. I've used trackpads on various Mac laptops (Pro and Air) and those have seemed fine also. To round things out, my experience with trackpads on Windows (Thinkpads and XPS) has been that they are fine.

Admittedly I have Linux set up for keyboard use with a TWM, but the trackpads, when I used them, have been fine.

Re:Linux touchpad like a MacBook Pro, May 2020 update by kitotik on Tuesday May 05, 2020 @11:30AM (#23081095)
As a loooooong time mac user recently using Linux as a daily driver again, it’s pretty bad. I would compare it to voice recognition: the difference between “90% there” and “95% there” is quite vast.

In addition to multi finger gestures, the biggest gaps for me are general handling of inertia, scrolling smoothness, ignoring accidental touches, fine grained pointer accuracy, and handling of alt-clicks(two finger right click, three finger middle-click, etc).

Again, it works, and is usable, but it feels like it was finished before the bar was raised on the trackpad User Experience.

Re:Linux touchpad like a MacBook Pro, May 2020 update by mrspeaker on Tuesday May 05, 2020 @11:38AM (#23081183)
For various reasons I've had to alternate between 2017 macbook pro and linux thinkpads - using only one or the other for a few months at a time (mac for 3 months, then thinkpad 3 months).

I didn't know there was a "trackpad meme" - but to me the thinkpad is fine, but unquestionably more frustrating than the mac. I've tried to tweak things but never made it feel good.

I even set up a camera at one point to try and figure out what was causing my frustrations. Looking at the footage I noticed even though the thinkpad felt slower (or a bit "sluggish"?) I would still often slightly over-shoot my target.

I can't figure out exactly why it's different but it sure feels like some sort of black magic on the macs part.

Re:Linux touchpad like a MacBook Pro, May 2020 update by ashtonkem on Tuesday May 05, 2020 @11:41AM (#23081214)
Even when I worked with a laptop alone, not my preference, I would always use an external mouse with my Linux machines. Sure, the trackpad technically worked, but the frustrations just slowly piled up to the point where carrying a mouse around was superior.
Re:Linux touchpad like a MacBook Pro, May 2020 update by ccozan on Tuesday May 05, 2020 @02:18PM (#23083020)
I hear you. While I wanted to use the trackpad on my X1 Carbon + Fedora , and really was good enough, I got frustrated on the "nudges" and "slides" I was experiencing while trying to hit very exact targets.

Then I got back to my MX2 Anywhere and it felt like a mile away.

Re:Linux touchpad like a MacBook Pro, May 2020 update by CoolGuySteve on Tuesday May 05, 2020 @11:52AM (#23081368)
It depends on the trackpad. I think part of the issue is that Linux doesn’t have much calibration beyond what the firmware on the trackpad is reporting.

The other issue is that PC laptops tend to have much smaller trackpads for whatever reason, allowing for less room for fine adjustments after swiping.

My old Asus UX305 feels as good as a Mac, the trackpad is large, the scrolling has momentum and feels good, etc.

On the other hand, my HP Envy trackpad is terrible, the palm detection doesn’t work well, the trackpad itself is too small to aim properly, the acceleration is pretty high and hard to aim. It almost seems like the team responsible for the design of the laptop never considered what it would be like to use such a small trackpad.

Re:Linux touchpad like a MacBook Pro, May 2020 update by kitotik on Tuesday May 05, 2020 @12:20PM (#23081700)
The hardware itself can certainly be a factor, but I don’t believe it’s the main issue as I run Linux on plenty of Apple hardware and it’s the same outcome.
Re:Linux touchpad like a MacBook Pro, May 2020 update by CoolGuySteve on Tuesday May 05, 2020 @01:03PM (#23082208)
That's exactly what I mean, Apple calibrated their trackpads beyond what the firmware defaults to.
Re:Linux touchpad like a MacBook Pro, May 2020 update by Brakenshire on Tuesday May 05, 2020 @01:05PM (#23082228)
That’s down to the hardware driver in Linux, is it not?
Re:Linux touchpad like a MacBook Pro, May 2020 update by filleduchaos on Tuesday May 05, 2020 @11:45AM (#23081274)
My Macbook's trackpad is the only trackpad I've ever used that felt almost as good as using my phone's screen.
Re:Linux touchpad like a MacBook Pro, May 2020 update by danso on Tuesday May 05, 2020 @11:24AM (#23081003)
In a previous post, the author mentions a few benchmarks comparing Mac vs Linux trackpad performance: https://archive.is/s7SZM

1. Linux touchpad scores on par with Macbook touchpad per mouseaccuracy.com testing. As of today, I can consistently score twice as high on macOS (average score 250 with “Hard” + “Small” options) vs Linux (average score ~100).

2. Visual or terminal-based means to configure rudimentary touchpad settings. The fewest options I could imagine supporting for v1 would be: scroll speed/acceleration, scroll speed, natural scrolling toggle, hopefully support for gestures.

3. First-class palm and thumb detection/ignoring

Re:Linux touchpad like a MacBook Pro, May 2020 update by cycloptic on Tuesday May 05, 2020 @11:28AM (#23081068)
Number 1 seems wildly subjective based on the person's level of dexterity and the hardware used. The only way I could see that being meaningful if you did it on the exact same laptop side by side with Mac and Linux and tweaked the acceleration profile, but it doesn't actually sound like the author is talking about installing Linux on a macbook.

Numbers 2 and 3 are already in libinput. I am still struggling to understand what it is the author feels they need to fork the project for; there is some additional software that needs to be provided to really get the mac-like desktop experience with gestures, but that is covered by the libinput-gestures project. https://github.com/bulletmark/libinput-gestures

Re:Linux touchpad like a MacBook Pro, May 2020 update by ashtonkem on Tuesday May 05, 2020 @11:44AM (#23081257)
Number 1 is like a relative benchmark on the same hardware, as compared to a production grade loadtest. While there’s no guarantee that any of us can match their performance, relative improvements matter.
Re:Linux touchpad like a MacBook Pro, May 2020 update by cycloptic on Tuesday May 05, 2020 @12:54PM (#23082079)
I see what you mean but that still would require testing on the same hardware repeatedly to really get a picture of what is going on. Then you could potentially making some small tweaks to the acceleration profile, but it's really a tiny amount of code.
Re:Linux touchpad like a MacBook Pro, May 2020 update by vzaliva on Tuesday May 05, 2020 @11:48AM (#23081303)
From somebody who worked on touch intefraces: #1 could be hardware dependent. Most modern touchpads detects finger coordinates in firmware and send them to driver. Driver has not much to do to improve accuracy besides some high-level smoothing like Kalman filter. #2 is could be useful. Not that tools are completely lacking, but they can use some polish and unification. #3 is again hardware dependent. Most modern touchpads do palm detection in firmware. Nothing you can do to improve that. In the most cases it is not even possible to get a "raw" sensor reading.
Re:Linux touchpad like a MacBook Pro, May 2020 update by blauditore on Tuesday May 05, 2020 @11:35AM (#23081155)
>Linux touchpad scores on par with Macbook touchpad per mouseaccuracy.com testing

It looks like this doesn't take viewport size into account. A smaller window still shows dots of the same size, just distributed over a smaller area. Given that it's (more) idiomatic to maximize windows under Linux and Windows than under MacOS, those results could be skewed.

Re:Linux touchpad like a MacBook Pro, May 2020 update by rsynnott on Tuesday May 05, 2020 @11:39AM (#23081197)
> Given that it's (more) idiomatic to maximize windows under Linux and Windows than under MacOS

_Is_ it? I know that it seems to be kind of a thing on Windows, but I've never really noticed it with Linux.

Re:Linux touchpad like a MacBook Pro, May 2020 update by toast0 on Tuesday May 05, 2020 @12:22PM (#23081722)
Well, on Windows and Linux, the maximize button almost always works, where on MacOS it does something, but after using one for work for 7 years, I still don't know what it's supposed to do. I'm not a big maximizer though, big desktop monitors and maximized windows aren't good for me.
Re:Linux touchpad like a MacBook Pro, May 2020 update by blauditore on Wednesday May 06, 2020 @05:56AM (#23089346)
Well, Windows and the most common Linux DEs make it easy to maximize windows, while on MacOS there's only a full screen button by default (which is not the same and most people probably don't want). My anecdotal observation has been that Mac users end up manually resizing windows often, to increase size to a large portion of the screen when necessary - but they don't fully maximize windows.
Re:Linux touchpad like a MacBook Pro, May 2020 update by _jal on Tuesday May 05, 2020 @12:14PM (#23081632)
That's actually an interesting question, I'm not sure if anyone's looked at it. It probably depends heavily on your window manager of choice (some of them take the choice out of your hands).

For my part, I don't use a tiling window manager, and the only things I maximize sometimes are VM displays.

Re:Linux touchpad like a MacBook Pro, May 2020 update by blauditore on Tuesday May 05, 2020 @11:28AM (#23081060)
I feel the same. It almost seems like a meme to me by now.

I've used various different laptops (Macbooks, Windows machines, Linux-based ones, Chromebooks), and while the experience was certainly different, Macbooks never felt particularly superior. They seem to be configured (by default) to move cursors fairly slowly compared to the competition, but it's a lot about just getting used to it. There are of course some cheap, jumpy touchpads out there, but this doesn't apply to all non-Macbooks, by far.

Re:Linux touchpad like a MacBook Pro, May 2020 update by skrtskrt on Tuesday May 05, 2020 @11:33AM (#23081125)
I just booted a MacBook Air into Mint recently and I think I finally figured out what the difference is:

Mac allows the cursor to move quickly, but where it differs & excels is how fast it decelerates or stops the cursor.

On Linux, I am always overshooting what I'm trying to click on even when I make the mouse tracking speed very very slow. On Mac I can keep the tracking speed high and jump around quickly but still manage to stop right where I need to every time.

So either, it's faster to register you're slowing down/stopping OR it slows down at a faster rate than your finger is slowing down (vs faithfully tracking your finger)... or both?

Edit: This is true for the handling of external mice too, it's not just the trackpad. The difference is night and day, and overshooting things is frustrating with a normal mouse as well as the touchpad.

Re:Linux touchpad like a MacBook Pro, May 2020 update by lsbussell on Tuesday May 05, 2020 @12:22PM (#23081723)
The acceleration curve on the Mac trackpad is unparalleled. I wonder if it’s possible to reverse engineer it using a mouse (or a “fake” mouse via a teensy or something). That being said, I can’t stand using a mouse with the same acceleration, I have to install an app to disable it.
Re:Linux touchpad like a MacBook Pro, May 2020 update by rconti on Tuesday May 05, 2020 @12:10PM (#23081585)
Interesting. Lower latency? Or maybe doing some predictive slowing by over-accelerating the slowing as soon as it detects a change in speed or pressure?
Re:Linux touchpad like a MacBook Pro, May 2020 update by Aeolos on Tuesday May 05, 2020 @12:42PM (#23081941)
You've hit the nail on the head. The real difference is input latency.

Tweaking acceleration curves will not help overcome latency of 2-3 frames which is common on Linux compositors (33-50 ms of delay, causing target overshoots).

Re:Linux touchpad like a MacBook Pro, May 2020 update by skrtskrt on Tuesday May 05, 2020 @12:18PM (#23081668)
I'm thinking either sensitivity is lowered as deceleration begins, or deceleration is over-emphasized as you say. I can move really fast then stop completely dead even as I'm sure my by-no-means-steady hands are not that precise and are probably still very slightly moving as I'm "stopped".
Re:Linux touchpad like a MacBook Pro, May 2020 update by Aeolos on Tuesday May 05, 2020 @12:43PM (#23081959)
This is a perfect description of input latency. You stop moving your finger over the target, but the cursor keeps moving for another 33-50ms, causing you to overshoot.
Re:Linux touchpad like a MacBook Pro, May 2020 update by skrtskrt on Tuesday May 05, 2020 @12:52PM (#23082058)
Very interesting, TIL. That's certainly a simpler explanation
Re:Linux touchpad like a MacBook Pro, May 2020 update by slac on Tuesday May 05, 2020 @01:37PM (#23082582)
are the chromeOS touchpad drivers open source?
Re:Linux touchpad like a MacBook Pro, May 2020 update by kimikelku on Tuesday May 05, 2020 @11:29AM (#23081069)
I have a thinkpad X1 1gen and the trackpad in almost every distro is really bad. Single tap moves the mouse, making me fail almost every click on small things.
Re:Linux touchpad like a MacBook Pro, May 2020 update by seltzered_ on Tuesday May 05, 2020 @12:20PM (#23081699)
I've been testing out various flavors of Linux (Ubuntu 20.04, Pop!OS, etc.) this past week on both a fairly new Thinkpad and a Macbook Pro and the trackpad experience is horrible compared to Windows or MacOS.

Things I've noticed:

- Mouse jumps after thumb-clicking.

- Thumb doesn't get ignored when doing certain combination actions (thumb + click and drag to select multiple items).

- Scrolling isn't 'inertial'

- Mousing around lacks some of the accelation/deceleration that makes getting around a screen easier.

(bias: I spent a lot of time thinking about the mac touchpad and once wrote an app leveraging it's privateframework data).

I'm really tempted to find time to help on this effort, but it likely requires getting another machine since I can't see myself living in linux full-time for a while.

Re:Linux touchpad like a MacBook Pro, May 2020 update by Mikeb85 on Tuesday May 05, 2020 @12:56PM (#23082103)
Interesting list. Seems we use a touchpad differently because I don't use my thumb at all on it and don't like inertial scrolling or movement.

> Scrolling isn't 'inertial'

It seems different applications have different scrolling settings. I'm on Ubuntu, on Firefox there is inertial scrolling (smooth scrolling setting), on Chrome there isn't.

Re:Linux touchpad like a MacBook Pro, May 2020 update by chacha2 on Tuesday May 05, 2020 @02:39PM (#23083267)
It's pretty poor though, try Gnome Web, which excels at it, and see how much more could be done.
Re:Linux touchpad like a MacBook Pro, May 2020 update by ubercow13 on Tuesday May 05, 2020 @07:32PM (#23086313)
>- Mouse jumps after thumb-clicking.

I get this one on Windows with my touchpad (with Microsoft's 'precision' driver) but not Linux.

One that I don't like about the Macbook touchpad is that the cursor won't move for a short period after clicking, which makes it hard to click stuff quickly

Re:Linux touchpad like a MacBook Pro, May 2020 update by spatulon on Tuesday May 05, 2020 @11:35AM (#23081159)
My experience is that palm rejection on my Mac laptop works flawlessly (I literally cannot remember ever having an issue with my palm interfering), but on my Dell/Win10 I get frustrated on a daily basis.
Re:Linux touchpad like a MacBook Pro, May 2020 update by geon on Tuesday May 05, 2020 @11:33AM (#23081122)
I have no idea about linux, scrolling on windows is pretty much hardcoded to use a early 2000s scroll wheel mouse.

Because of their low resolution, windows scrolling is done one text line at a time, while macs scroll a pixel at a time.

This sounds superficial, but it is really not. With the higher resolution, you get a very direct connection with the scrolled content. Without this almost tactile feedback, inertial scrolling doesn’t work at all.

And since scrolling is like 90 % of what I use a trackpad for, I will not even consider using windows with a trackpad until they have fixed it.

Re:Linux touchpad like a MacBook Pro, May 2020 update by jon-wood on Tuesday May 05, 2020 @11:41AM (#23081221)
The tactile feedback comes from the fact Mac OS has the concept of a scroll having an amount of inertia behind it, if I very gently move two fingers up and down on a long web page then it will very gently move a few pixels, but if I flick two fingers from the bottom of the touchpad to the top then its going to go flying upwards. If I then put a finger down on the touchpad it'll stop the scroll immediately.

This behaviour one of the things in Mac OS that nobody really notices because it feels so intuitive, but if you took it away everyone would be puzzling over why scrolling feels broken.

Re:Linux touchpad like a MacBook Pro, May 2020 update by dylan-m on Tuesday May 05, 2020 @12:51PM (#23082042)
I feel like things are a little better in the regular users (modern stock GNOME) chunk of Linux land: Wayland / GDK / GTK handle touchpad gestures as well as "smooth" scroll events, which are sent in combination with regular (coarse-grained) touchpad scroll events. Works out of the box in GTK 3 applications, so as an application developer all you have to do (if you're targeting GNOME) is not use a dead version of GTK :b GTK 3 even does scroll inertia: https://developer.gnome.org/gtk3/stable/GtkScrolledWindow.ht.... Firefox started supporting this stuff recently, as well.

I think the story is similar for Windows, but a little less satisfying since their hodepodge of UI toolkits starts from the very core, whereas at least with modern desktop Linux distros the core apps are generally implemented the same way.

Alas, mouse wheels are a whole other story. Pixel perfect scroll wheels have been a thing for a while, and Windows actually has support for these (not that it works anywhere). Support in Linux has been progressing at a similarly glacial pace, but it looks really promising. That's one spot where Apple is definitely years ahead. (If only they would make a practical mouse…).

Re:Linux touchpad like a MacBook Pro, May 2020 update by seltzered_ on Tuesday May 05, 2020 @01:01PM (#23082175)
"scrolling on windows is pretty much hardcoded to use a early 2000s scroll wheel mouse"

No longer true. Windows 10 works pretty well as long you use precision trackpad, or use an apple touchpad with a third party driver (https://github.com/imbushuo/mac-precision-touchpad , https://magicutilities.net )

Re:Linux touchpad like a MacBook Pro, May 2020 update by chapium on Tuesday May 05, 2020 @12:22PM (#23081720)
Is this why touchpad scrolling is so crazy in LibreOffice? On windows, mouse and scrollwheel works fine in Libre. Using touchpad it shoots the document to the moon each time scrolling gestures are applied.

There is not a similar effect in other applications.

Re:Linux touchpad like a MacBook Pro, May 2020 update by geon on Tuesday May 05, 2020 @01:45PM (#23082672)
Probably. Google maps used to have huge problems with zooming (since it was meant to use the scroll wheel), as did a lot of games that relied on the mouse wheel to cycle through an inventory.
Re:Linux touchpad like a MacBook Pro, May 2020 update by bxparks on Tuesday May 05, 2020 @11:46AM (#23081287)
I don't know about Thinkpads, but I've owned over a dozen Dell laptops. Their touchpads have been between Terrible to OK on Linux. Until my most recent Dell, the Precision 5510 (the business version of XPS 15). Finally almost as good as a Mac, but very slightly not as good on palm rejection.

I stopped buying Macs due to the ESC key, the butterfly keyboard, the touch bar, and the removal of USB-A ports, so I'm very happy to have the Precision 55xx options.

Strangely enough, my only other laptop whose trackpad as almost as good as the Mac is my cheapo Chromebook.

Re:Linux touchpad like a MacBook Pro, May 2020 update by ysr23 on Tuesday May 05, 2020 @11:27AM (#23081048)
> Thinkpads

There is a much better option than the trackpad mac or otherwise built in ;-)

Re:Linux touchpad like a MacBook Pro, May 2020 update by diffeomorphism on Tuesday May 05, 2020 @11:33AM (#23081117)
Also don't quite get it, but I think this is only about the software side. For example gestures with more than two fingers, better scrolling (continuous not steps).
Re:Linux touchpad like a MacBook Pro, May 2020 update by Frondo on Tuesday May 05, 2020 @11:47AM (#23081300)
I get it, but I also get why lots of people don't. There is something of a subjectivity in "what feels good" for using a hardware interface device, which some people simply won't notice. Sort of like the difference between a pretty UI and an ugly one (assuming the function is the same), some people care and some people don't. Neither one is wrong, but experience isn't universal.
Re:Linux touchpad like a MacBook Pro, May 2020 update by N_A_T_E on Tuesday May 05, 2020 @11:25AM (#23081015)
You might be less sensitive to the lag. I've seen annoyingly slow responsiveness on most recent dell laptops running windows or linux.
Re:Linux touchpad like a MacBook Pro, May 2020 update by diffeomorphism on Tuesday May 05, 2020 @11:35AM (#23081152)
Lag of what precisely? The touchpad, the driver, the software or how it is rendered?
Re:Linux touchpad like a MacBook Pro, May 2020 update by Aeolos on Tuesday May 05, 2020 @12:46PM (#23081995)
All of that together, the end-to-end latency between moving your finger and the result appearing on screen. The trackpad firmware & driver, the display compositor, the hardware cursor overlay (or lack thereof) combine to give you the total latency which makes using a non-mac touchpad frustrating.

You can observe this effect by comparing a magic trackpad 2 vs the internal macbook trackpad, when connected over bluetooth: there is a small but noticeable latency that makes the external trackpad less precise and less "fun" to use than the internal one.

Edit: you can observe the same difference between a standard corded mouse vs a bluetooth mouse. Or, in my case, a 125Hz USB mouse vs my PS2 mouse back in the Windows XP days - the difference was night and day.

Re:Linux touchpad like a MacBook Pro, May 2020 update by the_hoser on Tuesday May 05, 2020 @12:22PM (#23081713)
I doubt you're the only one, but maybe you automatically reach for a mouse when you have a laptop.

Let's put it this way: the one accessory that's in my Linux laptop's bag that isn't in my MacBook's bag is a wireless mouse.

Re:Linux touchpad like a MacBook Pro, May 2020 update by WesolyKubeczek on Tuesday May 05, 2020 @02:47PM (#23083355)
The people who both think like this and are core developers of the input stack are literally the reason we cannot have nice things.

"Here, it's moving, what else do you want?"

The input experience in Linux is an example of the "Soviet style" pattern. Quoting the "Adrenaline Junkies and Template Zombies" book:

"You have probably used some of these Soviet-style products that do more or less what they are intended to do but in a way that you find awkward or irritating. You find that the products’ usability is not what it should be; their look and feel is unattractive; they lack certain security aspects you feel are needed; or they contain cultural references you find disconcerting or offensive. These are failures to meet the products’ non-functional requirements—those that make them appealing to the humans who use them. Such requirements are every bit as important for eventual acceptance as the functional requirements."

Whys and hows of this are also explained in this attempt: https://www.artlebedev.com/mandership/172/. TL;DR is that to make a good design for anything, be it a city park, or a gas stove, or a software product, you need to widen your comfort zone to include other people besides yourself.