> libinput became the default because of political pressure from Red Hat
I don't know if this is true, but when comparing the KDE configuration screens for both, it sure seems like it must be true. libinput is missing much that synaptics has and doesn't seem to do anything better as far as I can tell. Unfortunately, just because a developer is working hard and pouring his heart and soul into something, doesn't mean the result is actually worthwhile.
It's not really true at all. The libinput developer blogged about why having more configuration options has historically not actually been good for the project, or for users of the synaptics driver:
Particularly, once you add a configuration option, you're now on the hook to support that option indefinitely as long as the project exists and users expect that option to be there. With more maintainers and testers, it may become feasible to have more configuration options, but it's still not a good idea to just keep piling them in. It might be satisfying to see a big configuration panel with a lot of settings but it's a lot less satisfying when you figure out a lot of the configuration options don't work correctly because the underlying system has bugs or is under-maintained or was just never tested with your specific configuration because input is hard and requires near constant testing against an extremely large number of hardware devices.
One-size-all doesn't fit me. synaptics gets the job done and libinput doesn't, it's really that simple as far as I'm concerned.
An example from elsewhere in this thread: "In libinput the edge scrolling is hard coded to 7mm" Somebody please tell this dude that the size of a human finger varies dramatically from person to person. Not everybody has his hands.
As for developer workload, the libinput developer could save himself a lot work by not starting his project in the first place. It doesn't seem to do anything better than synaptics so I don't see why it even exists.
>synaptics gets the job done and libinput doesn't, it's really that simple as far as I'm concerned.
From a maintenance perspective it is unfortunately not that simple. I sympathize with your frustration and personally I too wish it was that simple but it is not. The synaptics driver might be able to do some things better but those things can also cause bugs to manifest in other areas, and have historically done so.
>An example from elsewhere in this thread: "In libinput the edge scrolling is hard coded to 7mm" Somebody please tell this dude that the size of a human finger varies dramatically from person to person. Not everybody has his hands.
Well this is an open source project so you (or anyone else) can tell him if you really want. Have you checked if there is an open feature request on the tracker for this? Or better, can you propose a configuration API that would work well here, and can you help maintain it and test it on the hundreds of devices that it might potentially affect? I checked and I couldn't find any feature requests or proposals for this but maybe I missed something. If you don't want to do this then you may have to wait until somebody else makes the proposal and until the maintainer gets bandwidth to do that non-trivial amount of work, which is prioritized against all the other feature requests that might have been received.
>As for developer workload, the libinput developer could save himself a lot work by not starting his project in the first place. It doesn't seem to do anything better than synaptics so I don't see why it even exists.
But that's not the case at all. I'm sure you understand, there are a lot of other devices out there besides your particular touchpad and synaptics touchpads in general. You may want to read the rest of the libinput developer's blog about some of the motivations behind libinput, it solves very real problems that were directly caused by the synaptics driver. If you never encountered those bugs, that's great for you and you can continue to use it, but this was not how it was for a lot of other users. Remember we're still in this area where a critical project like this is only really being maintained by one developer, if they quit then you're left with no developers working on the input stack at all.
> "In libinput the edge scrolling is hard coded to 7mm and previous attempts at making it configurable were rejected."
I guess I should have quoted that full sentence. If somebody else does the work for him he'll still reject it. I've read the blog post you linked, he's most concerned about keeping the software simple, not making it actually work for real people. I think I have better things to do with my time than try to bring this guy around to my way of thinking. When I said "somebody should tell him" I was being facetious; that different people have different size fingers should have been obvious to him from the start, so he's clearly a lost cause.
> The synaptics driver might be able to do some things better but those things can also cause bugs to manifest in other areas, and have historically done so.
Well hypothetical or historical bugs don't concern me. Synaptics is working for me and always has. And I'm certainly not the only one.
> But that's not the case at all. I'm sure you understand, there are a lot of other devices out there besides your particular touchpad and synaptics touchpads in general.
It's a common misconception that the synaptics driver is only for synaptics touchpads. From the manpage:
> The name "synaptics" is historical and the driver still provides the synaptics protocol parsing code. Under Linux however, the hardware-specifics are handled by the kernel and this driver will work for any touchpad that has a working kernel driver.
Edit: I realize I probably sound unreasonably annoyed by software I don't even use, so let me explain: because of Red Hat, distros are now defaulting to libinput and I now have to work around this to continue using synaptics. It's caused me inconvenience despite me never wanting to use it in the first place. I earnestly wish it would just go away.
> he's most concerned about keeping the software simple, not making it actually work for real people.
You think your use case represents "real people"? Your problem is so niche it's not unreasonable for the developer to recommend you fork it and maintain your change as a fork for as long as you wish to use it. Real people don't fiddle with their touchpad settings to that extent. It's quite alright for you to prefer more complex solutions as well, but the vitriol towards libinput, a fantastic solution for 99.999% of users is undeserved.
This niche is not "real people" because "real people" don't use Linux. At the same time there are a lot of unreasonable requests, and the developer makes something free and shouldn't be bothered with such a low reward. Rudimentary functionality in Linux is quite good, maybe it will be a real issue in usage, but "real linux" users use keyboard. ;)
I just saw your edit and I'll respond to it separately. I don't understand what you mean by "because of Red Hat". Maybe Fedora and RHEL are shipping libinput but other distros don't have to do that, it's their decision to use it and not default to synaptics. You could probably find one that doesn't use libinput, or you could ask your distro not to use libinput by default, but you may have limited success with that because of the other issues with the synaptics driver that weren't really ever fixed. It's an unfortunate decision that distro developers have to make and it's solely their decision, not Red Hat's.
Although it's not really a coincidence if they make a lot of the same decisions that Red Hat does as they also have to field the same type of bug reports in these components and generally they will make similar decisions focused around minimizing bugs, sometimes at the expense of no longer getting to say that they support a giant feature matrix. I'm using debian for example and I don't think there are any other efforts or desire from downstream to focus on fixing the long standing issues in these old xf86 drivers for hardware that a lot of distro developers may not even have access to so they can test their changes. Wishing libinput to go away isn't really an effective problem solving strategy as that won't solve any of the issues with the old drivers that caused them to get removed as the default.
>If somebody else does the work for him he'll still reject it.
I would like to see this statement where he said he would reject it, I searched and couldn't find any statements to that effect. If it was rejected for some technical reasons then a way to proceed would be to address those reasons and then make a proposal from there.
>I think I have better things to do with my time than try to bring this guy around to my way of thinking. When I said "somebody should tell him" I was being facetious; that different people have different size fingers should have been obvious to him from the start, so he's clearly a lost cause.
I don't think you are operating in good faith here. It seems a bit ridiculous to suggest the person who maintained the very synaptics driver you're using doesn't know that finger sizes can vary. Again, if you want to change minds, the best way to do that would be to make a proposal that will actually work and offer to help shoulder the maintenance burden. That goes a lot farther towards convincing people toward your way of thinking than anything else, if you haven't done that I don't think you can honestly say you've made a complete effort. At least that is my view on how these things go when somebody says they're overwhelmed and they need help. This is pretty much exactly what happened with the recent touchpad changes, somebody else raised some money and offered to take up a lot of the work, and that's why we're commenting on this article :)
>Well hypothetical or historical bugs don't concern me. Synaptics is working for me and always has. And I'm certainly not the only one.
Sure, but for some others it hasn't worked, and for the maintainer the historical bugs always concern them. If you intend to work on this and contribute in a meaningful way, you can't ignore those. A good way to start contributing might actually be to go and look at some of those historical bugs so you don't cause a regression.
>It's a common misconception that the synaptics driver is only for synaptics touchpads.
I am aware of this, the scope of libinput is still much larger than the scope of that driver. That was what my point was.
> I would like to see this statement where he said he would reject it, I searched and couldn't find any statements to that effect.
It follows from his reasoning that allowing the user to configure the driver to their personal preference would make his job harder because it increases the number of possible configurations. And also from him rejecting such a proposal already.
Can you please share the email or issue where the proposal was made and where it was rejected? I still can't find it. I'd like to continue this conversation and discuss what can be done about it, but we can't discuss this much further without that because I don't really know what you're talking about. I will even look at the proposal and tell you what can be improved about it so maybe it can be made again in a better way. If the reason it was rejected is it because it made his job harder, a way to solve that would be to offer to contribute so you can make his job easier and take some of the maintenance load off him.
I don't know if this is true, but when comparing the KDE configuration screens for both, it sure seems like it must be true. libinput is missing much that synaptics has and doesn't seem to do anything better as far as I can tell. Unfortunately, just because a developer is working hard and pouring his heart and soul into something, doesn't mean the result is actually worthwhile.