I use Linux every day. I love it. But I don't think your list reflects reality.
> Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
I have to go from multi-screen configuration to configuration because of my job. I happen to try a lot of combinations of connectors, dongles, screen brands/resolutions...
And no, this is really, really not solved. I have problems 1 time out of 3.
> "Linux drivers are usually much worse (they require a lot of tinkering..)" - Broad statements are usually wrong. Especially this one based on an opinion from the 90's.
They are, here. For BT, Wifi, graphic cards and printers at least, I attest that I most of the time have less features and/or stability using Libre drivers.
Does it work well enough for day to day use? Certainly. Can I use my "scan" button on my Epson laser? Absolutly not.
> "Resume after suspend in Linux is unstable and oftentimes doesn't work." - Bollox. Resume from Hybernate - maybe. But suspend works perfectly most of the time.
Most the time is not enough for sometime like suspend. The whole idea is that you _trust_ the computer to restore you work space the way it used to be. If you can't, if sometime it may not boot, or disable the network card (common problem), then it failed.
Can you imagine if VSCode would restore your file tabs, but only, most of the time?
In fact, one of the first thing I do on a fresh install is to go the the "close lid" settings, and disable suspend, because I'm afraid to lose state by mistake.
> "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
X is largely outdated. That why we still have flickers when booting a linux desktop, which means you will never ever make a Mac lover use Linux because they will not trust it.
Yes, appearance matters.
> "Applications development is a major PITA" - this is ridiculous.
If you talk about web or cli apps, yes. But desktop apps, no.
It IS harder to dev a desktop app for linux, because you have to support a HUGE diversity of configurations: distros, versions, desktop managers. Want to add a system tray icon ? Well, are you targetting Gnome 2, Gnome shell or Unity? Want to make a package ? rpm, deb, snap, flatpack or appimage? Want to use QT4? Not installable from the official repos in the last Ubuntu LTS.
Meanwhile, apps that worked in Windows XP often still works on Windows 10.
The alternative is to limit yourself to a weak % of users from something that is already a niche.
I love Linux, but being in denial doesn't help getting it in better shape.
Not to mention this lists is tiny compared to the actual article.
>Most the time is not enough for sometime like suspend. The whole idea is that you _trust_ the computer to restore you work space the way it used to be. If you can't, if sometime it may not boot, or disable the network card (common problem), then it failed.
I do not undertand what you guys are talking about. It works flawlessly 100% of the time on my Librem 15 and Lenovo T400 both in Debian and Qubes OS. Just find proper harware to run GNU/Linux.
I suspect this is indeed the root of the problem; people tend to just pick any hardware first and then try to run Linux on it, whereas in reality they should pick hardware to run Linux on.
They seem to get this when it comes to Mac, but not Linux for some reason.
You don't really have a choice of just any random hardware anywhere, not on Linux, not on macOS, not even Windows.
The only difference is that most BestBuy laptops come preinstalled with Windows, so of course they're going to support Windows. The support is often not excellent either, but in Windows world that's somehow just dismissed as expected or something.
Also, try picking a TALOS II POWER9 workstation and installing Windows on it. Would not go well.
My point being, people should buy Linux-supported hardware, preferably from a reputable Linux-friendly vendor, which would spare them a lot of trouble.
They're already doing this with macOS and they're doing it with Windows too, just not realizing it because that's what comes with the majority of PCs.
I agree it's harder, but my opinion is that at this point we should market Linux on the desktop as being a very specific thing requiring hardware explicitly for that purpose and should try to work with vendors to make it an option for more hardware, rather than trying to support everything and it not being the best experience as a result.
but it's very hard to do. if you have some arbitrary requirement (for me it's hidpi[0] and enough ram), it may be very hard to find a provider who meets your requirement, or a review for a product that is on the market. (today, it seems i could get a purism machine, but i couldn't last time i was in the market in 2017.)
unfortunately, for linux users, hit-or-miss may be your best option.
[0] i guess my eyesight started degrading, and now i find low res screens confusing. glasses help but hidpi is important too.
It used to be somewhat hard, agreed, but this is a "2020 edition", where now you have plenty of options, from Purism to System76 to DELL and soon Lenovo - all of these would meet your requirements as listed.
What frustrates me is that these lists get posted every year and never seem to get updated. It's like it's not from daily experience, but still the same list compiled when they tried Mandrake Linux 15 years ago.
- a casual user will just not do it. They don't have the know-how, but would they have it, they don't care enough to do so. They just want something that works. For now, Linux is and remains a tech saavy user systems, which is and will always remains a niche. Which of course means less resources will be put into it.
- it's hard, and time consumming. It take no joy in hunting down "that one laptop" that will work everytime I want to buy a new machine. Then being stressed out when I actually install the system, because of course I will never be 100% be right. There will always be something.
- you get twice the constraints. Search for a quality machine AND search for machine that will work on Linux.
- it's not permanent. Upgrade may just break support.
- it's not total support. I love my 2in1 xps. I chose it knowing I couldn't use the webcam and that I would have to forgo the tablet mode use. It's a compromise I had to make. Which a windows user doesn't have to make.
- it means I have 300 great laptops I could potentially buy, but in reality probably only 10 among the most recent ones.
- it means you never get to enjoy modernity. You always have to wait one year or two after a tech is popular to get decent support.
None of this is a deal breaker for _me_. They are mostly 1st world people problems, meaning problems I'm happy to have :)
But hand waving is not how we should approach this.
It all depends on your experience doesn't it. Last time I switched back from Windows to Linux, it was because my laptop's Intel wifi card would constantly stop working under Windows, and because that laptop had no reliable sleep mechanism because Windows was trying to push something called 'connected standby' that basically prevented the laptop properly entering S3 sleep.
> And no, this is really, really not solved. I have problems 1 time out of 3.
This is surprising, since I do the same for work and don't ever have issues. I don't do anything fancy DPI-wise, though, so that might have to do with it.
> Can you imagine if VSCode would restore your file tabs, but only, most of the time?
I can, since Azure Data Studio (which is VSCode-based, IIRC) has this exact issue. So do browsers, on that note.
My laptop, however, does not have this issue, nor have any other laptops on which I've installed Linux in the last 5 years or so (including a lot of random consumer-grade Dells and HPs and Lenovos, let alone the business-grade ones I prefer to buy for myself or for corporate deployments). I close the lid, it sleeps, I open the lid, it wakes up. Every single time.
> It IS harder to dev a desktop app for linux
I do all my desktop application development on Linux (internal corporate applications, nothing public yet). Developing on Linux with PyQt5 (or PyQt4, or TKinter) is an absolute breeze. It's porting to Windows and macOS that's a royal pain in the behind (and has got me looking at C# and Avalonia, which is similarly painless on Linux and hopefully will be less painful for Windows and macOS than my current PyQt5+fbs flow).
> Want to make a package ? rpm, deb, snap, flatpack or appimage?
AppImage. It works everywhere, and effectively makes cross-distro compatibility a non-issue. There's literally no reason not to use it.
If distros want to build and maintain RPM or APT or AUR or Nix or whatever packages, then that's on them.
> Want to use QT4?
Why would I want to use QT4? QT5 is much nicer all around.
I moved to linux on desktop after windows 8 blasphemy (but I am developer of linux applications for decade)
> "Applications development is a major PITA"
This is so true. But not (or mostly not) due to kernel. The whole problem lies in distributions and libraries, they break the ABI on all levels, even libc is not stable. This is the largest showstopper for linux on desktop - it is a moving target, from system file locations to ABI. It is just horrible.
Too many cooks spoil the broth. And the answer is to just add another layer. Docker. No it is not a answer, it is just another patch to the anarchy. In theory there shouldnt be any need for it.
Playing devil's advocate, the anarchy is a major reason for me choosing Linux. Yes, the choice and "disorganization" of the whole thing can be overwhelming and inconvenient, but once you set up things just the way you want, it hits a sweet spot from me that no other OS can, (I've tried them all).
Granted, I mostly work on server-side and CLI software, but both Qt and GTK were reasonably pleasant for the odd job I needed them to do here and there.
I am on Arch, but I've found that targeting the latest Ubuntu LTS gives you a popular enough denominator of libraries that it isn't too hard to make it work on other distros, (the Arch community will usually even do a good job for you via the AUR).
Then you'll have the Rust/Go devs that static link everything for this reason. And the flatpack/snap/appimage advocates to ship a virtual containers. But of course you forgo the trust you get from the repository maintainers curation, and break the security update mechanism.
> I use Linux every day. I love it. But I don't think your list reflects reality.
> > Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
> I have to go from multi-screen configuration to configuration because of my job. I happen to try a lot of combinations of connectors, dongles, screen brands/resolutions...
> And no, this is really, really not solved. I have problems 1 time out of 3.
> > "Linux drivers are usually much worse (they require a lot of tinkering..)" - Broad statements are usually wrong. Especially this one based on an opinion from the 90's.
> They are, here. For BT, Wifi, graphic cards and printers at least, I attest that I most of the time have less features and/or stability using Libre drivers.
> Does it work well enough for day to day use? Certainly. Can I use my "scan" button on my Epson laser? Absolutly not.
> > "Resume after suspend in Linux is unstable and oftentimes doesn't work." - Bollox. Resume from Hybernate - maybe. But suspend works perfectly most of the time.
> Most the time is not enough for sometime like suspend. The whole idea is that you _trust_ the computer to restore you work space the way it used to be. If you can't, if sometime it may not boot, or disable the network card (common problem), then it failed.
> Can you imagine if VSCode would restore your file tabs, but only, most of the time?
> In fact, one of the first thing I do on a fresh install is to go the the "close lid" settings, and disable suspend, because I'm afraid to lose state by mistake.
> > "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
> X is largely outdated. That why we still have flickers when booting a linux desktop, which means you will never ever make a Mac lover use Linux because they will not trust it.
> Yes, appearance matters.
> > "Applications development is a major PITA" - this is ridiculous.
> If you talk about web or cli apps, yes. But desktop apps, no.
> It IS harder to dev a desktop app for linux, because you have to support a HUGE diversity of configurations: distros, versions, desktop managers. Want to add a system tray icon ? Well, are you targetting Gnome 2, Gnome shell or Unity? Want to make a package ? rpm, deb, snap, flatpack or appimage? Want to use QT4? Not installable from the official repos in the last Ubuntu LTS.
Have you ever tried teaching someone how to set up a dev environment on windows? The things you need to install is a huge PITA, especially knowing what to install. Here's a challenge for you, try to compile a cython extension using clang. In Linux I just set CC=clang.
> Meanwhile, apps that worked in Windows XP often still works on Windows 10.
Except when they don't which is all to common (let's not even talk about OSX).
> They are, here. For BT, Wifi, graphic cards and printers at least, I attest that I most of the time have less features and/or stability using Libre drivers.
Wonder what bt, wifi, graphic cards and printers are you using. Realtek and Intel are fine, so Broadcom? So are AMD and Intel, so Nvidia?
Yes, you have pick your hardware, you cannot throw Linux on random garbage and expect it to be perfect. You would not expect it from MacOS either.
If your vendor didn't do the integration needed to run the system you want, it means you will have to do it. Yes, it takes time; I prefer the vendor doing it too.
> Does it work well enough for day to day use? Certainly. Can I use my "scan" button on my Epson laser? Absolutly not.
So Epson it is?
I have a Samsung MFP in my office that cannot scan in color with Mac (the result is corrupted file). It scans fine with Linux (needs binary-only driver though, uld) and Windows (which cannot find it on the network half of the time I need it). So you can always find some wrinkle, on all systems.
> Most the time is not enough for sometime like suspend.
I always wondered, what is the use case for hibernate. You have to dump the entire RAM on your SSD, and then read it back on resume. Incredibly wasteful and slow, if your RAM is 16GB+.
Suspend is something else; but I haven't seen it fail in years. Thinking about it, the last time I've seen it fail, it was a Mac.
Anyway, both suspend and hibernate is what the firmware is responsible for; the host OS just calls the firmware and it does the job. So contact your system vendor if it doesn't work for you.
> X is largely outdated.
Yes it is. But did you tried to discuss with some people, that X11 is dead and Wayland is the future, and the sooner the switch is done, the better for all? If they cannot hack in their spacebar room heater (ref: https://xkcd.com/1172/), it is not ready.
> That why we still have flickers when booting a linux desktop, which means you will never ever make a Mac lover use Linux because they will not trust it.
X11 has nothing to do with flickering at boot; it is not even running yet. Anyway, the user-friendly ditros do use BGRT nowadays (Ubuntu starting with 20.04, Fedora for some two or three release cycles). So unless you configure Plymouth to use something else than BGRT, or you are not using UEFI, you should have flickerless boot on a recent distro.
But while we are talking anecdotes, I do have a machine that flickers at boot with Windows 10. Do I blame Windows 10 for that? Does that make Windows 10 unsuitable for a normal user? Of course not, it is UEFI GOP on the graphic card that sets up the 1024x768 mode, despite the native being 4K. No OS is going to do anything with it, it can only read EDID and set different mode for itself, which means it will flicker (btw, thanks, Asus, for never updating the firmware for your card, that AMD did release).
> It IS harder to dev a desktop app for linux, because you have to support a HUGE diversity of configurations: distros, versions, desktop managers.
No, you don't. Package it in flatpak, done. If, for some reason you don't want flatpak (why? do you like going against the grain?), pick a distro that most of your customers are using and do QA on them (most pick duo of Ubuntu and RHEL); if it runs on anything else, it is a nice bonus, but unsupported. If someone is trying to make it run on riced out Gentoo with i3, let them, it is their time and effort.
Do you do QA of your app on all possible Windows releases combined with all possible Citrix releases? We don't either.
> Want to add a system tray icon?
Don't. You are not in Windows 95 anymore. Do exactly the same thing you would do in Android: background service + notifications + frontend. The frontend runs only when it has any window open. When the user closes it's windows, the frontend quits, no remnants running in background. When the user stops the service, your app is down, nothing keeps running. There's nothing more annoying that trying to close an app and it thinking it knows better and keeps running and hiding in systray.
> Want to use QT4? Not installable from the official repos in the last Ubuntu LTS.
Being obsolete has something to do with it. If it was available, would you wonder why it doesn't support HiDPI? You don't target PowerPC Mac either, do you?
> Meanwhile, apps that worked in Windows XP often still works on Windows 10.
Might work on Windows 10. There's a chance, that it will, or it might not. I've seen few of them...
> I love Linux, but being in denial doesn't help getting it in better shape.
It is not denial; it is using same standard for all systems. I run all three desktop systems: Windows, Mac, Linux and all of them have their strengths and warts. Each of them is more suitable for some purposes more than the other two. If Linux users are in denial, so are Windows and Mac ones.
> I always wondered, what is the use case for hibernate. You have to dump the entire RAM on your SSD, and then read it back on resume. Incredibly wasteful and slow, if your RAM is 16GB+.
> Suspend is something else; but I haven't seen it fail in years. Thinking about it, the last time I've seen it fail, it was a Mac.
> Anyway, both suspend and hibernate is what the firmware is responsible for; the host OS just calls the firmware and it does the job. So contact your system vendor if it doesn't work for you.
i rely on hibernate since my battery is dead and non-replaceable. effectively, hibernate has added several years of life to my laptop.
i have found that in linux, hibernate and suspend take a round robin approach in the first few years of a device. now, suspend works and hibernate doesn't. next, hibernate works and suspend doesn't. sometimes there is back-and-forth. and then they both work. definitely seems to require coordination between os and firmware.
Containers, Flatpak, AppImage, AMD's new drivers, libinput, Glamour drivers, Plymouth, bluez and the whole bluetooth stack, PulseAudio.. none of these are 20 years old. It disingenuous to suggest nothing has changed or improved in 20 years.
Anecdotally, I do have to regularly support Windows systems that are a horrible mess, the difference being that Windows users are expecting this and while they may curse Windows, it's just another case of 'it acting up again' and this is so common that is not even a major point against it anymore.
As for macOS, just search for 'catalina' here on HN and you'd find endless complaints.
Not saying Linux doesn't have problems, but it does seem like its proprietary competitors are given a lot more slack.
> Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
I have to go from multi-screen configuration to configuration because of my job. I happen to try a lot of combinations of connectors, dongles, screen brands/resolutions...
And no, this is really, really not solved. I have problems 1 time out of 3.
> "Linux drivers are usually much worse (they require a lot of tinkering..)" - Broad statements are usually wrong. Especially this one based on an opinion from the 90's.
They are, here. For BT, Wifi, graphic cards and printers at least, I attest that I most of the time have less features and/or stability using Libre drivers.
Does it work well enough for day to day use? Certainly. Can I use my "scan" button on my Epson laser? Absolutly not.
> "Resume after suspend in Linux is unstable and oftentimes doesn't work." - Bollox. Resume from Hybernate - maybe. But suspend works perfectly most of the time.
Most the time is not enough for sometime like suspend. The whole idea is that you _trust_ the computer to restore you work space the way it used to be. If you can't, if sometime it may not boot, or disable the network card (common problem), then it failed.
Can you imagine if VSCode would restore your file tabs, but only, most of the time?
In fact, one of the first thing I do on a fresh install is to go the the "close lid" settings, and disable suspend, because I'm afraid to lose state by mistake.
> "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
X is largely outdated. That why we still have flickers when booting a linux desktop, which means you will never ever make a Mac lover use Linux because they will not trust it.
Yes, appearance matters.
> "Applications development is a major PITA" - this is ridiculous.
If you talk about web or cli apps, yes. But desktop apps, no.
It IS harder to dev a desktop app for linux, because you have to support a HUGE diversity of configurations: distros, versions, desktop managers. Want to add a system tray icon ? Well, are you targetting Gnome 2, Gnome shell or Unity? Want to make a package ? rpm, deb, snap, flatpack or appimage? Want to use QT4? Not installable from the official repos in the last Ubuntu LTS.
Meanwhile, apps that worked in Windows XP often still works on Windows 10.
The alternative is to limit yourself to a weak % of users from something that is already a niche.
I love Linux, but being in denial doesn't help getting it in better shape.
Not to mention this lists is tiny compared to the actual article.