Linux touchpad like a Macbook: goal worth pursuing?

Following is my proposal to improve the state of Linux touchpad drivers. It’s a cause I have spent almost a year of my spare time researching in depth. The first section, below, surveys the landscape of today’s available Linux touchpad drivers. The second section (“The Journey Here“) gets into greater depth describing the current failings of available choices. The third section (“The Path Forward“) proposes my best ideas for how we might be able to realize a Linux touchpad driver with polish level matching a Macbook Pro.

A survey of today’s Linux touchpad drivers

For the last 6 months, I’ve been trying to configure a Dell Precision laptop running Arch to get the same feel as the Macbook Pros I loved until the Touchbar Era. I started with the Arch default, libinput. I gave up on it in about a week, when I determined that something as simple as controlling the two-finger scroll speed was not included in the available options. The default was about 3x faster than the comfortable speed I’ve grown to love with my Macbooks. Had I not been disuaded by scroll speed, I might’ve still abandoned ship for the lack of scroll gliding (a feature I never knew I’d been using until it was taken away), which apparently I have Strong Opinions about.

Linux being Linux, I figured that I’d have a universe of touchpad drivers to choose from, each with its own awkward UI that would be confusing and painful to use, but ultimately get the job done. What I discovered instead was all of three options: one of which I had just eliminated (libinput), one that has been abandoned by its maintainers in favor of libinput (synaptics), and a third that was also abandoned by its maintainers, with zero graphical UI left behind (mtrack).

I’m writing this blog because I appreciate the nuances of how the Macbook touchpad performs, but the Touchbar Era has taught me that it sucks to have my user experience tied to the whims of a singleminded hardware company. I want to be part of the solution to create a Linux touchpad driver that’s indistinguishable from the Macbook, and has at least a minimal UI to accommodate the most common differences in user preference. I believe this would bring Linux hardware a big step closer to owning the same panache that makes the Macbook experience special. All evidence collected to date suggests that my mission may well prove quixotic. But if other people care about this, it could get done. I posit my ideas on a path forward here. If you’ve got time and want to learn more about what informs my opinions on the best path forward, read on…

The Journey Here

After realizing libinput wasn’t going to work for me, I found this blog post, whose title seduced me (“The perfect (almost) touchpad settings on Linux”). I went on to write my own follow up blog post, after discovering that the initial blog post left much to be desired compared to the Macbook standard I longed for. When it came to scroll speed and scroll glide, mtrack performed like a champ. Graphical UI be damned, I spent minutes — eventually hours — parsing the documentation. Between the 1,001 options available, I was optimistic about my prospects to recreate my Macbook utopia. And I would’ve done it, if not for the wretched nuisance I’d come to call “Cursor Nudge.” In a nutshell, “Cursor Nudge” is the phenomenon by which the center point of your depressed thumb will glide by a few millimeters as a natural effect of transitioning from the “move cursor” position to the “depress” position. None of mtrack’s 1,001 options could conquer Cursor Nudge, and eventually I grew weary of clicking right next to my target.

Down to my final shot, I really wanted synaptics to work. Yeah, it was abandonware, but it was abandonware that had been forsaken due to its multitude of options. A multitude of options seemed to be what I needed to replicate the Macbook. Initial results were promising: Cursor Nudge was not an issue with Synaptics. In fact, for my first few days using it, I found it pretty bearable. I wouldn’t confuse it with Macbook — not without the smooth acceleration and deceleration. Not with only the slighest twinge of scroll glide. Not with the need to click in the bottom right corner to effect a right click. But it was… probably satisfactory. If not for the bugs. About once or twice a day, when I put my thumb down to click or start scrolling, my open document would jerk toward the bottom of the scrollable viewing area. I Googled it. I installed the xinput listener, captured all my tracking input into logs, and tailed the logs to look for patterns that preceded the bug. And then I wondered, “does Apple still sell the pre-Touchbar Macbook?” Turns out, in what I can only interpret as tacit admission of their wrongdoing, they do. It doesn’t have enough RAM, and much of its technology is 10 years old. But its polish level remains eons beyond what I can replicate with Linux, and I refuse to carry around a mouse.

