Hacker News new | ask | show | jobs
by 5e92cb50239222b 1649 days ago
That "dev" you're criticizing here has been developing libinput solo since the beginning. He asked for help numerous times and never received any. So either step up and do the work, or stop complaining.

https://www.youtube.com/watch?v=HllUoT_WE7Y

libinput is yet another of those fundamental libraries that receive almost no developer attention, but get all the blame when something goes wrong: https://xkcd.com/2347/

1 comments

He could also not have written libinput to begin with. libinput became the default because of political pressure from Red Hat and now we can’t complain if it’s worse than the project it is replacing?
There isn't any political pressure from Red Hat. They're often the only company that does any work on the input stack in userspace, without them it would probably not even exist or be stuck in a very old state. You can complain but it's unlikely to be of much use when the real issue is lack of manpower and there just aren't enough people to respond to all the complaints users have. A surefire way to solve that would be to start contributing, Red Hat won't stand in your way.
Sounds like your complaint is with Red Hat and not the developer?
> 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:

https://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-...

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.