10 ms·
Bored? Write a touchpad driver based on libinput which gives you identical mouse acceleration between Macbook trackpads and linux trackpads.
by bschwindHN 7y ago
Bored? Write a touchpad driver based on libinput which gives you identical mouse acceleration between Macbook trackpads and linux trackpads.
- jeroenhd 7y agoAs someone who can't be bothered to pay the Apple tax, what does the Macbook trackpad do that others don't? My experience with different mouse acceleration configs (Windows, Synaptics, Linux) has only been negative.
- savolai 7y agoYou need to experience it to understand just how much more calibrated it is to the human experience, feels natural, like air. :) How about visiting a store that sells macbooks?
- lilSebastian 7y ago> How about visiting a store that sells macbooks? After lockdown of course...
- jeroenhd 7y agoNot during lockdown I'm afraid. I guess if it's a "feel" thing it should be possible to replicate it with lots of tweaking, but I don't think many people who run Linux on laptops use the Apple trackpad much so the overlap between the people who want this and the people who care to write such drivers probably isn't big enough to come up with a Macbook style driver.
- lloeki 7y agoIf you’re thinking tuning as in artist sensibility and acceleration then you’re quite off, the experience goes way beyond this. For example rest two fingers and press to click, that’s a right click. But rest two fingers and click with the thumb, that’s still a right click, not a three finger click. Same for two finger scrolling. That’s a couple of simple examples but there are a lot of subtle corner cases like that all around the experience which are not just about tuning some values.
- qeternity 7y agoYeah, I’m not sure why there’s such a massive contingent that admit to having never owned an Apple product (some snarky comment about the Apple tax) and dismiss the hordes of serious engineers who use these products. Can you get 90% of the way there with your favorite flavor of Linux? Yup. Are there some things that Linux does far better? Definitely (looking at you containers). But it’s that 10% sugar that make most (not all) people more productive. But if I can make my expensive engineers more productive by spending a few hundred $ premium on the single most important piece of kit I’m giving them, well that’s insanely good ROI.
- cmendel 7y agoBecause closed source software is worse for everyone. Regardless of any other feature, being closed source makes Apple products a non-starter for a sizeable subset of the population.
- fox8091 7y ago"sizeable subset of the population" is a bit of an overstatement. Most people are fine with running Windows or macOS. There's just a vocal minority that wants open source stuff.
- lloeki 7y agos/artist/adjust/
- capableweb 7y agoI'm a huge linux fan and run both Ubuntu and Arch Linux on a daily basis, but I used to be on OSX and Apple hardware between something like 2012 -> 2015 before switching back to Ubuntu/Arch. The only thing Apple does better is touchpad input. And I also cannot put the difference into words, but if you have Ubuntu (even with synaptics drivers) and MacBook side by side, there is a noticeable difference in how they behave and feel but even by having them side-by-side, I can't consciously tell the difference, even if I feel it.
- Aeolos 7y agoOne of the main differences is that MacOS has visibly lower latency when scrolling / moving the mouse pointer. This is immediately visible when you scroll the same webpage on Safari/Mac vs Firefox or Chrome on Linux. I don't know exactly why this is happening, and there is no in-browser option that can overcome this difference, e.g. disabling smooth scrolling and enabling XInput2 helps but does not overcome the difference. It seems to be something more fundamental in how the drivers work and deliver input to the user interface.
- capableweb 7y agoInteresting, just tried this, where I compared my laptop (Ubuntu) and desktop (Arch) with my Macbook, and the latency actually seems lower on Linux than OSX, seems OSX has some smoothing that seems to make things look/feel slower. Scrolling is clearly faster on my laptop and desktop than the Macbook (didn't even had to record a video to see the difference), tried Firefox on both Linuxes and Safari/Chrome/Firefox on Macbook with the same result. So the quest continues...
- viraptor 7y agoI'm switching between mbp and xps15 and honestly couldn't describe the difference. They're slightly different, but I wouldn't call either one "better".
- ubercow13 7y agoI went to an Apple store to try just this and came away unimpressed. Apart from the much better integration of gestures with the OS, I didn't feel anything special about the touchpad or its acceleration curve. In fact the touchpad was quite annoying to use because there was a kind of block on movement after a click that was far to long, making it difficult to click multiple different things quickly in a row. Overall I preferred my own laptop using libinput at the time :)
- oefrha 7y ago> kind of block on movement after a click that was far to long There are two modes of operation, what you dislike is the default; the other is called tap-to-click, which doesn’t give you haptic feedback and you can click however fast you want. Opinion is divided on this, with many diehards swearing by the haptic feedback. I prefer tap-to-click.
- ubercow13 7y agoTap-to-click is slower though, if I understand correctly. Imagine clicking three adjacent buttons in a row as fast as possible. If you tap each one you have to lift your finger off the trackpad 5 times.
- oefrha 7y agoI can lift my finger just a tiny bit to register another click way faster than the haptic feedback would allow me.
- jeffhuys 7y agoWhat he's arguing is that if you have this: BUTTON 1 - BUTTON 2 - BUTTON 3 In your situation, you have to tap, lift finger, place finger to move, lift finger, tap, etc. In the other situation, you have to place finger, press lightly, move finger, press lightly, move finger, etc. Using tap-to-click can't be faster than the other situation. That said, I use both. Sometimes I just tap, sometimes I press, sometimes I press harder.
- pests 7y agoIIRC Linux and Windows drivers turn trackpad events into mouse events so by the time the OS sees the movement there is no touchpad info. Apple with tighter integration delivers the actual touchpad movement data and not a faked mouse event. Windows 10 has had work done in this area too but not sure the details.
- mschuster91 7y agoTo make stuff worse, Elantech/Synaptics feature-gate their drivers... I have had laptops where I put a trackpad driver from some totally different laptop and suddenly I'd have a lot more gestures. But no matter what, two finger scrolling and zooming won't ever be as smooth and "step free" under Windows/Linux... once experienced, cannot be missed.
- idle_zealot 7y ago>But no matter what, two finger scrolling and zooming won't ever be as smooth and "step free" under Windows/Linux That's not true. I'm not sure exactly what's changed but when running Firefox with the Wayland backend I've found that scrolling is continuous.
- auscompgeek 7y agoI'm still using Firefox on XWayland (because of the subtle bugs in the Wayland backend), but you can also get continuous scrolling on X using XInput2 as well (set the environment variable MOZ_USE_XINPUT2=1).
- jtvjan 7y agoSmooth scrolling isn't impossible, but it does need to be specially implemented. Firefox does so if you set the environment variable MOZ_USE_XINPUT2 to 1. Of course, on Mac OS X, it's built-in to the UI toolkit, so every application has it.
- willvarfar 7y agoI don’t have a clue about _why_, but I know from using macOS and Linux on mbp that whereas the touchpad basically works in macOS, it totally doesn’t function in Linux! :( In Linux, wrists keep triggering touch events as you type. Screens start scrolling, focus goes to random things, and everyone swears. You end up having to hold your hands right over the keyboard in a very unnatural way to avoid accidental mouse interaction. I’ve had this problem on my current hp laptop that replaced my mbp too. It’s a Linux concepts problem. Linux simply doesn’t cope with hands near the touchpad. Lots of coders I know use Linux on laptops. They swap recipes for how to disable the touchpad completely. <sobbing/>
- aliceryhl 7y agoWhich laptop are you using? This has never been an issue to me, and I've used Linux exclusively for years. I'm on a Thinkpad T480s.
- mrunkel 7y ago"mbp" = MacBook Pro
- jeffhuys 7y agoMacbook Pro's trackpad is _HUGE_. It's just about half the width of a 15" macbook pro.
- forty 7y agoI have exactly the same laptop and don't have any issue with the touchpad either and never really understood what's wrong with non Mac touchpad. Maybe it's just a cheap laptop vs expensive laptop thing than Mac vs Linux.
- pandemic_region 7y agohear hear, i'm on dell xps 9370 with Ubuntu and I've been having the same issues since the beginning. Yes, I also learned to hover my hands further above the keyboard to compensate. It's not very ergonomic. It's a bit better when i disable touch click, but then i have to physically click the touchpad which is harder on the fingers as well !
- seba_dos1 7y agoNothing. macOS simply implements touchpad gestures in continuous way as opposed to binary triggers, does it consistently across applications since most of it is handled by toolkit and comes with sane defaults that are harder to accidentally misconfigure than on other systems. Those things contribute to perceived user experience, but there's no real reason other than lack of software polish that it couldn't be like that on other platforms as well. GNU/Linux is slowly getting there, but there's still plenty of work left across toolkits and input stack.
- qeternity 7y agoThat “nothing” is everything.
- nottorp 7y agoThat "nothing" means that MacBooks (when running OS X) are the only laptops that are really usable without a mouse. Even in some games.
- vinay427 7y agoFor you, maybe. I think a TrackPoint (ThinkPad) is far superior to a trackpad, MacBook or otherwise.
- recrof 7y agoNot when you want speed and precision. the area of touchpad is far greater and it shows when you want to draw something, or move cursor between edges of the screen. that's the same as playing first person shooter on console controller vs the mouse.
- hedora 7y agoMy old correctly calibrated trackpoint (on Linux, even) was better at precision movement than any track I’ve used since (including all the major vendors).
- m463 7y agoIt's been a while since I tried the default setup, but I believe it is set up so mouse buttons are simulated by clicking on the bottom left and bottom right of the touchpad. Additionally the touchpad sometimes causes stray input while your hands are above it typing.
- enedil 7y agoI'm using Linux on MacBook for three years now and it feels just as comfortable as on macOS.
- noir_lord 7y agoI can answer this a little, for sensible reasons (the team I run at new job was entirely on Macs) I gave in and chose the 16" Macbook Pro over the Thinkpad/Fedora I'd have defaulted to normally (since my personal laptop is a nicely specced T series I still use that for personal stuff at home). Simply put the touchpad on the 16" Mac feels like its from the future, recognition is perfect, multi-finger gestures are consistent and always recorded so you can flip around between workspaces and after a day or two it becomes so ingrained that it gets out the way and you stop even thinking about it, it becomes fluent in a way other touchpads don't. On a recent Thinkpad with Linux I just use the TrackPoint, I've never gotten the touchpad to be more than merely acceptable. Frankly I still prefer working on my Thinkpad at home on my stuff but the touchpad on the Mac has ruined every other touchpad I interact with entirely. Generally I like the Macbook and OSX as someone who hadn't ever touched it til a few months ago is a pleasant OS for development, there isn't anything in there I really hate, it feels like a linux distro with a nice DE/UI mostly. Oh and I really like iTerm2, that's a really nice piece of software.
- dfc 7y agoI wish libvte supported triggers (perform action on text matching regexp) iterm2. It's the one feature I am always super jealous of OSX users. https://iterm2.com/documentation-triggers.html https://iterm2.com/documentation-triggers.html
- visarga 7y agoTrying to install Logitech MX Master 2S on Ubuntu 16 and it detects the device on bluetooth but not as a mouse device. So it doesn't move, it's dead. Windows and Mac work just fine. Apparently Logitech can't be bothered to have drivers for Linux or Linux doesn't know Bluetooth well enough to handle all mice.
- jorams 7y agoI also have a Logitech MX Master 2S, on Arch Linux, and it has been working flawlessly since the beginning. But the device was introduced in 2017, and you mention Ubuntu 16. Newer devices require newer drivers.
- rodelrod 7y agoUse the Unifying receiver, that's what I've been doing for 10 years with multiple devices. It costs like 15 bucks, it's tiny and works flawlessly for any OS/device combo I throw at it, including the Ubuntu 16 + MX Master 2S + K800 that I'm using right now. There's an app called [Solaar](https://github.com/pwr-Solaar/Solaar https://github.com/pwr-Solaar/Solaar) that helps with the pairing and such but I don't think it's strictly necessary (can't remember the last time I ran it).
- frosted-flakes 7y agoThe MX Master 2S comes with a Unifying receiver, so he should already have own. It's just annoying having a USB port permanently occupied.
- rodelrod 7y agoYes I can imagine it to be annoying for some use cases. My Carbon has, among others, 2 USB-A ports, 2 USB-C ports plus a trackpoint and a pretty good trackpad. My older Thinkpads have more USB-A ports than I'll ever need. So the unifying receivers are only used when sitting at a desk, where they're permanently plugged to USB-C hubs.
- therealmarv 7y ago
- Razengan 7y ago> As someone who can't be bothered to pay the Apple tax, what does the Macbook trackpad do that others don't? The trackpad is part of the reasons (along with macOS, despite its recent slew of bugs) people happily pay more for that others see as “tax”. Try it out on someone else’s MacBook or a demo machine.
- mmm_grayons 7y agoI switch regularly between Windows, Linux, and Mac systems with roughly equal time between each. I've never found anything magical about the trackpad, though everyone told me I would. It's a good trackpad, that's about it. Maybe I notice it less because I tend to primarily use the keyboard and avoid the mouse where possible.
- betaby 7y agoTry trackpad on a PixelBook. Also those driver/config changes can be found on github.
- tannhaeuser 7y agoWhat's wrong with the synaptics driver? It's the first thing I installed over stock Ubuntu, to make it even tolerable. Whereas with libinput, after only minutes of use, I noticed I actively avoid using the touchpad, subconsciously bracing for pain and frustration in advance. Is there a reason that libinput is so horrible? I'm not even sure if it's only gnome's/tweak tool's anemic settings dialog, or fundamental lack of kinetic scroll and sensitivity params in libinput itself. It's completely unusable for me.
- growse 7y agoMeh, libinput works fine for me. I suspect it's pretty hardware-dependent. From reading around, most of the distros started deprecating synaptics because it wasn't actively being worked on, didn't work with Wayland, required root for a bunch of stuff unnecessarily etc.
- archseer 7y agoSynaptics is deprecated with no maintenance. > The xf86-input-evdev driver is in maintenance mode at this point. The last commit was in May 2018 and, since the 2.10.0 release four years ago, there have been a total of 19 commits. It is still shipped in RHEL 8 in order to support "crazy devices" that don't work otherwise. Similarly, xf86-input-synaptics had a 1.9.0 release in 2016 and has had nine commits since. It is effectively dead and all touchpads should be working with libinput at this point. Since libinput took over from xf86-input-synaptics three years ago, no one has stepped up to say they want to continue maintaining it, Hutterer said.
- toast0 7y agoIf the devices aren't changing, and the interface isn't changing, why should the driver change? Working software should keep working.
- archseer 7y agoBecause it became a burden to maintain. https://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-lot-of-config.html https://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-... > In the old synaptics driver, we added options whenever something new came up and we tried to make those options generic. This was a big mistake. The driver now has over 70 configuration options resulting in a test matrix with a googolplex of combinations. In other words, it's completely untestable. To make a device work users often have to find the right combination of options from somewhere, write out a root-owned config file and then hope this works. Why do we still think this is acceptable? Even worse: some options are very specific to hardware but still spread in user forum examples like an STD during spring break.
- matheusmoreira 7y agoMy laptop has a Synaptics trackpad and came with Windows pre-installed. Trackpad acceleration was really comfortable on Windows. It all changed when I installed Linux. Tried adjusting the Synaptics driver settings but couldn't get it to match the Windows experience. So what causes this difference? Is the Windows driver just better than the Linux driver?
- lstamour 7y agoPossibly relevant: Windows “Precision Touchpad” specs, including https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/touchpad-tuning-guidelines https://docs.microsoft.com/en-us/windows-hardware/design/com... and https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-precision-touchpad-implementation-guide https://docs.microsoft.com/en-us/windows-hardware/design/com... It’s hard to find other details, at least in public...
- ygra 7y agoHaven't had a new laptop in a while, but as far as I'm aware, most touchpads are not Precision Touchpads and instead continue to emulate stuff in the driver without Windows knowing, so you're still at the mercy of the (usually shoddy) driver implementation.
- cercatrova 7y agoAll Windows laptops are now required to have Precision touchpads and for older laptops, you can simply install the precision driver onto them and they work the same way.
- archseer 7y agoPeople always complain about this, yet nobody contributes: 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....
- new_realist 7y agoThat’s because the problem is hard and deep, and most open source contributors work for free and are shallow, working to satisfy their egos and need for intellectual stimulation. Paid expertise is needed here. Imagine if all doctors and surgeons were volunteers; that’s the situation you have now with a lot of OSS.
- Twirrim 7y agoGiven the large majority of commits to the Linux kernel are done by people employed by companies to work on it, your starting premise couldn't be further from the truth, let alone the conclusions you draw from it.
- cameronfraser 7y agoGiven that they said most open source contributors I think they are right. Most contributors are not contributing to the Linux kernel. Most are contributing to (https://githut.info/ https://githut.info/) JavaScript packages
- cosmojg 7y agoFor a version of GitHut that goes beyond 2014: https://madnight.github.io/githut/ https://madnight.github.io/githut/
- Twirrim 7y agoI think that's being somewhat generous of an interpretation given the thread of the conversation, which is specifically about drivers. For it to be talking about Open Source developers in general would be a serious pivot.