I also emailed the maintainer of libinput (previously maintainer of Synaptics). I asked him what it would take to write a Linux touchpad driver that would approach parity with the Macbook. His take wasn’t optimistic (“unless you raise enough money to hire at least one full-time developer there’s little point”). I have to imagine this is what naturally happens to a developer that has spent large swaths of a career worrying about backwards compatibility and subtle hardware differences. It sounds like a special type of hell he’s dealing with, and I appreciate the heroics that have gone into making a variety of Linux touchpad drivers almost good enough. But, even though I did eventually cave and buy new old Macbook, I’m not resigned to the imperfections of the current Linux touchpad landscape. A friend of mine who doesn’t even work in tech pointed out to me a month ago that he was reading a random post where they linked to my first blog post pursuing a Macbook-equivalent Linux driver. Somebody besides me cares about this.

The Path Forward

Wherein it becomes apparent that the author doesn’t yet know the best solution.

I think a polished driver could only be delivered within a narrow range of parameters. It probably isn’t going to support laptops older than 3-5 years old. It isn’t going to offer 1,001 options. It may or may not be continuously supported. It may use one of the existing drivers as a starting point, even if that starting codebase isn’t “clean” or well-documented.

Could we build something that works better than existing solutions for 95% of users (= developers) for less than $100k? Probably. Do users (or companies) feel enough pain with the Linux touchpad solutions that they’d donate money (or time) to tackle an esoteric issue? That is what I need to find out.

With a sufficiently enthusiastic response to this blog (todo: define sufficient), I would volunteer my own time to spearhead the non-development aspects of a solution [1]. I could create a Kickstarter page, or help PM or QA development efforts on a driver built to mimic Macbook on the widest possible range of modern laptops. I could donate time to whatever better idea you present. But, first I need a hand to determine: does this actually matter?

Update November 2018: Been putting a lot of time into this cause lately. I’m at about 10 notes and counting so far. I should have a proper blog update to post within the next month.

 

[1] I’d rather be programming this than PMing it, but my programmer brain is currently dedicated to quantifying developer activity and counting lines of code

