Linux Touchpad Like MacBook Update: Touchpad Gestures Now Shipping
gitclear.com
gitclear.com
https://neosmart.net/blog/2020/multi-touch-gestures-on-linux...
https://github.com/mqudsi/syngesture
The biggest benefit is that you can use drivers with actually correct acceleration curves like xf86-input-synaptics (if you’re on X11) instead of the offensively bad, NIH reimplementation that ships with libinput.
Oh wait, I’m on HN so I shouldn’t neglect to mention my project is written in rust!
The linked project is only the userland daemon that uses the raw Linux Multitouch Protocol events to interpret gestures; to get the acceleration curves working again I recommend using this in conjunction with xf86-input-synaptics as your actual input driver (which provides the correct acceleration curves for compatible hardware - basically all touchpads since they all cloned synaptics’ hardware once upon a time - but doesn’t by itself have gesture support).
Side note: Syngesture (this project) isn’t dependent on X11 or Wayland, but I don’t know if anyone has ported or will port xf86-input-synaptics to Wayland, which is/was pretty much developed along the same lines as libinput: rewrite everything from scratch without taking into account that some things you’re throwing out actually work really well (regardless of the fact that they are built for X11 or not), get rid of all abstractions that made it possible to plug in better components/replacements at various points in the stack, and without a concern for actual feature parity for what they are purportedly replacing.
This is not what happened. The synaptics driver and libinput were/are maintained by the same person, who has written about it extensively and explained why the approach in the synaptics driver does not work well. Specifically, some of the problems with the synaptics driver have directly led to decisions in libinput. You may want to read some of their blog posts if you haven't:
https://who-t.blogspot.com/2016/12/xf86-input-synaptics-is-n...
https://who-t.blogspot.com/2016/04/why-libinput-doesnt-have-...
https://who-t.blogspot.com/2016/03/why-libinput-does-not-hav...
It may seem like a good idea on its surface to have tons of abstractions and features and extension mechanisms, but that fades away when you get deal with the bug reports over a period of years and get to see all the problems it causes.
That’s a very good question as I didn’t consider stateful gestures (where state doesn’t reset when all fingers are removed). It can be shimmed (without touching the code) in the configuration file by replacing the invocation of xdotool (or whatever) with a wrapper script that provides state enabling a “toggle mousedown” rather than just explicit, separate mouseup and mousedown events but I wonder if there’s a clean way to model that into the event loop as serialized to/from the configuration file directly. Feel free to open a GitHub issue if you like.
Not quite.. on macOS, you can enable three-finger drag which means that when you touch down with 3 fingers and drag them on the trackpad, it's the equivalent of clicking-and-dragging with a mouse.
There's no laborious use three fingers then one then three again. Just like swiping with 2 fingers does scrolling, using 3 fingers just grabs whatever's under the cursor and moves it (whether that's a window, or starts selecting text, moves a scrollbar, anything).
To abstract it a bit: You would need to
1. Trigger an event on the gesture start (detect 3 fingers -> hold alt, mousedown)
2. Have mouse movement enabled
3. Trigger another event on gesture end (lift fingers -> mouseup, lift alt).
The solution is simple but somewhat ugly, just like on Android and iOS: set a maximum time limit (up to 250ms) before going with the number of fingers detected.
Also, I’m not sure if macOS is distinguishing between tap and click? The online documentation says it’s with force click enabled.
I move the cursor over what I want to move, then click with my thumb and keep it pressed down. That initiates the drag. Meanwhile I can use my pointer finger to move the cursor wherever I want, dragging the whole time. Once I've moved the cursor to where I want, I remove my pointer finger so it stops moving and then release my thumb to drop.
Is it another way to do the same thing? Why would I use three fingers instead of just using a normal mouse click with my thumb?
I personally don't like this and very much prefer the "tap-hold with a small delay" for my dragging needs. I'm very happy to see this has been implemented on Linux, too.
You are obviously used to the three finger way, and to each his own. But for me, having it described as “it's the equivalent of clicking-and-dragging with a mouse” makes me wonder why not just click and drag? But who knows? I’ll have to try it and see if I like it.
Good to know.
However, my post may have been unclear, I don't like the three-finger drag, so I'm not used to it, I'm just trying to find a reason why some people may like it, so I may not have the best ones.
The thing is that you don't "click" anything, you just put your three fingers on the touchpad and slide them around. Exactly the way you would scroll with two fingers: no clicking involved.
The gesture is very well implemented actually. It's surprisingly precise and feels really natural in the sense you could release and resume dragging even after all your fingers leave the touchpad. Nothing else comes close
In all cases, that is easier to implement in code than a stateful transition like I described since there is no state persisting beyond the gesture itself, it just needs gesture_start and gesture_end support (with the difficulty being in determine if a three-finger gesture has started or if it’s actually a three-finger gesture on its way into becoming a four-finger gesture).
I now find it less of an effort not having to press down to register a click. 3-finger-drag now makes for a more relaxed, less RSI prone experience for me.
On macOS the accuracy is pretty much the same as with a single finger. As in with a single finger you reliably point to a single pixel and with three fingers you can reliably point to a 2x2 area, even with them spread far apart.
(Not trying to dismiss anyone's effort, just pointing out that Mac trackpads set the bar really high.)
And there are techniques, like, when you need to be more accurate, instead of moving the three fingers, you move two of three or one of three, so the average position calculated by the trackpad still moves in the direction you intend, but slower and more accurately than moving the entire hand.
Thank you!
Can you please elaborate?
The libinput dev's response was a combination of incredulity that someone wouldn't have physical buttons (in like 2014) and a statement that the project would never add this feature. I haven't gone back to Wayland since.
You can do this with libinput and Wayland.
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/
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.
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.
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.
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.
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.
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.
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.
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.
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. ;)
In libinput the edge scrolling is hard coded to 7mm and previous attempts at making it configurable were rejected.
They're also quite large and flimsy, so I expect them to develop enough play that reliably pressing both at the same time becomes frustrating after a while.
Having to hold down a button to scroll is terrible ergonomics.
Thanks for that, it gave me a chuckle.
https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_...
I just checked, and libinput does have the correct "flat" acceleration curve as an option, so I think we're good. ;-)
https://wayland.freedesktop.org/libinput/doc/latest/pointer-...
Being more serious, that document has a bunch of graphs of libinput's acceleration curves for different devices. I'd love to see a write-up of the curves you've implemented and why they're superior in your opinion.
>> you can use drivers with actually correct acceleration curves like xf86-input-synaptics
Sounds like they did not implement any curves but are using existing ones in the drivers.
It's so much better on Windows. This is a software problem, and right now the Linux ecosystem is doing a pretty poor job.
Though I haven't tried many others in the past 5 years.
Maybe the HP14 was not quite as great as the rest although I think it was fine, while the Pixel experience was exceptional. I don't think it's a matter of a specific one, I think it's generally across the board a very solid to good experience.
I don't code an awful lot but I don't find reaching for the mouse a productivity issue. Also the different motions are good at using the hand/arm muscles in more diverse ways.
However whatever works best for each of course. I love this about open source, everyone can pick what works best for them.
I use a Magic Trackpad 2 connected to my Linux Dell (work laptop) and it's great. Indistinguishable from using the same device connected to my macOS Macbook (personal laptop).
I do use Touchegg for multitouch on Linux, but the responsiveness & behaviour hasn't changed otherwise with/without Touchegg installed so it's not that piece of software that's improving things. Also, the built-in touchpad on the Dell is ok-ish, but definitively inferior.
Heyas! I worked on a touch screen driver, related but obviously not the same thing.
So, consumer hardware, end to end control over every part. This gave us the chance to calibrate our driver to our specific hardware.
Originally myself and another engineer worked on making the touch screen driver work, and it was "ok". After awhile, we did a complete rewrite, and another couple amazing engineers joined in, and it became "pretty good." We had some fancy state machine for gesture detection, and the code was about as good as we were going to be to make it.
Then a team of experts came in and threw a bunch of math and ML at the problem to make the experience amazing. ML was used to fix up gestures so they actually worked properly, reduce latency (motion prediction!), and fix jitter, because touch screens are inherently analog devices and therefore noisy as heck.
Could the two of us on our own have made an amazing touch screen experience? Heck no. No matter how many hours we put into it, we were never going to be able to match what that team of dedicated engineers brought to the table.
And besides that, building an ML model up for the exact hardware we used is something that you just can't do when writing a generic driver that has to work all over the place.
There is a reason Apple gets a better UX out of a hardware stack they own end to end.
> I worked on a touch screen driver (...) consumer hardware, end to end control over every part
But not for which os/kernel ? Was this for a pos-terminal or some similar hw/software bundle with a touch screen - or more like the driver for ipads?
Embedded is awesome, more so if you get to write your own mini-OS from the ground up. 100% recommend it!
That’s what I thought too until I actually started trying to solve the problem. Could you offer a more specific prescription for how you would go about taking the touchpad experience of ChromeOS and getting it shipped in a Linux context, if you were running this project? You seem baffled that this has not been solved yet, which makes me wonder if you know something that we don’t about the specifics of how Google’s source for ChromeOS touchpad could be trivially co-opted?
If you are running Arch you already have it [1].
[0] https://packages.debian.org/experimental/xorg-server-source [1] https://archlinux.org/packages/extra/x86_64/xorg-server/
Wayland touchpad gesture implementation in Qt widget framework has been released in version 6.2.0
X11 touchpad gesture implementation in Gtk widget framework has been released in version 4.5.0
X11 touchpad gesture implementation it Qt widget framework will be released in version 6.3.0 (March 2022)
Touchpad gesture implementation for XWayland will be released in version 22.1 (early 2022)
Is this work only going to be for touchpads? I personally hate the X11 curves with mice and vastly prefer Apple’s. It seems to be hard coded last I checked and not easily modifiable (there are two parameters now but it’s still a very different curve). If trackpad curves also benefited mice (particularly those of us who use Apple’s Magic Mouse on Linux), that’d be amazing!
Thank you for your efforts to improve these ergonomics — it’s thankless and hard work but benefits many.
From the announcement "The number of people keeping this project going is tiny (currently just 121 supporters), but this small group of passionate Linux users are creating meaningful forward progress to improve the touchpad ecosystem for hundreds of thousands of Linux touchpad users. For those who don't want to rely on a future beholden to Apple, we hope that you'll consider supporting us? We could be getting more done if we had 250 supporters. "
It is true though that if one limits oneself to Wayland and only to Gtk-based applications that touchpad gestures mostly worked before. We now switched focus to adding touchpad gesture support to more applications, so there will be measurable progress even for this case too.
Your report says Firefox gestures are working on Wayland, and two finger swiping left/right appears to be configured in the Firefox prefs to go back/forward in history:
browser.gesture.swipe.left = Browser:BackOrBackDuplicate
browser.gesture.swipe.right = Browser:ForwardOrForwardDuplicate
However, Firefox doesn't respond to these gestures. Do you know what's up with that? (I'm on Fedora 35, if that's relevant.) Two finger scrolling up/down works just fine.What does work though is two-finger pinch gesture to zoom in/out of a web page.
Note, I said "turn off", which the "Reduce Motion" setting does not do.
Also, how do you get a 4k monitor to run at 144Hz on an Intel Mac?
The first one is simply impossible to do on Monterey.
The 4k 144 thing is a software regression (so not a hardware limitation) that still hasn't been fixed: https://discussions.apple.com/thread/253168625
120-144Hz is a lot nicer though. All animations, scrolling, even just moving the pointer, look and feel smoother and snappier.
Not everything in the world needs to be configurable to be good. Yes, when moving from Windows to Mac, people miss stuff that could be configured. When moving from Mac to Windows, from Mac to Linux etc, it is always the same story.
But people often miss the point that being configurable does not always means making it better necessarily. Part of configuration is to allow people to work differently, and that is good. But configuration to make it work like the competition (make Mac work like windows, or Mac work like linux) is beyond what configuration should be able to do anyway. Otherwise you end up with no consistency and a bad compromise.
Even with Macs trying to offer a consistent experience, Mac apps can often behave differently. Back in the day when I used Linux I felt like many apps I needed to learn how they dealt with the most basic things like the menu locations, like window management, preferences/settings/configuration etc. Too much configuration is not healthy all the time. And Linux culture of "configure all the things" might be hurting Linux adoption itself.
Consider Microsoft complement destroying usability in Windows 8 just because they wanted to sell more tablets. Apple trying to lock you in ever deeper into their walled garden.
I've not used it in about a year now and I do miss it. They were adding support for a tiling WM mode and it wasn't bad (needed some work).
I was using it on System76 hardware and had zero issues with the OS and S76 replaced my keyboard when it went bad.
I love Linux, it’s been my OS since Vista came out and I switched to SUSE Community Edition, but we get so used to our OSs we forget part of the ease of use is being familiar. When I problem pops up on Ubuntu I can solve it within a minute. When one pops up on Mac it takes me some googling (and I give up on windows.) None if these systems are all the easy (or difficult) to use, it’s just a few basic concepts and then a ton of time figuring stuff out.
That's a high bar to clear. One thing that Apple does that makes a lot of sense is that they own the hardware and the software. Hackintoshes are a good indication of how things would look like if they had to support more hardware than they do.
This is one of the reasons why I have recommended Macs for the less tech savvy members of my family. Just works, great manufacturer support (noone really comes close), has things like Time Machine to keep backups running. My "support calls" dropped drastically.
My mother had a Linux netbook(remember those?) for banking purposes but a Mac for general usage. She would be able to browse on Linux, but things would get messy the moment she would want to, say, use her cricut machine.
Let's compare with Windows? That truly takes a whole lot of time, specially because the OS seems to "rot" over time. It's become less of an issue (possibly also because our hardware is so powerful). My Windows desktop has taken way more work to maintain than my Linux machines(plural) + Macs. I have to keep that for VR, Fusion360 (going to ditch that as soon as I can) and the odd game that doesn't work properly (Sea of Thieves in-game chat?). Can't wait to get rid of it and use only Linux - which takes hardly any "maintenance" at all (other than installing updates and even that is just a click).
It’s an ideological bar though. Pick a line or models of laptops and officially support that specific line. Keep the list smallish and from popular manufacturers. Everything else deals with it they way we do now.
Linux on supported hardware is pretty low maintenance. But it’s still not quite as nice as MacOS. And god forbid you get the latest hardware.
That said, I'm not gonna pretend that Linux is some utopia and everything works immediately. But there's no way it's worse. I have a script that takes any machine from a formatted drive to a working OS exactly how I need it, unattended, in about 20 minutes. That's extreme, but everyone at least has a list of the packages they need that they can copy paste install into the terminal as soon as the installer is done.
But, you can also just copy your home directory on Linux for the same kinda process.
I kinda lost the thread at this point, but I was just trying to make the point the Macs aren't magically usable out of the box, at least for power users.
This is exactly the reason for the feeling of empowerment I got when I moved to FreeBSD/KDE after Mac. I didn't realise just how closed down macOS had gotten over time. This was the number one reason for my move but the extent of it still surprised me. Everything I want differently now is just easy, documented and usually even has a GUI button ready for the clicking. Whereas in macOS it's just "this is how it works, get used to it" now.
Apple is working so hard to lock the underpinnings of the OS down now and even if you can still change things to work your way you have to jump through so many hoops it becomes really annoying. And as well as that whatever option you used to get there is bound to get changed or removed without notice.
I just realized I'm not happy just going along with other people's choices. I hate 'going with the flow'. I recognise any the specific annoyances you mentioned in your post higher up in the thread.
That only works well if macOS is in fact exactly how you like things. Because it's a lot less configurable than KDE and the whole source code thing is not an option at all :)
I agree, if you want a Mac then don't try to make Linux like one because you'll never get close enough.
The fact that Brew's package selection is one of the most complete that exists (I think Arch's and Gentoo's get fairly close, maybe with a few not-enabled-by-default ones added in?), is one of the main reasons I like it so much.
I think the biggest thing I can point to is how well Apple products work for the average person. I buy new ones every 2~3 years and keep N-1 as a spare. N-2 goes to someone who has asked me too many PC support questions.
Everyone I've given an apple laptop has eventually bought a new one. They bitched about the price, but they were ultimately willing to pay for it. My dad worked for IBM for many years and was not happy I "wasted money" on my first mac in college. Ten years later after him still saying that, I gave him a laptop. That was a few years ago and last month he bought a new M1 Air. Meanwhile, a number of the people he works with have converted to Apple laptops because they've seen how well his works.
You partition your computer to just try the new version as well? Pretty handy.
Granted, that's a far cry from touchpad configs--but if you keep your dotfiles in git then touchpad config is something you only have to once (per touchpad that you own).
Any server you contact can run whatever it pleases and you'll be none the wiser (unless you get a web server error or go spelunking).
The kernel is a very unimportant part of it. So while Linux with a capital-L has "won", the free/open ethos surrounding it certainly hasn't - to my chagrin.
>So while Linux with a capital-L has "won", the free/open ethos surrounding it certainly hasn't - to my chagrin.
Who do you think develops and sponsor Linux? I am excited for android using a mainline kernel, I have been using it as a mobile linux computer for years. Its easy to open, I would prefer boneless chicken but chicken is fine too.
But does it matter, when most of it is tivoized? What did we, the users, actually gain from all these linux kernels being inside locked down devices?
ChromeOS is possibly the 'closest' to this (and that is proprietary), but Google is going to replace it with Fuchsia anyway; meaning that we will soon be back to square -1 on the Linux desktop.
Oh dear.
More seriously, did you check if people have the same problem with that laptop and Windows? Or some firmware update from the manufacturer to fix the battery.
Otherwise, no complaints.
(Also, I just double checked and the drivers in question are licensed under GPLv2 so the licensing is unlikely to be the issue)
But yeah this depends on the distro. Ubuntu is very liberal with this, it simply has a tickbox to enable non-open parts. Others like Debian are stricter. It's up to them really.
The problem is ‘good enough’ is a moving target and FOSS isn’t exactly closing the gap.
You're right that "Good Enough" takes many forms, and it is a moving target. But whether it's closing the gap might just be a difference in which timescale one uses.
Today I can wipe the entire drive on my MacBook and re-install everything from scratch over the internet, without install media, directly from the firmware. When can I buy an off-the-shelf computer that can do this with Linux ?
After installing macOS I set up my account, enter my iCloud details and all my photo's just appear, I can send and receive text messages, phone and video calls. My clipboard syncs to my phone, and I use my phone to take a photo or scan a document and insert it directly into whatever document I was typing. I can start typing an e-mail on my phone, decide it's too long to type on the little on-screen keyboard and seamlessly move the task to my desktop. I can take a photo of some text on my phone, copy it as plain text, and then paste the text into anything on my desktop.
All of this with no setup required.
How much time will it take Linux to be able to do all of this ? And what else will it have to catch up to by then ?
A few software markets have been completely dominated by FLOSS: system software, compilers, lexers, shells, kernels, codecs, programming languages, arduino-like tools...
On the professional market, just look at what blender became. Other examples for end users: OBS is probably the most used broadcast software available. People ignore that most people don't need the features Sound Forge and Audacity has probably many more users. Other examples in this same category: VLC, Handbrake, Inkscape, 7-zip, Calibre, Krita...
Even on the places where it is not a leader, it is sometimes good enough. I can totally easily edit a video using kdenlive; record, edit and master a music using Audour; compose a scene using Natron; compose music using MuseScore; edit 3d models using Wings3D; design an environment using SweetHome3D; render using many of the top-notch state-of-art FLOSS renders like Luxrender or whatever comes with Blender these days.
Desktop software is much more beautiful, intuitive and stable than before. And it doesn't try to milk you for money, attention or personal data. Flatpaks, AppImages and snaps finally make it possible for users of the most popular distros to use the same software, the same version, working the same way regardless of the distro.
Now, go back a few years. The situation was entirely different. You could do nothing of what was described using only FLOSS if you go back enough. Or, you could, but it would be complicated and unstable. This is no longer the case.
Of course there are still gaps, but many have been closed over the years and most remaining ones are slowly closing.
While not discounting how good coreutils are, everything you've listed is basically a commodity at this point.
Companies who live higher in the stack swoop in and claim all of the value.
It's a gradual release of intellectual property into the commons, similar to the expiration of patents and copyrights, but at a pace determined by market forces instead of government regulation.
It is a very slow decline, but it's being largely going on unnoticed. Rewind the clock 20 years, there were all sorts of paid software offerings everywhere on the desktop. You couldn't uncompress a zip without paying (or stealing from) someone. Unless you were a Linux rebel running slackware or whatever.
We can do a lot on Linux now. We have thousands of Steam games running on the Proton+Wine+Vulkan combination (often with similar performance, in some cases even better). Most of the missing apps are available in the browser - which is a blessing and a curse.
Everything is moving to open source software. The issue now is different: we have commercial offerings on top of open source, closing their gardens. Take Android. Ridiculous amount of open source software, arguably the most deployed software worldwide. Controlled by a corporation.
Lots of apps have moved to the web, where we have a similar problem. Their foundations are most often based on open-source. But they are behind some corporation or another.
Heck, the big cloud providers all have in their core a whole plethora of open source software.
The operating system concept, as we know it, is in decline. This may be a global maxima for FOSS OS. I hope it isn't.
The web (browser) is the OS, but the apps are centralized, incompatible, and primarily SaaS subscriptions (or worse, ad based). Desktop operating systems are primarily thin clients to these services. Native apps on the existing stack are dead outside of a few niche applications. It's why I think Urbit is cool, if you built an OS from first principles to take into account the web what would it look like? It's basically moving the API layer up the stack to include auth and application distribution.
It would be better to move away from all OS and just have ISA software.
Windows XP had built in zip support and was released 20 years and 4 months ago. Before that, from memory pkunzip was free and it was zip which needed payment, but wikipedia links to a review of an early version from a BBS here http://cd.textfiles.com/rbbsv3n1/pool/pkpolicy.zip which states that it was free for noncommercial use, shareware license for commercial use, and that Phil Katz had helped people implement unzip (on deflate algorithm I think) in their own code without charging for his help.
You move onto talking about Steam (not open source) which is used as a DRM and payment engine for many closed source games - and that is one of the more popular uses of closed source software (as well as things like Microsoft Office), XBox, Playstation, Nintendo and PC gaming. Having proprietary Steam running a proprietary game after you login to Valve's proprietary online authentication, on a free reimplementation of proprietary Win32, but hooray because there's Linux somewhere inside, doesn't seem very close to the future Stallman was hoping for or the ideals of free software or open source. What would it mean to change the source of an online game? Probably that you can't connect to any servers anymore. What would it mean to move your FIFA team to another game engine?
The GDPR at least gives Europeans some rights to download their data from cloud services in a machine readable format, but strangely you don't seem to have that right to your data in a proprietary game stored on your local machine with access gated through a proprietary online service.
> Windows XP had built in zip support and was released 20 years and 4 months ago. Before that, from memory pkunzip was free and it was zip which needed payment, but wikipedia links to a review of an early version from a BBS here http://cd.textfiles.com/rbbsv3n1/pool/pkpolicy.zip which states that it was free for noncommercial use, shareware license for commercial use, and that Phil Katz had helped people implement unzip (on deflate algorithm I think) in their own code without charging for his help.
Free as in beer. Not FLOSS.
> You move onto talking about Steam (not open source) which is used as a DRM and payment engine for many closed source games - and that is one of the more popular uses of closed source software (as well as things like Microsoft Office), XBox, Playstation, Nintendo and PC gaming. Having proprietary Steam running a proprietary game after you login to Valve's proprietary online authentication, on a free reimplementation of proprietary Win32, but hooray because there's Linux somewhere inside, doesn't seem very close to the future Stallman was hoping for or the ideals of free software or open source. What would it mean to change the source of an online game? Probably that you can't connect to any servers anymore. What would it mean to move your FIFA team to another game engine?
Stallman about non-free games on linux: https://www.gnu.org/philosophy/nonfree-games.html
"Without paying or stealing" was the claim, free beer isn't bought or stolen beer.
There are many people who love open source and yet applaud when proprietary solutions move things forward – good for them.
There is place for everyone with good intentions, we can all make life interesting, no need for war tinted atmosphere.
Android is the only "open source" out of the bunch, but most devices running it have plenty of closed source internals the devices' are useless without.
There's still no viable FOSS OS for mobile/tablets. Not that they don't exist, just that they don't have the featureset and development velocity of Android and iOS.
I am using my Pinephone with Mobian/Phosh as a daily driver now. It's a bit rough but getting good enough quickly.
There is too many moving targets to ever be “done” and chasing those customers is profitable and requires money. That’s the perfect domain of a business.
I’m ok with this too. As another comment mentioned, once upon a time you couldn’t unzip a file with outpaying. Now it’s standardized and free (as in freedom and beer). Let apple and google and Microsoft fight and spend money tweaking the gui just right and bundling in whatever crap they want. FOSS community will lag behind and pick up the tail freeing everyone not on the bleeding edge.
Imagine if things like unzipping wasn’t free in 2021? How much shittier phones and services would be. Hell even Niche projects like the oculus quest would be a mess without basic tools being ubiquitous.
Unlike some FOSS supporters, I’m ok with commercial interests in software. 2021 might not be free, but it’s still in the making - if 2020 is free, everyone can help build the best 2021 from a more level playing field when we can stand on the free shoulders of giants.
Ps: companies should donate more to open source software development and protection and maintenance.
>There's still no viable FOSS OS for mobile/tablets. Not that they don't exist, just that they don't have the featureset and development velocity of Android and iOS.
Tell me what I can't do with Android that linux can do, I can do the reverse of what I can do on Android that linux on mobile can't. Its there if you want it. All the new Android phones are getting mainline. Check out my thread. https://news.ycombinator.com/item?id=29373106
Sailfish has good Android emulation as well.
That class of product issue is why FOSS is different than the marketplace. It's often behind in creature comforts/UI/UX and lightyears beyond in technical capability. Because FOSS developers spend time on things they care about, not about what the market does.
Not that progress hasn't happened. Quite on the contrary. Linux on the desktop experience nowadays is VASTLY superior to even 5 years ago. Of course, users from other camps will complain of features that have been lacking for many years (thumbnails in the file picker!) but alternatives aren't without their problems either: get a seasoned linux to try MacOS or Windows and you'll recognize weaknesses on the other approaches too.
For me, linux on the desktop has been ready for a long time. I don't care if the market share is still in the single digits if it is good enough for me. Since I like the freedom, privacy, security and (yes) ease of use of desktop linux and do not depend on non-multiplatform software and services, there's just no better OS for me. Not everybody has this choice though.
So, linux on the desktop not being popular is not a problem. If it continues popular enough not to be ignored by hardware vendors and service providers, everything else will continue to improve over time.
Try Qubes OS.
Were you ever curious but afraid: – to click on that link in the email, – to open that email attachment, – to go to that shady-looking website, – to install and run that suspicious program or even a virus, – to insert that USB stick from someone untrusted? Wth Qubes you do it all securely in a disposable VM and your personal files are safe. The worst thing which might happen is that the disposable VM breaks.
If the pitch is to make people paranoid to run a new OS they need to learn isolation on, there are way easier ways like running a normal VM, which most people are still not going to understand very well or do.
I linked my own text.
Security is one benefit, and I agree that it's not so important for everyone. There are other benefits, as described. A normal VM is much less secure, because the host OS will have the Internet access and you will not benefit from hardware virtualization. It's also less convenient in my opinion. The UX of Qubes is really good.
>Were you ever been concerned about opening your personal email (controlling numerous online accounts) in the same browser where you go to random websites? Actually, even when the browsers are different it can be a problem on a monolithic OS!
Mozilla has containers that people also barely use.
>On Qubes OS, you open those things in separate VMs, isolated with hardware, not software. It’s often better 2 than physical (air-gap) isolation. Recommended by Snowden.
It runs VM, this is not isolated with hardware. https://www.qubes-os.org/news/2019/03/05/qsb-048/
>Are you tired of remembering tens of complicated passwords, or using a password manager? On Qubes OS, you can save all your passwords as plain text (in a dedicated offline VM) and copy them into the necessary fields (in other VMs) whenever needed.
Password managers are fine, why would someone tire of them?
I don't think you are pitching it correctly, if you want to succeed at selling Qubes, remember most people use laptops, the amount of ram required to run Qubes and the battery drain is not worth it for the performance hit. It would be much better to sell it as an OS on a remote computer that uses Xen, there are huge problems like audio quality, slow loading, and I would never recommend it as a mobile device OS. Most of the benefits are done with less resource intense methods, and learning a new OS for most of these features and mainly drawbacks is not a good pitch. I think it would be great on a remote device with your computer as a thin client, but it has very little day to day practical use.
According to your own link, these XSAs do not affect Qubes 4.0, exactly because it uses PVH (not PV) virtualization. See also: https://www.qubes-os.org/doc/standalones-and-hvms.
> Mozilla has containers that people also barely use.
Does this mean that nobody needs security or privacy? It just means that it's too hard to use (not transparent to users) and probably that most users do not recognize the dangers.
> Password managers are fine, why would someone tire of them?
Well, at least for me plain text file looks quite a bit easier to manage. Thank you for the feedback, I will try to improve that.
The performance hit mostly comes from the lack of GPU acceleration. RAM is getting cheaper and more available with time. My laptop has 32 GB. Battery drain could be worth the added security and organization of the workflows. It is for me. I did not notice any problems with the audio quality.
> It would be much better to sell it as an OS on a remote computer that uses Xen
I am not sure what you mean here. Could you elaborate the use case? By giving the remote access to dom0 you are practically breaking the whole security model of Qubes. Although it is possible.
> Most of the benefits are done with less resource intense methods
It's a huge difference. When was the last time someone escaped VT-d virtualization?
> and learning a new OS for most of these features and mainly drawbacks is not a good pitch
Actually you do not need to learn anything serious unless you need some advanced things. Qubes relies on Linux VMs, and you just use all their apps and stuff. This could probably be another pitch point.
Yes its been updated since, but the point is its still PCI linked, which you probably use.
>Does this mean that nobody needs security or privacy? It just means that it's too hard to use (not transparent to users) and probably that most users do not recognize the dangers.
It means that this is overkill, and even when its easier to use its still not being utilized.
>The performance hit mostly comes from the lack of GPU acceleration. RAM is getting cheaper and more available with time. My laptop has 32 GB. Battery drain could be worth the added security and organization of the workflows. It is for me. I did not notice any problems with the audio quality.
Needing to buy 32GB of ram to run an OS on a laptop that works fine now isn't a selling point, I had tons of crackling.
>I am not sure what you mean here. Could you elaborate the use case? By giving the remote access to dom0 you are practically breaking the whole security model of Qubes. Although it is possible.
It would be better as a server OS you VNC into.
>It's a huge difference. When was the last time someone escaped VT-d virtualization?
In the real world, it doesn't matter, its a nuclear bomb shelter, I would rather build a house with a fancy kitchen for cheaper.
>Actually you do not need to learn anything serious unless you need some advanced things. Qubes relies on Linux VMs, and you just use all their apps and stuff. This could probably be another pitch point.
It isn't easy to get used to the isolation of all instances especially if you use more than one computer, and other people's computers.
The pitch is that your computer is more secure (from what real world threats?) at the cost of huge battery drain, going from needing 8GB comfortably to 32GB, slower from PVH that gives problems like no GPU acceleration, while its still running insecure backdoors like Intel ME, or AMD PSP, which are far more dangerous.
My computer has disabled and neutralized Intel ME.
Qubes PVH virtualization has no practical effect on performance. Qubes works great for me for everything that a non-sophisticated user would want, except games. RAM is cheap.
> (from what real world threats?)
Any serious privilege escalation which happen every month on all other systems.
So why don't you make that the top priority before Qubes? Isn't it essential to make sure every user of Qubes does the same? Locking the screen door without locking the front door isn't at all secure. Do you expect the people worried about an email to flash the BIOS with an clip connected to their Pi or Arduino they programmed first? Its a sales pitch that ignores bigger issues. Most people from that pitch if convinced will have a false sense of security when the real threat is an ever present backdoor that can be hacked.
>Qubes PVH virtualization has no practical effect on performance. Qubes works great for me for everything that a non-sophisticated user would want, except games. RAM is cheap.
People like to play games, not everyone has removable ram or multiple slots, and if it has no practical performance effect, what computer do you have? I bet your computer isn't a generic dual core that most people have. You said it has no GPU acceleration, which a lot of browsers use, so it wiil be much slower for most people.
>Any serious privilege escalation which happen every month on all other systems.
Again, what real world threats? You say serious, but these threats are not serious, if they were, you wouldn't need to convince anyone to use qubes. There are not real issues, BSD servers that don't update or reboot for years wouldn't exist if there were actually any serious threats. Windows has automatic updates, Linux has quick patching, OSX had a bunch of RCEs corrected and no hacks. You fail to name a single concrete threat. Its cool if you want to run a bunch of VMs, but on a laptop that you need 32GB of ram, that depletes battery life more, and for some vague "serious privilege escalation"? Its a hard sell, better to suggest it as a remote desktop that you can control with a thin client.
https://news.ycombinator.com/item?id=27897975
Yes, it would be ideal to have everything open and controllable. However you need to take into account the bitter reality and go step by step. Are you aware of any possibility of remote access with Intel ME? I'm not. See also: https://forum.qubes-os.org/t/intel-me-real-threat-for-ordina....
> Do you expect the people worried about an email to flash the BIOS with an clip connected to their Pi or Arduino they programmed first?
I did not do it myself and I don't expect that people will do it, too. I bought my Librem 15 as it is, and recommend to everyone. (It's not sold anymore, Librem 14 replaced it.) See also recommended computers: https://forum.qubes-os.org/t/community-recommended-computers.
> I bet your computer isn't a generic dual core that most people have.
It's actually dual-core i7-6500U.
> People like to play games
Sure. These people unfortunately are not the target audience of Qubes, unless they are ready to do GPU passthrough (which has been shown to work).
> not everyone has removable ram
So what? Do you suggest to give up? People who are aware of dangers of the Internet could choose their next machine to be compatible with Qubes and allowing more security and control.
> You said it has no GPU acceleration, which a lot of browsers use, so it wiil be much slower for most people.
Bloated websites are slow, almost independently on what machine you have. User-friendly websites work flawlessly for me. Youtube works fine.
> but these threats are not serious, if they were, you wouldn't need to convince anyone to use qubes.
Are you implying that every person knows everything about their threats and makes perfectly logical decisions? This is not a game with complete information: https://en.wikipedia.org/wiki/Complete_information. People need security even if they do not realize it yet (until their data is leaked, which happens very often nowadays).
> BSD servers that don't update or reboot for years wouldn't exist if there were actually any serious threats
I don't see the logic here. There are millions of hacked servers in the world used for spam and DDoS attacks. Where do you think they come from? (hint: not just from IoT devices)
> Windows has automatic updates, Linux has quick patching
Before it is patched, you are vulnerable. It's called a "zero-day vulnerability". And you are typically not aware of it when it happens. Also, vulnerabilities in browsers are also numerous and frequent.
> better to suggest it as a remote desktop that you can control with a thin client
I don't get it. You are going to connect to a "secure" server from an insecure machine with full access. Do you expect that your server stays secure after that?
You also did not mention that Qubes defends you from simply broken software which you sometimes have to install, which could make your system unstable.
> but on a laptop that you need 32GB of ram, that depletes battery life more
Are you aware that a lot of people today are using a laptop as their desktop home computer? I do.
Also, note that I'm not trying to literally sell anything. I'm just a happy Qubes user and I think that more people deserve better security for their computing.
>Are you aware that a lot of people today are using a laptop as their desktop home computer? I do.
False, most are using mobile like phones and tablets as their main computer, desktops and laptops have declined for over a decade.
>I don't get it. You are going to connect to a "secure" server from an insecure machine with full access. Do you expect that your server stays secure after that?
Does my insecure computer compromise hacker news?
Probably yes, if you access HN via ssh with root privileges.
>I don't get it. You are going to connect to a "secure" server from an insecure machine with full access. Do you expect that your server stays secure after that?
Yes, XEN and hardware virtualization keeps it all safe. VMs like those on Qubes work the same way. Most laptops don't have good virtualization hardware, expandable ram, or decent processors. Connecting to a server doesn't compromise it in any real world scenarios, the same way if I remote access your laptop through mine, root ssh is not common, and you'll have it isolated in a VM anyway won't you?
Moving the feature into a plug-in was a really dumb move though. It totally killed discoverability of this unique selling point of Firefox.
I wish they'd realise they'll never beat Chrome at their own game and try to focus again on what makes them special.
It's actually usable now without extra addons. Just right click the "+"/new tab button or go to about:preferences#containers diretly.
I don’t see any benefit to Linux on desktop being mainstream. I like that it keeps away a lot of users since making things too easy since they’re unwilling to compile from GitHub is a feature, not a bug. It’s a mostly a programmer OS for programmers.
It is, but you often have the effort to put into it. Windows isn't usable for everyone, but that doesn't make me elitist, OSX is hard for others, but I don't see that being a problem. Some people can't do everything you do, and there are differences in our abilities. If you expect everything to be easy, and people not willing to put in work to have a functional OS, you should not expect them to use linux, it offers no benefits to most users, its made by hackers to hack on, Android is linux for everyone, and even then they find it hard. Don't expect people to run when they can't crawl.
>Why should we need to rely on proprietary software for our day-to-day tasks?
Because the free stuff sucks, GIMP still sucks. They stuck to having 3 windows open forever, GNOME doesn't like being configured, GTK always breaks stuff, and I just want stuff that "just works". When FOSS does it well like KDE being better than Windows's UI, or Firefox being better than IE6 I will choose it. I don't pick based on their principals, I just want good software, and like most people I am willing to pay for quality. I refuse to use a pinephone out of principal, I refuse to make my life hell.
I think saying it sucks is just being rude against one of the most amazing foss project of all times and it’s maintainers.
Yes Gimp isn’t photoshop but it covers 100% of my needs. Totally worth the money I never put on it.
I know, I used it recently. They are so bad with the UI I find myself using Krita as a better photoshop replacement.
>I think saying it sucks is just being rude against one of the most amazing foss project of all times and it’s maintainers.
Comparing it to Krita, it is hard to compliment any of it, the UI, the features, the difficulty. Its been 25 years, and lots of FOSS stuff has caught up with paid options, and I see Krita being a photoshop replacement way before GIMP becomes usable.
I don't understand how you connected these dots and I'd suggest against calling things abominations. You don't have to use dconf or the GNOME music player, those aren't standardized. If someone does like them I think they're perfectly fine, they do exactly what they're advertised to do and nothing more than that. It's also fine if you don't like them, they're just two options from the many configuration databases and media players that you can choose from.
>But why shouldn't I be able to run xbindkeys or sxhkd or whatever hotkey dameon I want?
In some ways you actually can but it depends on the hotkey daemon and how it's implemented. The reason for that is technical, those are implemented with X grabs which are an X11-only API and they have a number of usability and security issues. There are a few key rebinding daemons that use evdev directly so they work with both X11 and Wayland, and also on the console:
https://github.com/samvel1024/kbct
https://github.com/snyball/Hawck
But these also do have similar security issues to X key grabs, in that they effectively operate as keyloggers. If you're looking for an API that works purely within Wayland and lets unprivileged clients request key rebinding, that doesn't exist yet. Somebody would need to specify what that API looks like and figure out a good way to make it secure. What would the end goal of the API be, and how could the system (and by extension, the user) tell the difference between a legitimate hotkey daemon and a malicious keylogger? And would it actually be any better than the approach of snooping evdev? I don't know the answer to these questions but you may have more experience with this than I do.
I also don't think the mainstream really care about privacy and control. Most of them are really happy in their walled gardens. As a power user I don't want to 'dumb down' my experience and work towards that, so if they really want it they'll have to buy it from a vendor that does it for them. Most of the big names are trying to get there already (like canonical)
And yes eventually a company will make another walled garden based on Linux but it will suck because of the vendor lock-in, limited access to its internals ("because otherwise we can't support it"), and commercial to subscription services. Basically this is exactly what ChromeOS is already.
Personally I just think that a Linux that's for everyone is simply not Linux as we know and love it anymore.
Android is Linux for everyone, it’s imperfect and it’s nice in many ways, but I don’t run x86 android on my computer.
Use a decent desktop environment, like Plasma :)
Gnome's file picker is notoriously, offensively bad - to the point that it makes me completely lose trust that any thought has been put into the human factors of the rest of the system. Plasma, on the other hand, continues to surprise with its thoughtful and accommodating design choices.
Life is too short, and brainpower too limited, to justify wasting either on frustrating software.
This is exactly why I switched from Linux to Windows and never looked back.
The Windows UX these days is also horribly jankful in other ways, too.
I feel like Windows 2000 made a stronger case for "switching to Windows and never looking back" than Win7-11.
But yeah, 2000 was somehow the apogee.
Plasma is pretty nice nowadays but I sometimes miss the simpler times of KDE 3.5
I just realized that I probably used it or win2k3 daily for nearly 10 years.
You can even do DEP so that certain serial numbers marked as "yours" will autoenroll/provision on wipe, on a blank/fresh OS.
How on earth does idle RAM consumption matter to you when a GB of RAM is cheaper than a beer?
I'm not a Windows fan, I don't let Windows control any hardware other than a GPU on any of my systems but i do run it in a VM for gaming. I just don't see the problem, more RAM usage could even be better for performance. It's a useless metric.
Don’t get me wrong. Out of the Windows, Mac and Ubuntu machines I have, the Ubuntu one is still my favorite (especially since switching from 20.04 LTS to 20.10) but Fedora is doing things so much more along the lines of what I want.
It’s more cutting edge but still very stable and well tested. It doesn’t force snaps onto me. I’d much rather install flatpak software. And it has a cleaner Gnome interface. Even though I kind of like the Ubuntu sidebar dock, it’s not worth all the other awkward behaviors with Ubuntu trying to override Gnome (for example, the existence of the Ubuntu Software store really annoys me since it doesn’t support Flatpak and simply seems to run a lot worse than the Gnome software store that I also have installed).
Agree on all points as well - Vanilla GNOME > Unity, Flatpaks > Snaps. The Snap Store is just GNOME Software with some plugins/tweaks FWIW, this is changing (has changed?) soon though. I learned this by investigating a memory leak https://gitlab.gnome.org/GNOME/gnome-software/-/issues/942
https://stackoverflow.com/questions/19750796/allocating-more...
But I like that about FreeBSD, it just says no when you try to allocate more memory than you have (including swap!)
While this sounds great, not allocating storage for swap means either you'll have that space unallocated or you won't have any swap because your system is full.
Administrative overhead is simpler though, and sparse files don't have any performance overhead in later kernels (Citation needed, read somewhere on some wiki)
For everyday use I never even exceed 16GBs... Guess everyone has different needs, but there is no way it swaps over 32GB for normal applications, even taking into account overcommitting.
If you are low on RAM and on Linux I really recommend getting zram, which will compress memory pages making swapping less needed.
I've been reading but never really figured out. Can ZSWAP or ZRAM write compressed to disk somehow too?
Thanks! :)
I have a vague memory of this being configurable a long time ago (maybe KDE 3), but this setting disappearing in later versions.
Is it possible to change this in later versions of KDE?
This is how the dialogs looked the last time I looked. Are you saying that it's changed?
I really felt so empowered when I left macOS for FreeBSD with KDE and I still do. I found I really hate opinionated software because usually I don't have the same opinions :)
However I run it on a desktop NUC with wired everything. I don't use WiFi, Bluetooth or Suspending. I'm not sure if the more laptop-related usescases will be ok. For example I had to turn off my bluetooth controller because it hangs the boot process. I think this is just a peculiarity of my particular controller though.
Also I have one weird key repeat thing I still have to investigate :) But I think my Apple keyboard is just a bit funny.
This doesn't really make any sense. The issues with the file chooser are known, what's missing are design and development resources to do a redesign. The main problem is actually that the human design effort is being put into the rest of the system and not here; losing trust because of this is somewhat of a self-sabotage that you probably want to avoid.
I was using desktop linux for several years and recently switched back to a Mac because of the massive hardware improvements Apple made with its M1 chip.
As much as I loved Linux, it's no longer just a software UX thing. The battery life and speed of the new Macs beats any Linux machine I could have bought for a comparable price.
The tricky part of identifying “weaknesses” coming from and going to any two OSes or desktop environments is figuring out exactly what qualifies as a weakness and what is simply unfamiliar.
Like for example, a lifelong Windows user is probably going to think that anything that’s not the spitting image of a Win9X style desktop is chock full of “weaknesses”, and a diehard tiling WM veteran Linux user is going to see anything not built around tiling as “weak”, when neither is fully true in an objective sense.
This is a bit of a frustration for me as someone who primarily uses macOS but dabbles in Linux: most people haven’t used macOS extensively, and so Mac-style desktops tend to be seen by the individuals who develop DEs as full of “weaknesses”, and as a result there are no Linux DEs that are mac-like beyond the surface. There’s no shortage of Winlike DEs though.
I don't like everything about it but it has been the most usable/value-aligned Linux distro I've encountered so far.
I know I know, strength in diversity. But a man can dream..
this may become the case once hardware is good for 20 years. we aren't there yet, though we're closer than a decade ago. (typing this on an aging 8 year old desktop, which is really due for an upgrade).
Intel provides excellent Linux support for its GPUs through open source drivers,[1] and is about to launch a line of dedicated GPUs in early 2022 with the same level of support.
AMD has provided good support for essential GPU features through its open source Linux driver since 2015,[2] but compute features such as full OpenCL support (for most AMD models) are still locked in its proprietary drivers.[3]
Nvidia's open source Linux driver contributions are minimal, and they've earned a bad reputation for that. The reverse-engineered open source Nouveau driver is an incredible effort, but falls behind Nvidia's proprietary driver in performance and feature support.[4] This is what happens when the hardware vendor doesn't cooperate with the FOSS community.
[1] https://wiki.archlinux.org/title/Intel_graphics
[2] https://wiki.archlinux.org/title/AMDGPU
I'm still very impressed with the great work the nouveau people are doing to work around nvidia's stubbornness though, so congratulations to them.
AMD provides an open source OpenCL solution for Linux called ROCm, but the project is too limited to be helpful in many use cases. ROCm supports a total of 6 GPU models, all from previous generations,[3] and does not support GUI-based software applications such as Blender.[4]
[1] https://github.com/intel/compute-runtime
[2] https://github.com/intel/compute-runtime/issues/469#issuecom...
[3] https://rocmdocs.amd.com/en/latest/Installation_Guide/Instal...
I've installed Linux tens of times and the gui installers have NEVER left the system in a bootable state, not even when I choose the 'wipe everything' option.
Initiatives like PopOS and other ecosystem improvements will eventually impact this metric.
Just a note that linux is ridiculously unsecure in the default daily user mode. You have no sandboxing, everything runs as the same user with the same privileges, etc. Just a rogue app writing a single line of code (with no permission problem at all) to bashrc can basically do whatever it wants on your computer, including screensharing, key logging, encrypting your whole home folder, sending ssh folders to somewhere. The only thing it can’t do is install a goddamn video driver (as per the relevant xkcd comic) — but with keylogging it will see the sudo password sooner or later.
Fortunately, Fedora does have SELinux, which makes it a bit better but a proper sandboxing solution is way overdue (firejail and flatpak are not necessary the best solution, it should be automatic). Like, at least copy what android does on the exact same OS.
I know there are some, like System76 but looking at their site quickly, they start at around $1,000. For the average user that's waaay too high, especially if they can get what they need out of a chromebook.
They have them for Dell, and Lenovo Thinkpads. The main issue is there is no benefit for the end user. Why would they want to switch to linux as an end user?
FLOSS was never about free as in beer.
Maybe it really does cost that much to produce and support well matched HW and SW. Apple machines are kind of expensive, Windows licenses aren't that expensive but MS sells a ton of them.
It's, what, BSD licensed? Open source, but not GPL-alike Free Software. Still, that's pretty decent.
I reckon the only way that doesn't happen is if they pull the plug (quite possible) or they shift to keeping the GUI layer proprietary (also quite possible).
FreeBSD, NetBSD, and OpenBSD all include instructions for obtaining nonfree programs in their ports system. In addition, their kernels include nonfree firmware blobs.
[Citation needed]
If anything, one of the world's most-used OSes, which could have gone more open, did the opposite: https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on...
Yes, I approve of e.g. https://puri.sm, but they're so far behind.
I don’t understand how Apple has had a monopoly on this for half a decade. Lenovo had a thinkpad come out last year with a haptic touchpad but I haven’t seen anything further. Is it patents?
He griped that they didn't even send him the 12" MacBook it initially shipped in and that the R&D for it was ring fenced from the Mac hardware teams so both were working in isolation until the product was developed with the tech.
I also don't do any gesture except of course vertical and horizontal scrolling. Maybe pinch to zoom would be useful like on my phone. I got hotkeys for everything else I care about. Anyway I welcome this project, it improves Linux.
Incorrect - though I'm sympathetic. The ideal touchpad is a click-less touchpad with physical left / right buttons on the bottom left and right of the touchpad. No need for a physical hinge that requires the full weight of your arm to click, like an old Macbook. No need to push down on the touchpad at all and go to the expense of getting haptic feedback either. Just provide buttons!
(I do agree though, that so long as manufacturers are not going to provide physical buttons, haptic feedback would be a significant improvement.)
I installed Manjaro on it and it was a relatively OK experience getting that going. I had some issues with the sound that took some "maybe this will work" style copy paste of all sorts of magical cli incantations to get working. But I kind of knew what I was getting into so I'm not disappointed by that. The important thing is that I have a functioning laptop with all my developer toys running.
However, the touchpad support is so awful that I ordered a mouse. I never needed one of those with any macbook I've ever owned. It seems it's impossible to configure the touchpad in a sane way without ending up with piles of custom scripts. E.g. the scrolling speed is way off and I constantly have my single clicks interpreted as middle clicks, which does such fun things as close the browser tab instead of opening it. Simple tasks such as selecting text are made hard because the mechanical pressure needed for the clicks actually tends to move the cursor by enough that you basically mis-click. I briefly used the touchpad under windows before I wiped the disk. So, I know the same touch pad can behave a lot more reasonable given better software.
So, any improvements in this area are very welcome!
If the mechanical pressure necessary to click is too much, that's a hardware issue, so not much you can do there. I worked around it by enabling tap-to-click, which works fine for me, but I tend to keep my palms away from the track pad while typing.
I think it’s both PopOS’s gestures as well as the hardware (the framework touchpad is quite good!) that has resulted in such a fantastic experience, at least compared to other laptop touchpads I’ve used. Definitely the closest to MacBook gestures I’ve experienced.
I’m working on getting an eGPU setup going so I can properly run X instead of Wayland, and am very excited to try this out.
(Please correct me if I am wrong, but my understanding is Wayland if you’re running integrated graphics, X if you have a GPU)
I must say that the touchpad support on Windows is pretty great if the vendor bothered to implement the right type of driver (the recent driver model, I think it's called "high precision" or something?) but many touchpad vendors don't do that and instead ship simple drivers based on their old code base and call it a day.
On the Linux side it's just a capacity problem that won't go away any time soon. This project seems to be the only group of people in the Linux community that cares enough to take the huge amount of time to re-write and re-design the software stack to accept better gestures, and even with their dedication it's been taking them a while (understandably so!).
1. I always install Vimium in order to avoid using the mouse when browsing the web. (So in that regard your statement above is correct :-) )
2. For fast scrolling with the mouse, you could try enabling autoscroll in Firefox; once enabled middle click will activate it, then the page will scroll based on the direction and distance you move the mouse from the scroll anchor.
Consider me in, and I hope everyone in here who honestly wants this to happen considers sponsoring too.
Should I double my sponsorship of this project?
I am a bit afraid of seeing gestures handled differently in multiple programs, like inertial scrolling, or pinch-to-zoom speed. At least gestures are always detected by libinput AFAIK, so there's that.
But instead of implementing this in every application, wouldn't it be nicer to implement the common part in a library and link that library to all app that require/want touch handling? This would provide homogeneous behavior, and would allow sharing configuration files.
I don't think it's possible to make Gtk and Qt themselves behave identically at this point. For example Qt is a commercial project and an effort that would break backwards compatibility is not worth it. Gtk on the other hand has strong opinions about how things should work, so it would be hard to change that too.
Not sure how that would break backwards compatibility. Moreover, Qt has always tried to plug into native libraries and integrate as well as possible with the host platform.
You have a fair point about GTK. Any implementation should at least cater exactly to their need or they will make their own.
Now running Wayland on Debian 11/Bullseye (with Gnome), there are only a few possible simple settings (that I can find), and so I have continual issues with window de-focussing due to accidentally touching the touchpad.
Is there anything that I can do now to fix this issue?
(I took a look at the blog post and also the https://neosmart.net/blog/2020/multi-touch-gestures-on-linux... link, but still don't understand the state of things and if my problem is solved by installing any of these new packages.)
edit> The libinput webpage says this: "How do I configure my device on Wayland? See Where is the configuration stored? Use the configuration tool provided by your desktop environment (e.g. gnome-control-center) or direct access to your desktop environment’s configuration storage (e.g. gsettings)."
https://wayland.freedesktop.org/libinput/doc/latest/faqs.htm...
Does this mean that it is not possible to set anything that isn't included in Gnome's minimal settings of libinput?
Solid linux laptop with a macbook style centered keyboard and touch pad. (system76 has offset touchpad / keyboard and it drives me insane)
Near perfect palm detection on the track pad like a macbook.
Does anyone have a recommendation? I've not tried any newer lenovo lappies nor have I tried linux on a Razer laptop which looks very similar to a macbook.
Maybe just wait for linux to run on M1?
It’s not open-source and it’s not Linux.
It does not solve main problems of the proprietary software: https://www.gnu.org/philosophy/free-software-even-more-impor....
Free software is not about price, it's about freedom. It can (and should!) be paid for.
The reason why I use Linux is that I can do whatever I want on my computer, I don't have to have signed applications, annoying prompts to tell me that the software is not Apple approved (till there are the prompts and Apple doesn't decide to forbid all unsigned software as on iOS), and similar.
Also from an hardware standpoint Mac are overpriced machines, with insufficient I/O that forces you to bring a bag of adapters with yourself and components that are all soldered on the motherboard, impossible to upgrade.
You can't run a lot of software on linux, you can run less of it compared to windows and osx. All hardware is limited, all the x86 laptops have soldered CPUs, there is no such thing as unlimited hardware.
>Also from an hardware standpoint Mac are overpriced machines, with insufficient I/O that forces you to bring a bag of adapters with yourself and components that are all soldered on the motherboard, impossible to upgrade.
M1 is not overpriced for its benefits, the x86 stuff I agree with though and fuck their keyboards. No more Jony Ive, so ports are back!
>The reason why I use Linux is that I can do whatever I want on my computer, I don't have to have signed applications, annoying prompts to tell me that the software is not Apple approved (till there are the prompts and Apple doesn't decide to forbid all unsigned software as on iOS), and similar.
The problem I have with this is that its not that you can do whatever, you MUST do it and use a lot of time in configuration. I find the root prompt just as annoying in linux. I just want a working environment, not a bunch of software that asks me to set every preference.
I think there could be some real hope for Linux on a laptop, especially the M1, and being able to use all the Linux tools directly (looking at you, containers).
It may be hard to believe, but sometimes, for some people, just installing Linux is what they need.
I use Linux primarily because of ideology, but luckily it's also the best OS out there, for me at least and many others.
For others Mac OS or Windows will be better for them, and that's fine.
I love Rust but uutils are really not mature enough, which is understandable given how new they are -- the linked thread has examples of where they fall short. I would be delighted to start using them once they become drop-in replacements for GNU coreutils (so existing shell scripts don't break). Meanwhile, I use fd and bat in interactive shells (but can't use them in shell scripts distributed to others obviously).
I don't understand this statement then, have you heard of this https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md
It sounds like you want bash POSIX support and it to be default before you would use them. The error nobody else replicated, and its stable enough to be included in debian. https://sylvestre.ledru.info/blog/2021/03/09/debian-running-...
A couple of days ago I wanted to use a Ruby gem ( https://github.com/rubyjs/therubyracer ) for some random project. To install the library (compile native bindings), OSX wanted me to download an install 12 GB of crap (full XCode, it didn't work with the command line tools)... In linux it was just a matter of downloading and installing the gem (100MB at most). That's crazy.
What I dislike more and more about OSX is how they have been aggresive against developers and technical people in the last years (like, why do I have to jump through hoops to modify my /usr/lib folder with SUDO/root? I AM ROOT ASSHOLE OS, LET ME DO WHATEVER I WANT TO MY COMPUTER.
But other than that, it's OK.
Personally I want a magnetic USB c power delivery that doesn't suck.
Interesting fact: Ubuntu and Fedora have a fully working implementation for this - although scrolling is way too fast, while other distros don't have this. KDE distros also don't have this, even if KDE Wayland is used.
Can anyone tell my, why on Ubuntu and Fedora this works for EVERY app, whereas in other distros using GNOME 40 or 41 (e.g. Arch) it is only working on SOME or NONE of the apps...? Is there a patch for libinput or MUTTER, that is not in the official GNOME repos?
1. Is this for X only? That's all I see mentioned on the page. If so, that seems like a pretty big waste, Wayland is definitely the way forward and efforts like this will only delay that even further.
2. That said, I use Wayland on my XPS13 in Gnome, and touchpad gestures feel pretty great already, comparable to a MacBook in my opinion.
Linux will NEVER be a mainstream desktop platform as long as end users have to answer questions like "am I 'under Wayland'?" or "what does 'under Wayland' mean?" or "why does the alternative to 'under Wayland' seem to be 'for Xorg' (whatever that is)?" or "how do I 'install the xf86-input-libinput package' and why does it have such a weird name?"
> > People have been saying this for the last 20 years and I've yet to build a linux workstation that isn't at least 20-30% more time consuming to configure, maintain and tweak than a Mac and sometimes a lot more time than that.
> Bootup archlinux image, type in archinstall, make sure to select gnome... It's that easy.
It just happens you don't need to do anything special to install this on any traditional distro that ships with a default GUI install option. Regardless of your views on the viability of Linux overall these changes to libinput are really as zero effort as it can get on any OS, just wait for the update to push.
The gesture I care the most is smooth scrolling, which is a combination of OS graphic and input. Again, nothing smooth scrolls like the Mac or iOS
You can see it here: https://ibb.co/H7khM7h
A good guide for starting out is here: https://linuxconfig.org/how-to-install-macos-theme-on-ubuntu...
Appearance-wise it is very very close. I got some gnome extensions to mimic the behavior quite closely too. In terms of software, it is still missing MSO and some magic apple integration to their other products. Otherwise, she is now a happy linux user on the desktop.
When working portably, macOS is my preferred OS.
I'm not sure about KDE, but Gnome's experience is severely degraded when outputting to an external monitor with different display scaling. Without Wayland there is horrendous screen tearing but pipewire isn't trivial to install which makes screen sharing while WFH problematic. Intel WiFi drivers are a hot mess. There are numerous other QoL differences.
While Gnome supports dynamic workspaces, the workflow is very keyboard based and without Wayland gestures aren't native (e.g. smooth scrolling between workspaces) - AFAIK the only solution is to emulate keyboard shortcuts which is quite jarring given a decade plus of having super responsive smartphones - but Wayland without pipewire is problematic for screensharing, etc ..
I end up using moom on all my macos devices though.
I have to download a 3rd party application to be able to alt-tab between windows (I will have a few firefox windows open at a time at least)
Often times i'll do the three finger swipe up thing and I'll have like 50 desktops for some reason, and you can only delete them one at a time.
And why does the dock keep the icon of every app I open and close.
I just don't get it, and I'm glad i3/sway exists.
It doesn't, do you actually quit the app or just close the window?
[1] With the exception of websites and SPAs that rebind these keys to something else. I really don't like sites that do this.
To me, that's the killer feature of macOS. I am usually connected w/ a mouse and keyboard, the touchpad is great on the go, but nothing really substitutes the ability to turn it off and on again without thinking twice.
it's a way to not get popular, if you don't support what everyone is using..
Do power users (which tend to use Linux) really use those things?
Although I don't buy into the whole gesture stuff. I just want the basics.
1) Obviously such efforts will help non-power users as well. A lot of people use touchpads.
2) Yes, power users also use touchpad. Duh.
They also provide inputs that are themselves unreliable and inaccurate. You're better off controlling the cursor with a trackpoint which also means you don't need to move your hands off the keyboard.
No they don’t get in the way of using keyboard and no they’re not unreliable or inaccurate.
I use MacBook keyboard + touchpad for almost a decade without external mouse and keyboard on purpose and I do 120 wpm on a on 2017 MacBook Pro with a 1st generation butterfly keyboard without touchpad getting into my way.
Only way I found to make this useable is to treat it as a SSH server I connect to remotely.
Its touchpad certainly wasn't anything special, it's probably worse than the non-Mac average, only ever clicked correctly in some parts, before quickly getting stuck forever.
1. it never clicks when it isn't supposed to
2. its acceleration curves are beautiful
3. it's always accurate when you intend to click on a particular pixel
4. there is no interaction between keyboard and touchpad (e.g. on Linux there is a "disable while typing" feature which disables the touchpad only because the touchpad experience is not perfect, therefore completing disabling it while typing is better than refraining)