14 ms·
Linux touchpad like a MacBook: April 2020 update
- seltzered_ 7y agoNoticed an update to this project. Here's some of the earlier posts by wbharding: Linux touchpad like a Macbook: progress and a call for help (Mar 2019) https://news.ycombinator.com/item?id=19485178 https://news.ycombinator.com/item?id=19485178 Linux touchpad like a Macbook: goal worth pursuing? (2018) https://news.ycombinator.com/item?id=17547817 https://news.ycombinator.com/item?id=17547817 NOTE: I should've read the 'WIP' comment at the top before posting this. Sorry if I shared this early!
- syntaxing 7y agoInteresting, does this mean that a macbook's "superior" touchpad is actually software driven? I always thought it was a hardware issue vs software issue.
- WesolyKubeczek 7y agoIt pretty much is. Speaking from experience of dual booting macOS and Linux on a MacBook Pro. Oh, and also from booting the same Dell XPS laptop in Linux and macOS, guess which trackpad experience is superior.
- __initbrian__ 7y agowhich? My guess is: 1. mbp, macOS 2. xps, macOS 3. xps, linux 4. mbp, linux
- WesolyKubeczek 7y agoPretty much it. Oh, and also I had patched libinput to be able to drag with three fingers, a gesture which I have on macOS. 3 and 4 are more like a tie. On macOS, when I move the cursor with the trackpad, it’s almost intuitive for me where the cursor is going to end up. With Linux, it’s almost always an uphill struggle. Like the acceleration curve adopted by Apple is more ergonomic.
- inamberclad 7y agoYou have an XPS booting MacOS?
- WesolyKubeczek 7y agoNot only booting, it’s working well and is way more stable than a bloody MBP where it likes to panic if the uptime is too long.
- omnimus 7y agoHow is battery life?
- syntaxing 7y agoHow hard is it to load Hackintosh on a XPS? Do you recommend a certain model? I hear the 9360 is preferred because something about the graphics card?
- icefo 7y agoSomehow I never imagined an xps hackintosh but I want to try with mine now. If it works reliably you could have great hardware with a good OS and a decent price.
- iaml 7y agoNot really, it's also a pretty damn good touchpad. Materials, size and taptic engine are all part of the experience, I think.
- conradev 7y agoIt is very much software – all modern trackpads are capacitive touch surfaces. A MacBook’s trackpad hardware is differentiated because it is covered in glass, larger than most trackpads by a lot, and it clicks using a force sensor + haptics (so it is more reliable / has an even click across its surface).
- saagarjha 7y agoThat sounds a lot like hardware as well :P
- aidos 7y agoThinking back to older models though, MacBook trackpads were better than any other I tried before they had all those hardware features. It’s obviously been a long time, but I feel that a really old MacBook would still feel nicer than most modern trackpads on other platforms. It’s the one thing that’s keep me on the Apple platform for almost 2 decades now.
- wtallis 7y ago2008 is when Apple's trackpads got full general multitouch support. (Prior to that, they supported 2-finger scrolling.) The 2008 MacBook Pros still had a big bar as the physical button, but later that year they started introducing the unibody MBP with the entire trackpad as a physical button hinged at the top. In 2015 they introduced the Force Touch haptic trackpad. As far as I can recall, all three generations of trackpad have basically the same cursor motion behavior and similar sensitivity.
- neilalexander 7y agoIt's not enough to just say "all trackpads are capacitive surfaces, fix it in software!" when it's actually the controllers attached to all of these capacitive surfaces that are different. The driver can be as intelligent as you like but if the controller only sends limited data in response to touches then you still won't get very far.
- seltzered_ 7y agoA mix of both. MacOS's multitouch privateframework has a number of states to cover when a finger is just landing, ellipsoid data, palm rejection / resting thumb states. The ability to provide this data is presumably done by their touch hardware. I encourage looking at the earlier discussions since much has been talked about this before.
- saagarjha 7y agoAlso, macOS’s public frameworks package all that easily and consistently so that all apps get nice scrolling by default.
- Sangeppato 7y agoThe hardware is nice and definitely better than the alternatives, but the real difference is the software. The acceleration, the low latency and the super smooth animations for the gestures are what really set the mbp apart and make the gestures so natural to use. Having used Gnome 3 with Wayland and libinput (the best Linux trackpad experience at the moment) until last year, I can say that while the latency and acceleration curve are definitely not there, at least the animations are better implemented than those of Windows 10
- em500 7y agoIt's a mix of both, but most of the magic sauce is in the software. See this small section in a very long and detailed blog: https://pavelfatin.com/scrolling-with-pleasure/#mac-os https://pavelfatin.com/scrolling-with-pleasure/#mac-os
- bokchoi 7y agohttp://archive.is/9AnoX http://archive.is/9AnoX
- cpach 7y agoGood old hug o’ death :-p
- ht85 7y agoCan people who work on both platform comment on the biggest issues for them? Nowadays I work mostly at my desk, but for several years I've worked 90% of the time on my laptop keyboard. Synaptics with a bit of customization (Area*Edge size for palm detection, single and double tap timings) worked extremely well, and I consider myself very picky. Edit: this seems to be about libinput, in which case I understand, as the two times I've used libinput I gave up after a few hours of intense frustration
- riquito 7y agoI use a mac at work and a Thinkpad with Linux (Fedora) at home. Personally I can't notice any difference (on the other hand the Thinkpad keyboard is glorius). I wonder if people refer to gestures, which I don't use.
- surfsvammel 7y agoI don’t think it’s about gestures. I have two MBP (2015 and 2018), Lenovo cirka 2017 (stock Ubuntu), an Asus Zen (PopOS) something from 2018 and a Dell something cirka 2016 (Windows). Nothing beats a he MBPs trackpads. I’m not sure what it is exactly, but I feel that on Windows the cursor drifts, when I lift my finger. On Linux I feel the trackpad is very sensitive (I get more cursor jumping around). Also, on both Windows and Linux it just feels like they are less precise. I guess it is the ‘it’s hard to explain’ factor that makes it hard to replicate?
- itsjwala 7y agoyes, gestures and accuracy. I am using mac at work and reaching out to windows, scrolling, zooming etc is much better than my home ubuntu dell laptop.
- pcr910303 7y agoIt’s about cursor acceleration — macOS uses an acceleration scheme so that you can get from one’s end to the other in one swipe if it’s fast enough — if the swipe is slow, the cursor becomes more precise and slower. I’m not due how it is in Linux, but last time I tried running Ubuntu on my 2017 MBP, It wasn’t possible to move from edge to edge in one swipe.
- montebicyclelo 7y agoHaving used a Macbook for the last 10 years, I can confirm that the trackpad feels better than trackpads on windows laptops, Chromebooks, and Macbooks with Linux installed (IMO, that I've tried). However, I think the tracking may change slightly with major MacOs releases. So which version do we prefer..?
- macintux 7y agoDoes Linux offer tap to click? Of all the many things I love about trackpads on the Mac, tap to click is very close to the top. Such a tremendous reduction of friction.
- spiderfarmer 7y agoIt's not default behaviour on MacOS. So many people are missing out.
- macintux 7y agoNot only not default, but at least pre-Catalina it’s buried in accessibility. Haven’t run Catalina yet so don’t know whether that’s changed.
- satysin 7y agoIn Mojave and Catalina it is an option in Trackpad preferences rather than accessibility. https://i.imgur.com/d0EeOG7.png https://i.imgur.com/d0EeOG7.png
- LeoNatan25 7y agoI think this has been there for a very long time, but my mind could be playing tricks on me.
- macintux 7y agoActually, I just remembered it’s the 3-finger drag that’s well hidden inside accessibility. Mea culpa.
- satysin 7y agoAh yes the three-finger drag is still hidden away in accessibility. It is one of the few options I enable there, such a great option I am kind of surprised it isn't the default as once you use it it becomes so natural.
- speedgoose 7y agoLinux touchscreen like a MacBook : the perfect driver has been there from the beginning! It's located at /dev/null
- smacktoward 7y agoWith big OEMs like Dell and Lenovo finally offering laptops with Linux preinstalled, is there any chance one of them could put in the investment required to solve this once and for all?
- ilmiont 7y agoMy XPS 13 has a wonderful touchpad out-of-the-box, one config line and natural scroll works (think you can enable it in settings on a stock Ubuntu install though).
- dsego 7y agoThinkpad is also adequate for me for basic pointing and two-finger scrolling. But I still miss the pinch to zoom feature. Also, natural scroll is nice, but it turns on for everything and it shouldn't imho. For example with natural scrolling enabled the gnome speaker icon requires scrolling up to decrease volume and down to increase, which doesn't really make sense to me.
- wldlyinaccurate 7y agoThe touchpad on my current gen Dell XPS 13 is superb on a stock Ubuntu install. I'd love to know how much of the "bad touchpad" reputation that Linux has is down to low quality hardware versus software support.
- frozenport 7y agoYeah tbe dude wants the Apple experience that many find unpalatable.
- aktuel 7y agoI'm also very happy with my xps 13 touchpad under Linux. I think it's on par our even better than under Windows. However I never used Mac touchpads.
- ekianjo 7y agoI guess it matters for folks who come from the Mac world and expect all trackpads to be like on their Macs.
- brabel 7y agoHave you tried a Mac touchpad? I use both a Dell XPS13 (Ubuntu from factory) at home, and a MacBook Pro at work. The Mac's touchpad is miles ahead... and that's even after I spent a couple of days messing with libinput settings to make the Dell's touchpad more acceptable (it's fine now, just not really close to the precision of the Mac's touchpad).
- notechback 7y agoIn what ways is it ahead? I'm quite satisfied with the touchpad on Linux, so really wondering what I'm missing. On the other hand touchscreen is really disappointing on Linux (Ubuntu), just not a smooth experience at all for me.
- pmx 7y agoIt's really quite difficult to quantify what's actually different. It feels really precise without being "flicky", using it feels very natural and you sort of forget about the touchpad and just will the cursor on the screen to do as you wish.
- londons_explore 7y agoFrom a technical approach, is it even possible? How many touchpads expose the raw touch data (ie. A bitmap of capacitance data) necessary to replicate macos gestures? Things like palm detection absolutely require that. Is the project worth it if it only works on one model of hardware?
- archseer 7y agoNewer models certainly do. We're working on a surface driver that exposes raw heatmap data https://github.com/qzed/touch-detection-prototype/blob/master/prototype.ipynb https://github.com/qzed/touch-detection-prototype/blob/maste...
- oaiey 7y agoMicrosoft "enforces" nowadays a generic touchpad interface they call Precision Touchpad. When your notebook has one of these, the Windows generic driver kicks in and the experience is MUCH better. I never owned a MacBook but I never again will accept a Windows laptop without a precision Touchpad. So, I have good hope that Linux users will enjoy this experience also one day. Microsoft forces the vendors in it.
- wtallis 7y agoI have an HP laptop that supports the Precision Touchpad drivers, but it takes considerable effort to use them. By default, Synaptics drivers will be downloaded by Windows Update and override the Windows built-in drivers. It doesn't make much difference to the cursor motion that I have noticed, but the Synaptics configuration UI is just as bad as it was 20+ years ago and doesn't seem to offer the same range of options as the Windows settings page it disables.
- oaiey 7y agoThis download is strange. Because synaptics was the role model for th e interface. Probably HP messed this up.
- seltzered_ 7y ago
- ThePowerOfFuet 7y ago>so you aren't seeing this. I beg to differ, Bill.
- modzu 7y agothe hug of death says it all: we wish!!!
- gitgud 7y ago> Are you a developer interested in working for $50/hour to improve life for a bunch of Linux touchpad users? Here are the job requirements: > - Has access to a modern Linux laptop > - At least a couple years experience with C/C++ > - Proven track record of delivering projects on schedule (please provide examples) > - Strong English skills > - Self-starter, able to make progress toward high level goals with minimal oversight > - Positive, solution-oriented collaborator > - (Preferred) Has personally struggled with Linux touchpads. These requirements are much much lower than majority of programming job descriptions out there...
- toohotatopic 7y agoYou are talking more about the usual job descriptions, but has he missed something important? Which other requirements should be added?
- dastx 7y agoUsual job description require you to be a full stack engineer, and devops engineer, and hardcore c/c++ engineer and a whole bunch of other things for the price of one intern. I don't know if OP has actually fully noted the requirements, but the point of this job is to work on improving gestures in Linux and that's all. If these requirements are all that's needed then that's it.
- gitgud 7y agoDoes Linux on a MacBook make the touchpad feel worse?
- wavee 7y agoyes
- whatever1 7y agoThanks for the contributions! Unfortunately the state of Linux as a desktop OS in the past decade has missed entirely the hardware developments. No proper support for scaling for hidpi monitors, scrolling with precision mice/touch pads, no touch UI, UI is that still not deep enough and casually requires the user to spawn a terminal, graphics drivers that are still not stable and do not support the latest standards like hdr. I wish there was a for profit company that would focus on making a polished desktop linux distro. There is only that much that the oss community can provide for free, but it is simply not enough.
- Nursie 7y ago> No proper support for scaling for hidpi monitors I'm sitting here with a 4k 32" monitor and a 1920x1200 24 inch side by side, scaled perfectly so both are pretty and readable, in xfce, and when moving things between screens nothing changes size, or re-renders weirdly, or can't be resized due to invisible boundaries, or ... It's better than windows or MacOS can manage with the same setup. I'm not sure what you count as 'proper', and yes I had to write a two-line script with xrandr commands so ease of use isn't massively present. But the underlying system absolutely has great scaling support. Graphics drivers are also fine these days, I've not had any problems with my mouse either. Hardware in general "just works" better than windows these days, with older devices supported and no drivers to hunt down on the web. I'm not trying to claim it's better for you, only you can decide that. But it works great for a lot of people.
- kccqzy 7y ago> I'm sitting here with a 4k 32" monitor and a 1920x1200 24 inch You didn't understand the problem mentioned by GP. Neither of your monitors requires HiDPI scaling. Your first monitor has approximately 138 dpi and the second a paltry 94 dpi. Compare that to a 2012 MacBook Pro that has a 15.4-inch display with a 2880x1800 resolution. That's 221 dpi. The hallmark of a HiDPI is that its DPI is so high that you need to render UI elements at 2x or more (though sometimes 1.5x also works), so that originally a one-pixel line becomes two pixels wide. This requires support not just in drivers and the OS, but the application. ArchLinux has an entire wiki page discussing application support: https://wiki.archlinux.org/index.php/HiDPI https://wiki.archlinux.org/index.php/HiDPI
- konschubert 7y agoI could not see the sponsor button on the linked github project. Has it been removed?
- Brakenshire 7y agoLooks like this has been posted before the guy has even got his sponsorship links ready, seems unfair to leave it up.
- RasmusWL 7y agoYep. I went to sponsor him with a few bucks, but as you say, it wasn't set up. Think the best we can do for now is to give a star to https://github.com/gitclear/libinput https://github.com/gitclear/libinput although it doesn't feel very significant. > I presume nobody is randomly visiting pages on bill.harding.blog, so you aren't seeing this. FeelsBadMan.
- mikekchar 7y agoIt's funny... I have never touched a MacBook. I'm actually very happy with the Linux touchpad drivers. I went to the article hoping to get a clear idea what the author likes about the MacBook drivers that are absent in the Linux drivers... But he doesn't say. Instead there was a poll asking me what I thought was wrong (which is nothing)... The parts about multi-touch were interesting because I really like the way multi-touch works in the current driver. So I think I'm missing something. So for those of you frustrated with the Linux touchpad driver... what is the problem? Or is it just that it's not the same (which is a completely valid complaint, IMHO)?
- ancarda 7y agoFrom using Linux on my MacBook, I remember poor palm rejection being one frustration. Also, I think multi-touch - such as scrolling with two fingers - didn't work. Just all round it wasn't very pleasant to work with. Perhaps if you have been using trackpads on Linux all your life, you are used to moving your hands away from the trackpad when not in use -- and so accidental presses are maybe never an issue for you.
- alias_neo 7y agoI've only ever used a MB once or twice; usually little more than trolling someone who's left their machine unlocked in the office, but I did find the touchpad intuitive. As an exclusively Linux user, my only real issue with touch pads is palm rejection, I feel like it has never worked so I end up in all sorts of awkward hand positions trying not to tap it by accident. As a 6ft4in male (with the large hands to go with it) it becomes painful when trying to do this for any period on my XPS 13. On the XPS 15 it's easier because there are large enough spaces either side of the touchpad to rest my palms.
- garmaine 7y agoI have repetitive strain injuries, so I simply cannot use Linux. The way I have to twist my wrists so the touchpad doesn’t mistakenly register a palm print is obnoxious and pain inducing.
- pcr910303 7y agoI personally find the Linux desktop to be never as polished as macOS because it’s hacks over hacks. One of the problems in inertia scrolling is that in Linux, it’s implemented in the driver level — which means that while scrolling by inertia, if I close the window, the window below will scroll. This is basically a hack because of backwards compatibility with the legacy APIs that only concern mouse events. The proper way to do this (which is implemented in macOS) is to do this inertia scrolling in the GUI toolkit, which in macOS is AppKit. (macOS implements this in NSScrollView.) Fixing this in Linux will be hard, since it needs coordinated effort between at least GTK, Qt, libinput, and the harware vendors — it’s an artifact of the fragmented ecosystem of Linux.
- sprash 7y agoBoth GTK and QT are exceptionally bad toolkits and are part of the reason the Linux Desktop never took off. Giving GUI toolkits responsibly for even more things is clearly a bad Idea. Also personally I like the fact that inertia scrolling works everywhere consistently the same way. Just think about the horrors everybody now implementing their own scrolling. Consequently the fact that Linux is "hacks over hacks" is a feature not a bug. People should stop assuming that copying Windows and Mac will somehow give Linux more popularity.
- pcr910303 7y ago> Both GTK and QT are exceptionally bad toolkits > Also personally I like the fact that inertia scrolling works everywhere consistently the same way. > Just think about the horrors everybody now implementing their own scrolling. Which should be a reason for advocating one toolkit that rules everywhere (maybe systemd-toolkit?), not a reason to have poor inertia scrolling experience that doesn’t work properly across different windows. > Consequently the fact that Linux is "hacks over hacks" is a feature not a bug. How can this is a feature, not a bug? Isn’t it technical debt?
- deltron3030 7y agoI'm sure that the real issue with Linux is more a philosophical one, where certain aspects about freedom overlap with UX in a counter productive way, preventing devs from being very opinionated about important UX things.
- josteink 7y ago> Since I don't regularly use a Linux laptop and haven't in a couple years I’m in the opposite camp. I’ve been using a Linux laptop at home (by choice, obviously) for the last 5-10 years and have finally been able to setup a Linux-powered workstation at work. It feels so refreshing and liberating. I can’t imagine ever going back.
- mstaoru 7y agoI was very surprised to find out that XPS 15 touchpad cannot report pressure on Linux, felt so contrary to everything else I can adjust and tinker with under Linux. But touchpad tap is just tap / no tap and there is no middle ground. I'm coming from Linux->Windows->Mac->Linux background, and I can certainly feel the pain coming back to Linux from Mac (2014 models with the sane touchpad size). Palm rejection and tap sensitivity are two major issues, but you learn to live with it. Two-finger browser "back" gesture is something I also miss direly, and no amount of experiments with funky Ruby (!?) based gesture libs could fix that.
- wayneftw 7y agoI'm sitting here at my dual 24" 1080p monitor, natural keyboard, vertical 5-button mouse, 32GB/500GB Linux (XFCE) desktop and I couldn't be happier. Fuck touch pads and hidpi monitors. They're honestly dumb. Who wants to work all day on a laptop? People who optimize their equipment for working in meetings or working on the move are doing it wrong. No wonder Silicon Valley is a bubble of Mac users. They're concerned with all the wrong things, just like the Mac OS UI or any other OS that has been tainted by its influence.
- JoeAltmaier 7y agoI'm with you, use the largest desktop I can afford. But a contractor we use, young person, spends their day on a touch laptop and is happy as a clam. Turns out top-quality code on a schedule. We raised her rate instantly we saw what she could do. So, some can make it work.
- Doctor_Fegg 7y agoI work 90% of the day on a desktop. That doesn't mean that I want my 10% laptop time to be an exercise in frustration. Linux touchpads are exactly that. (It's the main reason I abandoned my short experiment with a Linuxified Chromebook and reverted to a MacBook.)
- JoeAltmaier 7y agoUnderstandable. I was initially confused - moving from Linux to MacBook? But 'touchpad' explains it. My frustration with MacOs is, mousing around to all four corners of the screen constantly. They've separated everything into the corners. But with a touchpad, less frustrating.
- deleted 7y ago[deleted]
- dsego 7y agoGood luck bringing your desktop with you on a business trip or if you want to take a break from your office and go work in a coffee shop or a coworking place.
- WesolyKubeczek 7y agoThere’s one thing that’s bothering me about this “project”. How is it supposed to work with the upstream? Is this supposed to be a rivaling fork? How am I supposed to have it on my system? Also, it rubs me the wrong way that the blog author is seeking a person to do all the dirty work — even for compensation — and then what? Have all the credit? Basically, act as a glorified Forward button? If I felt up to the task enough, I’d slap a sponsorship button onto my github on my own. And here’s the difference: prior to asking for the money, I’d have something to show to prove I’m not a phony. The upstream is not without its problem as well. Right now it’s being maintained by Peter Hutterer from Red Hat, and judging by his LinkedIn, it’s pretty much his job description. Recently he did a talk about how overloaded he is with libinput[1], and how someone volunteering to comb through pull requests and issues would easily become his “number two”. Which also is striking me as odd. libinput, given its importance for Linux ecosystem as such in general, and Red Hat ecosystem in particular (especially since they bet on Wayland as the future, and there libinput is the only choice), is important enough that Red Hat better make sure it’s well maintained. It’s Red Hat/IBM, really, who should be interested in making sure the bus factor of libinput is > 1. Thus the problem should be raised within Red Hat’s management, and they should _hire_ additional people for fair buck to help. Otherwise it looks as if someone who’s paid for X input stack maintenance is seeking free labor to help him. If I asked someone to help me do my paid job for free, open source or not, I don’t think it would even be ethical. [1] http://who-t.blogspot.com/2019/10/libinputs-bus-factor-is-1.html http://who-t.blogspot.com/2019/10/libinputs-bus-factor-is-1....
- deleted 7y ago[deleted]