113 Replies to “Linux touchpad like a Macbook: goal worth pursuing?”

  1. I, as someone who bought a macbook years ago for the same reason, think this should be done in linux. I mean, it does suck to be scrolling in windows or linux, right? Life feels hallow when scrolling down to the bottom of Youtube and it’s painstaking to watch people find the tiny scrollbar and somehow manage to stop it at the right place.

  2. I was thinking exactly around the same lines as you. I recently got a thinkpad at work and I immediately started working on setting up mac like touchpad gestures on it. Being Linux I obviously thought its going to be pretty easy. “There should be something out there someone wrote” I thought. But soon I realised this was not the case. Then I started researching on how make the linux touchpad as good as the macbook. I was very surprised that with the amazing advances that Linux had in the recent years, awesome touchpad drivers were not part of it. I like that people like you are discussing this. I personally feel a great touchpad experience on Linux is one the major things thats missing and would give the Linux community a great boost forward.

  3. This is a particularly stark problem now that Chrome OS has added Crostini where Linux apps run side by side with Chrome apps. VS Code, scrolls through Linux, and the default debian based container doesn’t do anything to improve the scrolling experience.

    There is a distro that has worked on improving this for Chromebook users, but I believe the way they accomplish it is to leverage the Chrome OS driver rather than fix it within Linux. http://galliumos.org

    Thanks for your dogged pursuit of this!

  4. my first thought is that you just need to radically lower the xinput scolling distance, which is something that happens way downstream of the input driver I believe. but that could have a dozen odd constraints that I don’t understand well.

    i’m a huge fan of the libinput maintainers. i hope this situation can be improved.

  5. Finally, someone else who seems to care “too much” about Linux trackpad. I’m not a developer but I enjoyed using KDE linux mainly for all those advantages it has over windows like speed, ability to have much more software open at the same time, not having to restart it after a few days, updates etc. But I got a new LG Gram laptop with a great touchpad and I saw how much better the user experience is on Windows with precision drivers. It’s super smooth with all gestures configurable and working perfectly and as I didn’t want to use a mouse I switched to windows. I tried installing KDE on that PC and spent countless hours palying with libinput, mtrack and synaptics settings but it just didn’t feel as good as windows let alone Mac laptops. A year has passed and my windows laptop is much slower now than when I first got it and I would really want to switch back to linux but I guess I’ll have to wait until someone releases a decent trackpad driver or windows just becomes unbearably slow.

  6. I will add that I think Linux could really benefit from Mac-like touchpad support. I feel like phrases such as “The year of the Linux desktop” mean nothing since these clunkier parts of the user experience accumulate into an overall negative experience for many.

    Out of the three drivers, which one of your configs did you enjoy the most?

    Thank you for writing this series of posts – very insightful.

  7. Man, linux really needs smoother touchpad and a smoother input experience in general. I desperately want to switch from Windows but there is this huge amount of annoying imperfections that make switching real painfull.

  8. Hello. I don’t usually comment on blogs, but this is an important enough topic that I needed to say something.

    Please pursue this further. I guarantee that there are tons of folks out there searching for better options. I also thought it would be simple to adjust the scroll speed from the synaptics driver, along the same lines of thought as you described. I was disappointed by what I found.

    Linux thrives at breathing life into hardware that would otherwise be abandoned or systematically cycled out. I’m using an 8-year old Thinkpad that would be collecting dust on a family member’s shelf if I hadn’t adopted it . With an SSD, it boots in 15 seconds. Physically speaking, this thing is _solid_. I see no reason why this hardware should be thrown away.

    There’s something transcendent about providing a smooth user experience on an dated piece of hardware. I see it as an act of defiance against the standard paradigm of planned obsolescence. If you choose to continue this pursuit, you will be helping many people find new life for their old technology.

  9. Hey so one way of doing this is to actively talk to the major DE’s. Not for dev support since ALL are low on developers in comparison to user base – but as a way to promote, raise interest and funds AND to ensure that the effort is cooperative between them.

    Another idea is to look at the companies behind different distros, Redhat, Suse, Blue Systems (from KDE) and similar might all pitch in to at least create a base plate economically to start the project off.

  10. If you can, it would be absolutely great if you pursue the path to a better and smoother touchpad experience in Linux. I had problems with my Dell precision for years and it was driving me nuts. To the point that I deactivated my TouchPad and only used the little touchpoint on the device.

    Nowadays I use a ThinkPad and has a pretty good touchpad experience, but I assume that a lot of people have the same problems. Especially palm detection is a big problem with Linux touchpad drivers.

    I would definitely support a Kickstarter campaign!

  11. I spent a couple weeks trying to figure this out myself when I got a MacBook Air a few years back. I even found myself hacking on the drivers (something I’d never done before) in the hopes of getting them working better.

    I had some details collected in this Gist: https://gist.github.com/philipn/5274197#fix-trackpad-kind-of

    My take on it then was that all of the default drivers in Linux just wouldn’t work with any kind of configuration options. The drivers weren’t written to do things we naturally expect to work on a MacBook such as: thumb detection — both to detect a resting thumb and the difference between a thumb and the index finger in when three fingers are on the trackpad and a scroll happens with the two non-thumb fingers; ‘edge’ detection, meaning that a finger can grace the trackpad as typing happens, or can be left to rest on the top of the trackpad as typing happens; etc, etc. Not to mention scroll behavior. And gestures..oh man, that’s a whole other story and I didn’t even try to get that working.

    I’m saddened but unfortunately not surprised that not much has changed since then. Everyone I brought the issue up with didn’t seem to notice there being any kind of problem, which I found remarkable.

    My theory was the best course of action was to port the Chromebook’s trackpad driver to Ubuntu. I’ve used a Chromebook before and it didn’t have completely insane trackpad behavior.

    Anyway, yes, count me in as very interested!

  12. The only reason I buy Macs instead of just a Lenovo or something, is because of the touchpad. If the touchpad controls could be replicated in linux I would definitely pay monthly/annual subscription for access.

  13. I do care, and I would gladly donate to the Kickstarter to make this happen.

    Thank you for writing this very informative blog post.

  14. Please target only the top 3 to 5 high end developers’ laptops. It will be a much smaller scope, more capable hardware, and those are the users who actually have money to crowdsource this project to success.

    Raise money, don’t be shy.
    Explain why and how you can achieve the goal. Invest in a professional , well thought crowdsourcing video. Don’t make it look cheap/nerdy.

    Your target is not people who install gentoo in thinkpads from 2001, it’s rich engineers who get shit done. I.e. MacBook Pro customers / touchbar refugees.

    Remember you can even charge for licenses, it doesn’t need to be free. It needs to fucking work and really well. This can become you job very easily.

  15. YES! It needs to be pursued. Thanks for this great post. What about talking to companies that are invested in Desktop Linux, if there are any?

  16. +1 from me. I don’t know if or how I can help, but I’d be willing to _something_. I am typing this on my 2013 macbook pro, even though I want something new and nice running linux. I have tried a few linux distros, and a lot of tweaking them, and the best experience away from the mac is my x270 running pop!_os, and using the lenovo nubbin, *not* the trackpad

  17. Please carry on with this effort. It has bugged me for years! Willing to put some money toward a crowdfunding campaign. Please notify me if/when by email.

  18. I never cared about touchpads on Windows and Linux, till I used a Mac Book. A touchpad always had been an annoyance. It moved away focus during typing to somewhere else. Never been able to click where I want and not some random element somewhere around. Short, it had been a PITA!

    As I now have to switch back to Windows for a lot of tasks and hate it, powerful enough hardware from the greediest hardware producer in the world still is too expensive, I plan to use Linux for the rest. Hence, I really would enjoy and appreciate a well working touchpad!

    It really is time, to show the Linux world this can be a usable tool!

  19. I try some latest “best UX” Linux once a year to see if I can switch from Macbook. This year was a no for this particular reason.

    Make a repo and keep people posted, please!

  20. Thanks for bringing this up. I use Ubuntu on my Macbook and battled with the same settings (and read the same article) until Ubuntu switched to libinput in 18.04 and now it’s decent, although nowhere near MacOS performance.

    Believe it or not, this is a critical thing to get right!

  21. I would most certainly donate generously to a kickstarter campaign or similar that would sponsor efforts to replicate the flawless touchpad handling of macOS in Linux.

    A few things I would like to note:

    1. There should be focus on a Wayland solution, rather than an X11 solution. The world is moving on, and Wayland is becoming the standard. Fedora, which I use, ship with Wayland.
    2. I use a resting thumb to click, while moving with my index finger (or scrolling with index+middle finger). Therefore, there are always at least two fingers on the touchpad. macOS correctly ignores the idle thumb for all gestures, and can handle things like holding the button with the thumb while scrolling with two fingers (think “drag and drop while scrolling”). The standard Fedora stack sometimes handle this correctly, but often get confused and interprets thumb+index as a two-finger click/scroll, leading to unwanted results. I am unsure if Apple just has this under the accidental touch rejection, or if they handle the thumb as a special case.
    3. It should work on non-Apple hardware too.

  22. Ah. Just like the comment above, I don’t usually post comments. One of the primary reasons for me to use a Mac is it’s touchpad. I do not want to go back to using Linux and mostly because of it’s touchpad experience. The gestures on Mac to switch between desktops is something I really need. I don’t carry around mouse either.

  23. Yep definitly worth pursuing. When it comes to laptops, the only reason Apple is in the picture (atleast considered) among dev colleagues is due to their superior touchpad.

  24. I recently jumped ship from macOS ecosystem and am running Arch on a refurbed ultrabook. I don’t think I’ll be going back because of touchpad (I can live with this) but it is a big problem, and I think its worth tackling. These are the kind of things we need to offer if we want less technical folks using linux and I would love to support this project.

  25. Yes, 100% absolutely worth improving Linux touchpad experience, and I’m willing to put some money into it. After GitHub, I spent a year doing a non-profit called Codestarter where we installed Linux (Ubuntu) on low-cost Chromebooks [1] and gave them to kids that wanted to learn how to code. Part of the reason we shut that down was the inability to create a good enough experience on that hardware. In ChromeOS, the trackpad was excellent. In Linux, even with a “port” of the ChromeOS touchpad drivers, it was terrible. An amazing touchpad experience out-of-the-box on Linux would do wonders to drive adoption and give Apple more to think about when it comes to giving customers what they actually want in their MacBooks.

    [1] https://github.com/codestarterorg/ubuntu-chromebook-installer

  26. I’m curious, are the set of the problems you describe specific to your hardware+driver combo? I ask this because I’ve used a 2013 MBP 15″ for 4 years and then switched to Dell XPS 13 + Kubuntu last year. The touchpad is smooth, including two finger scrolling (I didn’t feel it was different to what I felt on the MBP).

  27. I’ve grown disillusioned with Apple over the last few years. I’m a developer and a vim user and I tried to give the touch bar a real chance. I ended up having to remap caps lock to control/escape which made the laptop usable but I discovered how much I really missed all the other keys, not to mention how terribly messed up my muscle memory became.

    I’ve been considering to switch to Linux for a while now. The one thing that still really keeps me on a Mac is the touch pad. Living without multitouch gestures feels like chopping off an arm, and carrying around a mouse with me is just as offensive as carrying all the Mac port adapters.

    I’m totally in support of this project and I would definitely contribute to a kickstarter campaign. I feel abandoned by Apple and I’m looking for the exit. I just haven’t found the correct off-ramp yet but this is a good sign that one might be approaching soon!

  28. You’re not alone, the touchpad is one of the most important parts of the laptop experience.

    However, I am very unoptimistic about the issue. I doubt it will be possible in the next ten years (linux always seems to be about a decade behind). Even if you could write a perfect driver, that’s only one of many issues. You also need DEs to implement gestures (simply detecting a gesture as a discrete event like keyboard shortcuts is not enough), you need UI frameworks like Qt and GTK to make decent APIs for the new driver capabilities and finally you need app developers to integrate the new APIs (who for the most part don’t really care about it).

  29. This needs doing. I am having a bad experience with my xps 13 trackpad. I hope you shall be the chosen one. Thank you.

  30. It matters! Every time I’ve come close to pulling the trigger on switching to a Dell XPS + Ubuntu (which would be my preferred non-OSX/non-Macbook solution) I get stuck on the trackpad. It’s just awful.

  31. I feel you. I’ve been moving away from the macOS ecosystem into Linux and this is exactly one of the worst issues. Same for the Magic Mouse, which is a trackpad in itself. The support is just terrible. Start a project and I’ll jump in to help.

  32. I agree with you it needs to be done. That and Bluetooth drivers are the main things keeping me from using Linux

  33. Just to echo what others have said: this should absolutely be a priority.

    And to add another name to the pool of those potentially interested in backing this project: Purism has built a quality laptop, and their touchpad is pretty good, but it could definitely be improved.

  34. I think you’ve identified a key weakness in the ecosystem here. I’ve recently ditched a Macbook for a Dell and spent days trying to get the touchpad to be workable. I’ll keep an eye out for the Kickstarter.

  35. Waiting for this ever since I started using Linux full time 5 years ago!
    I don’t have the skills or knowledge to work with drivers as I have never played with kernel code at all but would love to help in out in other ways.

  36. Yes!!!! I would gladly donate money to this as well. Please post a link where we can show our support.

  37. Please, let this be a thing! I kept coming back to the “Scrolling with pleasure” blogpost by Pavel Fatin because I wanted a mac like touchpad experience to be a realtiy.

    I personally know people who bought Apple products for the sole reason that the touchpad is fun. Others bought iPhones when they were new because good touchscreens are fun.

    Input can really make or break a device/OS.

    Please make this a reality on Linux!

  38. Yes, oh yes! This would be so great!

    I am tired of suffering, and I am tired of being mocked by my colleagues that are on OS X.

  39. If you’re interested, I have put together three demos in C that read directly from /dev/input/event. (1) is a hockey puck that you move around. (2) shows you the fingers that are being tracked. (3) is a crude rubber band effect / elastic scrolling. The source code is at github.com/arthurchoung/linux-trackpad-demos

    My opinion is that the actual kernel drivers are good, the multi-touch (MT) protocol works, but the kernel drivers should only provide the raw touch events. The interpretation of those events (which then turn into gestures) should occur higher up in the stack, possibly at the application layer.

  40. Happy to donate both money and development resources to improving this experience. I’ve spent so much obnoxious time trying to get trackpads to work right on linux.

  41. Oh this is so critical. The fact that I cannot figure out a way to set up my xps13 or p51s or gpro3 touchpad to allow me to comfortably rest my thumb on the bottom of the mousepad while one-finger touching above like on all macs I have owned for the past 15 years drives me crazy. I’d be happy to contribute to a kickstarter campaign to this end.

  42. Nice writeup. In case you missed it, `xf86-input-mtrack` development has continued in the fork by p2rkw on github.com/p2rkw/xf86-input-mtrack . Maybe you can work together to improve it?

  43. Yes. Please please please. The touchpad experience of every non-mac system I’ve used has been horrendous in comparison. It’s something that causes active stress on a daily basis.

  44. This would be so awesome. I’ve been burnt by owning the new Macbook pro, and the keyboard (plus trackpad) woes have left me deeply distrustful on relying on Macs for my professional needs.

    1. I really don’t want to do this, but I want a Unix based OS. Linux is not an option with this issue. Sadly, I am thinking about getting a MBP…

  45. Yes yes yes. I want to make Linux my daily driver, but I can’t stand the current state of trackpads. I am staying with Windows until this is improved.

  46. > About once or twice a day, when I put my thumb down to click or start scrolling, my open document would jerk toward the bottom of the scrollable viewing area. I Googled it. I installed the xinput listener, captured all my tracking input into logs, and tailed the logs to look for patterns that preceded the bug.

    Did you manage to figure out why this is happening? The same happens to me as well, a couple times per day and it’s infuriating. It’s the only real issue I have with the synaptics driver. Would be perfect if this problem could be solved somehow.

  47. mtrack doesn’t really have a large code-base (although it may be only fixable in mtdev, however this is unlikely), and it shouldn’t be too hard to add ‘Cursor Nudge’ detection. Do you happen to know of relevant code/commits, or even terminology for Synaptics’ fix for that? I’m interested in adding this to mtrack.

  48. I would love this. Currently nursing a dying MacBook and the cost of a new one is really making think again about other things…

  49. I have been fiddling with settings all week, trying to make myself comfortable with Ubuntu for the third time, moving from Windows. The touchpad is driving me crazy, cursor jumping around because a bit of my hand touches the corner of the touchpad by mistake and makes me lose focus of the terminal, wrong scrolling speed, no possiblity to have smooth pinch-to-zoom (even in an image viewer, can you image that?), sometimes the finger swipe stop working… I am on wayland right now. Ubuntu 18.10

    I would help in any way possible.

  50. I would love to see this happen! I have not had any experience with driver development until now, but I’m willing to learn and support this project.

  51. I completey support this, and if need be I would even be willing to fund this. Already over three years ago I wanted to get rid of MacOS and installed Linux on my 2010 Macbook Pro. I couldn’t stand the way the touch gestures were feeling on Linux and went back to OSX within a day. Sadly. Ever since I have been waiting for better drivers. I would do that myself, but as I am not a developer I fear that this is close to impossible.

    But interestingly, I just installed Xubuntu 18.04 on another 2010 Macbook Pro – I thought after so long it’s worth another try – and found that scrolling in Xfce’s start menu works exactly as it would on OSX. The UI follows the fingers precisely without delay, it’s amazing. It works similarly well in the file manager. But unfortunately, this is not the case anymore in Firefox. Anyhow, it seems that the Devs are on the right way now!

  52. YES YES YES!!!

    Awaiting your next post with keen interest – I am transitioning from a MacBook Pro right now and trackpad quality is my number one concern too.

    I depend on tap-to-click, so improved palm detection is my first gripe with the Synaptics driver (and libinput’s “turn off the trackpad whilst typing” solution is, I’m sorry, lame). My number two desire is multi-touch swipes to navigate. Everything else about the Synaptics driver is perfect IMO.

    Thanks for doing the deep dive and not letting this go!

    Ian

  53. This is also a pain point for me. Even chromebook touchpads seem to work better – is it possible to pull ideas (or even code) from that? I’m currently using synaptics, and it’s usable – but I feel like I’m walking on egg shells just to get typical stuff done without having the pointer/selection/drag+drop go haywire at some point. I’ve lost plenty of work with things seemingly disappearing before completion due to erratic touchpad behavior. Eagerly awaiting your next installment …

  54. I would be willing to pay for a decent trackpad solution in linux which behaves like a macbook pro. It’s a nightmare the trackpad default behaviour, not sure how people can live with this.

  55. I am in full support of your mission, having just recently felt the acute pain of inadequate trackpad support on switching to the otherwise wonderful Manjaro Linux.

  56. The problem is hardware as well. Ive heard that the macbook trackpad under the hood, is almost like a touchscreen? Completely different technology that Apple has patented.

  57. Eagerly awaiting your update. Been a MacBook user for fifteen years and like others, find what puts me off the most as far as using Linux as my every day desktop is the track pad.

  58. Yes, this is a major situation. After doing the comparisons, this is THE reason I can’t forego the Mac for any other laptop.

    I wonder if a good first step might be excellent Linux support for a Mac trackpad? If I could at least revive my 2012 MacBook Pro (which I don’t think will run any supported MacOS version but is in perfect physical condition) and run a modern Linux on it with perfect trackpad support—that would be a wonderful step in the right direction, and a blow against planned obsolescence. (I haven’t tried a Linux install on it yet.)

    Then, there are also the standalone Bluetooth Magic Trackpads made by Apple. If those could be hooked up with any Linux-based OS running on a computer with Bluetooth hardware, that would be awesome.

    I haven’t seen anything like the quality of the physical Mac trackpad elsewhere, never mind the excellent integration to the OS and the perfect acceleration. So supporting THOSE would be a good first step, in my opinion.

    1. I just revived a 2012 MBP with macOS high sierra and Manjaro (dualboot without refind etc. by just holding the option key on boot to switch).

      To create a bootstick I used dosdude’s patch tool (http://dosdude1.com/highsierra/). I installed macOS and then resized the partition to create another one for linux.

      Manjaro allows the usual stuff like scrolling with two fingers but not much more. It’s usable though it isn’t the same experience as with macOS of course.

  59. This. The touchpad experience was my primary concern when switching to Linux and still is my biggest complaint. I didn’t have much hope left that enough people in the Linux community care about these details or acknowledge that the macOS touchpad experience is, simply put, perfect while the Linux one is far from it and that the touchpad experience is fundamental to the overall user experience.

    You, Sir, just restored that hope. I would definitely put down money for this if you tell me where.

  60. I would 100% donate to a Kickstarter campaing or would contribute with a few hours weekly. This is the main issue with Linux usage/interface and I would love to see a nice trackpad solution with proper gestures.

  61. So funny, reading this feels like therapy. Been using one single MacBook from 2009 til the end of 2018. I literally never had a single hardware issue. I sold it because apple’s latest design choices made me feel like I needed to get away from them. Like as far as possible. I bought a XPS 13 9360R, the best sub notebook with recent hardware money can buy, even though never revisions (unfortunately usb-c only) were available. I had it set up with ubuntu-mate and i3 in no time and I was pretty happy with it. My keyboard-centered workflow kept me from noticing that the trackpad didn’t seem to work the way it was supposed to. When I did it was obvious that it was a config/driver problem. Linux wasn’t a stranger, so maxing out configs for libinput and synaptics didn’t take long. BUT: it didn’t help much. I realized that I couldn’t achieve what apple does with this machine (or any other that isn’t apple).
    The XPS 13 keyboard feels very similar to my old MacBook keyboard. But there’s a huge difference: While working well in general, it will not register keypresses if the keys are not hit right in the middle. Even if you push the edge of the key all the way down it will not register all keypresses. So I was constantly producing typos. No, I don’t think that’s a hardware issue. It’s just this type of keyboard not working very well with my way of typing. Anyways it was driving me nuts.
    What did I do in the end? A couple of days ago I bought a used MacBook Pro early 2015 in mint condition and I’m the happiest person 🙂
    Yeh I get it, doesn’t solve the problem.
    I’d love my XPS trackpad to work the way my MacBook trackpad does or run linux on my MacBook without losing my trackpad.

  62. +1,000,000. And I’d be willing to donate and help in any way I can.

    XPS 13 here, running Kubuntu 19.04 with the default libinput driver. Basically, everything is great EXCEPT for the touchpad. No coasting, and yes, the occasional misfire / non-fire upon tap-to-clicking. I would be happy to live with the other limitations imposed by Linux relative to Win10 / MacOS to enjoy the many benefits Linux brings, but the touchpad behavior is killing me 🙁

  63. Maan, I just spent some good 2 hours tweking mtrack to try and make it decent on my lg gram, but it doesnt seem to be possible. The scrolling in particular is just so far from the macbook experience. I would also put money for someone to fix this

  64. It is 2020 and I just jumped ship on Apple for a nice Lenovo Ideapad Flex. It is so nice in so many ways, but the trackpad may be a deal killer. Trying to stretch a window is horrible. When I put my thumb down to grab it rolls to a new location. I notice that even with a mouse plugged in the speed and acceleration are really crappy compared to the mac.
    I am a newbie at linux (running pop-os), but I have figured out how to customize quite a few things to my liking. Curious to know if people think the Windows experience is better.

  65. I love linux, and use it anyway due to a plethora of other reasons, but this is very much an issue I’d be willing to help fund. Using linux on a laptop has always been a bad experience for me for one overarching reason: the touchpad. Synaptics is **way** too finicky and doesn’t seem to grasp the concept of speed vs acceleration. I end up spending hours tweaking the drivers just to get it to be tolerable. A solution that just works would be absolutely amazing!

  66. I totally agree, it matters. I believe it is absolutely important to properly devide the issues into some subsections. The most hardware-related section should do nothing more than exposing the coordinates of all touches in a simple interface. The section in the middle should transform these coordinates into cursor movements and scrolling/zooming instructions an the last section should take these instructions in a simple interface and trigger the real action.

  67. I stumbled on this post because, I too, have decided I need to “roll my own” touch pad driver if I want something reliable. My goals are not as lofty as yours. I just want a drive that works 100% of the time on my laptop (currently using Synaptics). The i2c_hid module constantly looses arbitration after timing out.

    I see this post is old but I would be interested in collaboration or at least sharing knowledge with anyone interested.

  68. Trouble with Touch Pad’s is that they have evolved from a driver driven parameter exclusive to certain brands of Touch Pad’s to a more universal Precision driver built into Windows. This was a great move on Microsoft’s part to try and replicate the experience on a Mac which is very good but is that way because Apple has complete control of the hardware. With Linux your not only trying to replicate the driver, but if its a Precision Touch Pad your trying to add in that experience as well. Trying to support old technology and new never really works. What I have experienced with Linux is a tradeoff of supporting basic old school touch pads with the more complex multi gesture precision ones. Let’s just say I typically end up using a mouse when I work in Linux over trying to tweak my Touch Pad to work well.

  69. I have yet to install a Linux distro. on a notebook where the touch pad even worked as good as some Windows notebooks in the early days before precision drivers built into Windows. It would be almost impossible to replicate the experience on a Macbook running MacOS. Apple has the means to tweak everything to perfection. Most times if I am using Linux on a notebook I use a mouse. I am fed up with the once driver fits all mentality of Touch Pads with Linux.

Leave a Reply

Your email address will not be published. Required fields are marked *