15 ms·
Libinput's bus factor is 1 (2019)
- rurban 6y agoThat's good. So there is a high chance this project is high quality. Also previous experience burned him, when he said yes way too often. What if Stroustrup would not have been that notorious yea sayer?
- jonchang 6y agoI've found that this article was really illuminating with respect to some of the issues around `libinput`: https://lwn.net/Articles/801767/ https://lwn.net/Articles/801767/
- asveikau 6y agoWhen I read about this stuff a part of me says "why does this stuff keep getting rewritten?" I was using Xorg years and years ago and never had any kind of input issues. Example from the lwn article: > 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. Maybe that's actually a sign that it's good enough and doesn't need major adjustments? But here it is presented as if it is a problem.
- kelnos 6y agoIt's probably fine for keyboards and regular mice, but touchpads are... well... touchy. I've never had reliable palm rejection on a touchpad under Linux. The situation with kinetic scrolling is ridiculous (to be fair, Hutterer has decided that sort of thing doesn't go in libinput, because it doesn't have enough context to implement it properly, which I agree with). Drag-and-drop on a touchpad has poor UX, and god forbid you need to drag with multiple fingers. Even two-finger and three-finger click (right and middle click, respectively) are unreliable at times. I say this not to criticize, but only to point out that the driver is not "done". I am incredibly impressed with Peter Hutterer's skills that things work as well as they do, given that he's essentially the only person working on it. It could use more eyes and hands.
- sanxiyn 6y agoYou seem to be in agreement that keyboards and mice driver is, indeed, done.
- kelnos 6y agoYes, that's... what I said. But xf86-input-evdev also handles touchpads. xf86-input-synaptics, the other driver mentioned by TFA that is either unmaintained, or done, depending on your point of view, is definitely for touchpads. They're certainly not "done" when it comes to touchpads.
- seltzered_ 6y agoRelated: The "linux touchpad like a macbook" discussions: https://news.ycombinator.com/item?id=23235609 https://news.ycombinator.com/item?id=23235609 https://bill.harding.blog/2020/05/17/linux-touchpad-preliminary-project-funding-survey-results/ https://bill.harding.blog/2020/05/17/linux-touchpad-prelimin... https://github.com/sponsors/gitclear https://github.com/sponsors/gitclear
- robertely 6y agoGiven how ubiquitous the capacitive touch senors have become I'm surprised no one has put together an open source option. I've gone down something of a rabbit hole searching and haven't found any prior work. The closest I have seen is the Snowpad[1] but it's been discontinued by the maker and they pulled down the source as well. I'd try duplicating it but it used the Microchip MTCH6301 and it's been marked `Not recommended for use in new designs.` I'm hunting for an easy to use alternative if anyone knows one. I may still take a stab at the MTCH6301 just because of how easy it looks to use. [1][https://www.kitronyx.com/snowpad.html https://www.kitronyx.com/snowpad.html]
- solarkraft 6y agoWhat does "Open Source" mean in this context? Isn't the goal "just" to have an understandable interface? Also: Can you recommend some reading material as an introduction to using a capacitive digitizer? I am planning to use one in an upcoming project (either one from a tablet glass replacement or a stand alone one) and really have no idea what to look out for yet in terms of communication with my Linux board (bonus: Something about DIYing one because I need a special format, but I guess that's especially hard because it's supposed to go on to a screen).
- robertely 6y agoHaving a tidy interface is certainly a primary goal but there are others. - Control over the size/shape of the sensor pad. - Control over communication (i2c/spi/usb) - Ability to explore gesture behaviors and expose simplified interfaces to the OS. - Control over click feel/behaviors by customizing snap switch style, mount, and locations. - Control over the touch surface finish. (Did you know you can laser cut glass screen protectors? Why are none of these touch pads glass outside of macbooks?) - Open documentation on all of the above. As for reading material I can't recommend anything as a summery (see my last bullet). Manufacture design guidelines are probably where you should start. Case in point: MTCH6301: https://www.microchip.com/wwwproducts/en/MTCH6301 https://www.microchip.com/wwwproducts/en/MTCH6301 Microchip Sensor design guide: http://ww1.microchip.com/downloads/en/DeviceDoc/FAQs%20-%20Sensor%20Design%20Guidelines.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/FAQs%20-%20S...
- hinkley 6y agoAs I have asked a few coworkers, sometimes repeatedly, over the years: Do you have a bus number of one because nobody cares, or because nobody cares enough to put up with the code (or worse, you). You have to entice people in sometimes, and many of us are great at other things but terrible at this.
- Lammy 6y agoAre those the only two options? What about because everybody is already stretched thin and worried about covering their own self for performance reviews in a few weeks?
- numpad0 6y agoIf nobody cared wouldn’t it be zero?
- hinkley 6y agoI've gotten trapped taking over a project/tool that 'needed to be done' but nobody wanted to do it. The worst one, my recommendation was to get rid of it and do something else. I worked on making it more approachable but it was slow going and thankless work, as the previous maintainer had tried to do (he swapped out a grammatically unsound DSL for a set of functions and macros in Python) When I had succeeded in getting the bus number on my other responsibilities above 3, I left. And this is when one of my coworkers noticed that all but one former team member were associated with this code when they left, so maybe we should listen. I think the takeaway from this is sometimes it's you, sometimes it's the situation, but unless you change something, nothing will change. And even if you do change something, you can't always win. I strongly believe starting over is the last resort, but it is a resort.
- taneq 6y agoOr maybe because it works well enough that nobody feels the need to pitch in and fix it? It looks to me like the reward for good work is more work here.
- hinkley 6y agoAnd the people who think it's everyone else who has the problem, not them, bristle when you bring it up.
- Jonnax 6y agoI guess the problem is that nobody is generating revenue in a meaningful way with desktop Linux. Firms running Linux on servers can pay their employees to contribute to open source. But a peripheral input driver? Ubuntu had a shot at being "Desktop Linux" but it didn't pan out. Especially when remote desktop on Linux is not very good. (I've only used VNC and XRDP) not to mention a lot of extra packages.
- Polylactic_acid 6y agoIts probably also because people are motivated to help out when they see work to be done. For me, my mouse and trackpad work just fine. I don't even know what I could work on with such a project. It all just works.
- wang_li 6y agoGo read Microsoft's mouse ballistics from way back, if you can find it, then use a mouse on any Windows desktop since XP for a week. Then come back and try a Linux or Mac with an actual mouse instead of a touchpad. You can fix that. It's here: https://web.archive.org/web/20101222190833/http://www.microsoft.com/whdc/archive/pointer-bal.mspx https://web.archive.org/web/20101222190833/http://www.micros...
- throwaway8941 6y agoPlease, god no. If anybody really does implement this, at least be kind enough to leave the old behaviour behind a configuration switch.
- rowanG077 6y agoThis is the single worst input decision ms has ever made. The first thing you do is to turn that hellish thing of.
- IshKebab 6y agoWindows has by far the best mouse input of any OS. What exactly do you want to turn off?
- Scarblac 6y agoIt has happened twice during my career that a colleague got actually, literally hit by a bus. Both of them were back at work after a week, one of them had problems with their arm for a while longer but this risk is way overblown.
- speedgoose 6y agoIt's a metaphor to illustrate than someone can suddenly disappear. It can be a bus, a plane crash, a murder, jail time. It happens once a while.
- bregma 6y agoWe have been instructed to use the phrase "lottery factor" during our cynical rants. Everyone feels much better. I guess it's because of the "if I won the $70 million jackpot I'd just come back to work" meme. I'd buy a bus with my winnings and put the lottery factor into effect for my former coworkers.
- AnIdiotOnTheNet 6y agoThe problem with the "lottery factor" is that if someone wins the lottery, you can still theoretically go to their new mansion with a wrench and beat the information out of them.
- Scarblac 6y agoOf course. I just thought it was funny how it turned out in reality. Don't get hit by a bus, you'll be the butt of programmer jokes for years.
- squiggleblaz 6y agoI think you would have got a different reception if you didn't include the "the risk is way overblown" bit. Up till that point, yeah it's morbid but funny. After that point it seems even confusing - how can this person not realise the bus number is not meant to be taken literally? But yeah, I don't even walk out in front of vehicles that I'm not certain will stop when I have a green light and they have a red light. This surely pisses some drivers off when I stop in the middle of the road waiting for them to stop. They seem to be like "I'm not going to kill you and I'm offended you act like I will".
- pmontra 6y agoI skimmed through the issues at https://gitlab.freedesktop.org/libinput/libinput/-/issues https://gitlab.freedesktop.org/libinput/libinput/-/issues I wondered how a single person can verify, fix and test issues related to touchpads on a number of different laptops. Either Hutterer has a room filled with hardware or the people opening the issues become testers of the fix. I looked at the closed issues and it's probably the latter case. This means that there is an extra filter compared to the Linux projects I raised issues to: know about issue trackers, find the issue tracker, be able to test a fix. On the software development side, this looks like a difficult project to keep running because the interactions with so many occasional testers.
- Jasper_ 6y agoHaving worked with Peter, he indeed has a room full of laptops (Red Hat mails them to him every time they run into a customer issue!), but it's still a lot of work to test all of them and new laptop models get cranked out every day. It's a very difficult task for a single person.
- albertzeyer 6y agoOk, now I see why there is so less (or basically none) progress on my feature request of having mouse wheel acceleration (since 2010, even with a patch, https://bugs.freedesktop.org/show_bug.cgi?id=29905 https://bugs.freedesktop.org/show_bug.cgi?id=29905 and https://gitlab.freedesktop.org/xorg/xserver/issues/405 https://gitlab.freedesktop.org/xorg/xserver/issues/405 and https://gitlab.freedesktop.org/libinput/libinput/-/issues/7 https://gitlab.freedesktop.org/libinput/libinput/-/issues/7).
- WesolyKubeczek 6y agoI said it before, will say it again: this should be a problem of Red Hat management. I'm sure they are very much aware Hutterer is overwhelmed (what with blog posts, talks even, and all), but they won't hire anyone to work with him. In that blog post, there's a call to share the load but do it as free labor: "Anyway, I'm largely writing this blog post in the hope that someone gets motivated enough to dive into this. Right now, if you get 50 patches into libinput you get the coveted second-from-the-top spot, with all the fame and fortune that entails (i.e. little to none, but hey, underdogs are big in popular culture)." I believe if that position came with a Red Hat paycheck, finding a #2 wouldn't be such a problem.
- abrowne 6y agoRed Hat is part of IBM now. Another post on the homepage right now is "IBM to cut thousands of jobs as coronavirus plays out" https://news.ycombinator.com/item?id=23268191 https://news.ycombinator.com/item?id=23268191 Not saying that these IBM jobs are from the Red Hat part of IBM, but not the best time to hope they will hire more.
- WesolyKubeczek 6y agoThe blog post went out back when COVID-19 wasn't a thing.
- abrowne 6y agoIt went out not too long after Red Hat became part of IBM. But now that that is the case, IBM's dividends, through whatever turns the world and economy take, may be more important to them than the small subset of their Linux offering that is the desktop. Not that I want this to be true! I writing these comments from a laptop that I special ordered without even a Windows license since I planned to only run Linux on it.
- cycloptic 6y agoYou don't need to wait for Red Hat management to decide to do something, it's open source. If your company is a heavy user of libinput and isn't already paying for Red Hat subscriptions, then it's perfectly reasonable for your company to consider paying their own engineer to upstream some changes.
- anarcat 6y agothis fits my theory that the average bus factor is ~1: https://anarc.at/blog/2019-10-16-bus-factor/ https://anarc.at/blog/2019-10-16-bus-factor/ Cynics have also suggested the average is closer to zero, but I still have hope that we at least need buses for a catastrophe to happen. ;)
- carapace 6y ago> Lobby governments and research institutions to sponsor only free software projects. Good idea!
- SkyMarshal 6y agoAnyone know of a site that tracks bus factor for open source software projects? Would be useful in seeing where vulnerabilities are and where financial support is needed. I suppose Github and other repositories would be an ideal place to do that since they already have visibility into commits.
- carapace 6y agoThe bash shell is maintained by a single unpaid volunteer.
- hiram112 6y agoIt's too bad that such important pieces of the Linux desktop are so underfunded and neglected, though I can understand there just isn't enough revenue for even Redhat, Suse, etc. to justify hiring more developers. But with all these little issues that cause problems for individual users on all the different scrollpads and touchpads and other non-standard hardware, nobody knows the true harm it may cause and how many users decided to get a Mac or even Windows because some esoteric hardware they owned just wouldn't work, but could have been fixed with just a small patch had the developers been available. This will become even more true as WSL2 becomes a more viable alternative. Personally, my 'jumpy' touchpad on a new Dell Latitude I'd purchased a few years ago was my final straw in using Linux for development work. It was nearly useless with several different distros without an external mouse, and after getting used to Macbook's touchpad, I just couldn't rationalize using Linux when the touchpad is something I use so much. Fonts are another one of these issues that I think could be solved more easily than even a few years ago - several important patents have expired and Google and others donated very high quality fonts to the community. Unfortunately, there just isn't the amount of paid developers working to ensure that things look good out of the box on every monitor, and so fonts often look horrible, especially to new users who are coming from Mac and Windows, where the issue was solved by full time UI experts a decade ago.
- nsajko 6y agoIf I may ask, why do you care about your touch pad? At least for me, it pains me to use a touchpad while knowing I could interface with the computer faster with a mouse. BTW, the jumpiness is probably configurable, see https://wiki.archlinux.org/index.php/Mouse_acceleration https://wiki.archlinux.org/index.php/Mouse_acceleration For example (if you want to use X Windows), when I do xinput list I get ... ⎜ ↳ ETPS/2 Elantech Touchpad id=15 [slave pointer (2)] ... and then I would do xinput list-props 15 and play with "Coordinate Transformation Matrix", or "libinput Accel Speed" for speed and acceleration.