This list exaggerates many issues in an attempt to inflate the list.
It's totally bloated, full of baseless personal opinions.
A few examples:
- "Nvidia open-source driver nouveau.." - why include it if not to bloat the list?
- "Under Linux, setting multi-monitor configurations especially using multiple GPUs running binary NVIDIA drivers can be a major PITA" - Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
- "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.
- "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.
- "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
- "Adding custom monitor modelines in Linux is a major PITA." - Is it? a one line command? and how do you do it on Windows? oh you can't...
- "Applications development is a major PITA" - this is ridiculous.
> - "Nvidia open-source driver nouveau.." - why include it if not to bloat the list?
Because the proprietary Linux driver doesn't support Wayland. So you have to either choose to use the proprietary driver that only supports Xorg (with all the limitations, for example if you have multiple monitors with different DPI there is no way to scale them correctly) or use the open source nouveau driver with the problems associated with it. To make the nouveau driver even not crash my PC after 10 minutes I had to download a firmware file from a bug report on the internet, simple isn't it. And still is barely usable, I mean watch a 60p video on YouTube and it lags.
> Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
If you have monitors with different DPI there is no way to make them work correctly on X11. This is a problem about how X is designed, in an era where you didn't have HiDPI screens. Also if you have a laptop and you have to connect to a projector you don't want to spend 20 minutes thinkering around with the Xorg config while the other people at the meating with their Macbooks laught at you.
> > - "Nvidia open-source driver nouveau.." - why include it if not to bloat the list?
> Because the proprietary Linux driver doesn't support Wayland.
Do you have a source for that. All the sources I've seen say it works, if you set nvidia-drm.modeset=1
> > Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
> If you have monitors with different DPI there is no way to make them work correctly on X11. This is a problem about how X is designed, in an era where you didn't have HiDPI screens. Also if you have a laptop and you have to connect to a projector you don't want to spend 20 minutes thinkering around with the Xorg config while the other people at the meating with their Macbooks laught at you.
I'm not sure what you're doing i guess you're just repeating something you read 15 years ago. I haven't had to edit an xorg file in at least that long and I'm using Linux as my daily driver. Plugging in a projector also works (both wayland and xorg), what was causing problems were the scaling of some programs if you dragged from a hidpi to the projector, but then just restarting the app would also fix this (and this has been fixed for quite a while). As a side note I've seen lots of issues from mac users, funnily if that happens mac users almost always blame it on the projector, it's never the fault of the mac.
> So you have to either choose to use the proprietary driver that only supports Xorg ... or use the open source nouveau driver with the problems associated with it.
You have also a third option: not use Nvidia hardware at all. In the end, it's you who is voting with your money; you gave Nvidia your money, so the attitude you are getting from Nvidia is between you two.
> there is no way to make them work correctly on X11.
Technically, there is, but it is user unfriendy (set framebuffer sizes of all displays to largest dpi and downsample on scan-out, via xrandr) and non-systematic hack.
> This is a problem about how X is designed, in an era where you didn't have HiDPI screens.
That's why you should switch to Wayland. X11 is dead, in next years it will be just a few libraries so legacy applications have something to link with.
> Also if you have a laptop and you have to connect to a projector you don't want to spend 20 minutes thinkering around with the Xorg config while the other people at the meating with their Macbooks laught at you.
Newer had that problem. In fact, I didn't edit xorg config since early 2000s, I think it didn't exist on any of my machines for decade+ already.
Ok, so what's the issue? It's a bit inconvenient when your laptop screen changes dpi on connection, but in the projector scenario you're not working between those two screens. One is full screen presentation / video which gets scaled anyway and the other has... full screen speaker notes?
I get why is a serious problem in a laptop and monitor side-by-side setup, but here?
> Because the proprietary Linux driver doesn't support Wayland.
Sure, so don't get NVIDIA hardware for Linux. People don't seem to compile long lists about how the Mac doesn't really have an NVIDIA option, it's considered that your hardware is restricted in that way on the Mac and so you're going into it knowing that. Well, Linux is the same way, just exclude NVIDIA from your list unless you're on a desktop, fine running X and fine with their proprietary driver.
This is not something we can reasonably fix without NVIDIA's direct involvement, so I see no point of including it. It's like complaining the Raspberry Pi can't run your favorite x86 programs.
You can avoid computers with NVIDIA hardware, but imagine the average person that wants to switch to Linux from Windows, he already has a Windows computer that has an NVIDIA GPU, then tires Linux on it and nothing works, and goes back to Windows.
But the problem is not only NVIDIA, the problem is Xorg in general, is too old to support new hardware like HiDPI screens, and Wayland is not yet stable enough for me.
> he already has a Windows computer that has an NVIDIA GPU, then tires Linux on it and nothing works
He doesn't try installing macOS on his Windows PC, so perhaps we need to educate people to buy Linux hardware if they want to try Linux.
Also "nothing works" is hardly true. The proprietary driver works for your most common use case for such an user i.e. desktop, running X11 and mostly gaming, watching Netflix etc.
You run into problems on laptops with switchable graphics or if you are into the latest and greatest and want Wayland, but in that case one should seek Linux-specific hardware.
Regarding Wayland, I have various machines running amdgpu or Intel's i915 no problem, so tailoring your choice of hardware to what's well supported would help here.
"Linux hardware" is meaningless? I don't think there's any such thing as "Windows hardware". The drivers are supposed to abstract that away.
If Linux doesn't work on hardware, its the usual reason that Linux receives little love in the market so drivers lag Windows drivers in coverage and features.
> I don't think there's any such thing as "Windows hardware". The drivers are supposed to abstract that away.
Microsoft disagrees with you[1][2], as do most online retailers of electronic goods who list supported OSs on their product pages and still include Windows in that list.
> I don't think there's any such thing as "Windows hardware".
The majority of laptops you can pick up at BestBuy are "Windows hardware" - they're indeed specifically manufactured to run Windows and hardly anything else. If you want to test this, try installing Windows on your ISP's router or on a TALOS II workstation and see how well Windows "abstracts that away".
> the usual reason that Linux receives little love in the market so drivers lag Windows drivers
Which is directly related to most PCs coming with Windows preinstalled, so most people being either unaware of Linux or seeing little reason to switch to Linux since Windows already runs their Chrome anyway.
What you're confusing is the fact that the majority of PCs are made with Windows in mind, if the majority of PCs came with Linux or BeOS or OS/2, Windows would be in a similar position, maybe even worse since companies would not get the benefit of open code, therefore even less reason to contribute to a minority OS.
If Linux was the standard, many people would be so familiar with it and happy enough to see little reason to switch to Windows, that is if they ever happen to have learned an alternative exists in the first place.
Performance is entirely dependent on use-case, there are many where Linux outperforms Windows, especially if you're a developer, but as to why it is less "desirable" has mainly to do with what comes per-installed on 99% of Walmart PCs.
Pre-installed is king, if there's extra step involved for the competition, it's not a game one can easily win.
The main reason stuff is mostly windows compatible is due to the fact that driver management is a mess (different distros with different drivers and/or linux kernel versions). The ABI/API issues that are complained about are not helping this.
Even if there are drivers, most of the time they are developed by external people that only wanted to get it working _to a certain level_. Manufacturers dont care about Linux, most of the times, because its hard to develop an installer that is compatible with _Linux_.
I have a story about a friend of mine that tried to make a led driver for the Beaglebone Black. He looked for the documentation, and there was some stuff about an old, deprecated way of toggling GPIOs (pass pin ID) and a new interface (gpiod, using pinctrl and identifier). The documentation was also talking about ACPI, which was totally unrelated[1]. He tried to use "the right way" (using the latest and gratest API), but it was not clear on how to implement this api, as he was experienced with switching registers manually, the embedded way, and had little experience with the Device Tree.
Eventually he wanted to use iomap to just do the gpio toggle _manually_ because it was better documented (read chip documentation and done). He got this idea from when he went to this Korean school as an exchange student, and it was _common practice_ to do this by teachers!
Small example about the gpio madness, google for "linux gpio kernel":
1. A generated page of the API, but also some implementation documentation. [2]
2. Readme file from the kernel, telling you that this is not the documentation you are looking for (old api). [3]
3. An actual article that explains the old and new interface, but still all userspace [4]
4. LWN docu from 2013 using the old api [5]
Your argument is rather muddled there to say the least. You start off talking about consumer hardware then bring up an anecdote about a developer writing userland software against a developer board (ie non-consumer hardware) and use that as an argument that the Linux kernel is hard to develop against despite there being nothing in your anecdote discussing kernel development.
"Anacdata" is always going to be pretty sketchy in any technical debate but here it seems especially so since this isn't even your own first hand experiences (let alone relevant to the point you were trying to prove).
The main reason is, as I stated, because Windows is where the market is.
You're categorically wrong about hardware vendors not supporting Linux, in fact many of Linux developers are employed by these companies, be it Intel, AMD, Linaro, Qualcomm etc.
The problem usually is that one needs the right combination of components for things to work well "out of the box" and so for example avoiding certain GPUs or WiFi chipsets, (others work fine).
This is not up to the individual component manufacturers who are already contributing upstream, but up to the OEMs assembling the complete machines to avoid the ones who don't and many do not simply consider Linux when doing so, because customers are accustomed to Windows and they get a good deal on it from Microsoft anyway, so why bother.
In recent years, DELL has stepped up on this front, Lenovo is coming around and you even have dedicated vendors like System76 selling good hardware with Linux pre-installed.
Your "story" is a problem with a specific vendor (Beaglebone) and then ARM in general, which is a bit of a wild west compared to x86, but that's the nature of ARM that Linux tries to accommodate for, not a Linux problem specifically.
I do wonder why your friend did not install Windows on the Beaglebone and did not interact with the hardware that way? It seems like the experience there is so much better.
What is that? The Beaglebone does not support Windows at all? Well, I guess Windows hardware support is rather poor then.
I was mainly talking about how development on Linux Kernel can be tedious, the adoption of the drivers is usually limited and thus the gains are too low. How come that Realtek is one huge manufacturer of network chips, but their drivers on linux are still crap? Everybody knows that, and if they dont yet know, they usually get bitten by it one day, use google, and _accept their faith_. Users are easy to accept how things are and dont bother to improve because its too hard/complicated/not rewarding.
People that are in control of these issues are the developers. The only thing I hear about Intel/Nvidia from Linux people is complaints about how shitty they are, and why they dont open up their stuff. One key thing might be that debugging of kernel things is not easy on Linux, as listed on the Original Post url? Crash a windows box, hook a debugger on it and off you go. If you dont know enough, im sure windows will help you get it running when you pay them. Oh? Linux doesnt work that way? Bummer.
Maybe the abstractions of Linux's core is at the same time its main weak point. Theres nobody governing a stable api and theres not enough telemetry to detect regressions. Yes, i said it. 99% of the people don't care if theres telemetry reported if it can improve the product. As a developer myself, I would _love_ to have _real world issues_ reported to me, automatically.
anyhow. Nothing is perfect. Linux could be better if there was a team behind it that want to get it "production ready". Like, maybe tell the user why something doesnt work, instead of shouting on the internet that they should buy "linux compatible hardware", which is telling the regular user to buy blinker fluid.
> was mainly talking about how development on Linux Kernel can be tedious, the adoption of the drivers is usually limited
You literally provided an example that does not work in your favor to prove your point.
> Realtek is one huge manufacturer of network chips, but their drivers on linux are still crap?
That's not the case for years, rehashing the same arguments you had a decade ago, or simply being this clueless does not help your case.
> the only thing I hear about Intel/Nvidia from Linux people is complaints about how shitty they are, and why they dont open up their stuff.
You don't really know what you're talking about and it shows. Intel is fine, they have dedicated developers supporting Linux with open-source code, the problem is an Intel+NVIDIA laptop combo and this is due to NVIDIA, not Intel.
NVIDIA support is crap, because NVIDIA wants it to be crap, since they sell enough GeForce GPUs to gamers not to care, nothing Linux can really do about that, it seems that Intel and AMD have no problem shipping a kernel driver. It's a culture thing, more than anything.
And yes, we want the driver to be open, caring about free software is one of the major reasons to go with Linux.
> One key thing might be that debugging of kernel things is not easy on Linux, as listed on the Original Post url?
Much, much easier than on Windows, you even get DTrace, get to inspect the code etc. That's not the issue. Anyone who wants to provide a driver has no problem providing one.
ARM is its own beast, but as I said earlier, this is mostly due to there not being a standard way to i.e. probe hardware like there is on x86 and that's ARM, not Linux at fault here.
Does Linux have problems, sure. But as someone who had family members with Windows 10 call me that they lost their files after an update and the internet is full about the latest macOS being the new Vista, I wouldn't be too sure the competition fares better.
> Yes, i said it. 99% of the people don't care if theres telemetry reported if it can improve the product.
Maybe they don't care, but I'd argue they seldom even know about it or understand the implications.
> As a developer myself, I would _love_ to have _real world issues_ reported to me, automatically.
Part of the free software movement is about equality between users and developers because developers have unquestionably more power. This is more of an ideological thing than anything. Nobody's saying telemetry isn't useful, just that one should be up-front, opt-in, full disclosure about it.
A large part of us care about that, about privacy and the future of unrestricted, general-purpose computing.
I am sure many don't and for them Windows and macOS are there. If Linux doesn't work well for you, that's fine, what I find annoying is pretending that Windows/macOS are somehow way less annoying to use, when every time I use them, I come across crappy behavior.
This is one of the excuses people make, it's condensending. Most of the time you already have the hardware before you want to try Linux.
Users don't care whos at fault here (Kernel/distro/x11/nvidia) the end result is that it doesn't work as opposed to Windows.
I have said this many times, but it's worth repeating; people don't seem to have a problem with not being able to run macOS well on their Windows PC.
It's condescending to the Linux community to always have to deal with users who don't even put in the minimal amount of effort to get Linux compatible hardware and only install it on crap machines Windows doesn't work well for them on anymore.
I find that extremely disrespectful of the community and my time and do not wish to support such users.
A large part of us do this in our free time out of passion, asking the user to put in the minimum amount of effort necessary really isn't much.
Proprietary companies who don't care one bit about their customers get the benefit of the doubt and people buy only supported hardware, but Linux is always supposed to care about some second rate hardware of users who don't care about anything, but "free as in beer".
This may not be the most popular thing to say, but I honestly don't care about such users anymore.
"Linux" does not provide an "official" release for your crappy PC either. If it's x86, it happens to be compatible, but guess what? macOS's x86 as well, hence the whole Hackintosh community.
The difference being, Hackintoshers seem to know they need specifically supported hardware if they want to have a good experience.
> Linux still only has 0.x% market share
Linux will have that marketshare regardless, because 99% of Walmart PCs Karin buys simply come with Windows. If the reverse was true, guess what marketshare Windows would have?
> "Fuck you Nvidia"
It's not like NVIDIA wasn't endlessly approached nicely first, offered assistance by the community etc. So at this point, fuck NVIDIA indeed.
I've been running Linux for close to two decades full time and it has worked sufficiently well for me for all that time, but anyone for who that's not the case, I am willing to help to an extent, provided there was some good faith effort on their part as well, since I am donating my free time.
If not, be my guest with your bug free Windows 10[1] and the well liked macOS Catalina[2].
You can try to compare it to macOS all you want, the comparison is still wrong. For starters, I can't just go to Apples website to download an image that will boot on my PC.
"Linux" (as in Kernel) no. Distributions yes. Just look at their websites when downloading.
>Linux will have that marketshare regardless, because 99% of Walmart PCs Karin buys simply come with Windows. If the reverse was true, guess what marketshare Windows would have?
Still Windows. But this is a purely hypothetical question, nobody knows if the software world would have developed differently if Windows would not be preinstalled.
> For starters, I can't just go to Apples website to download an image that will boot on my PC.
Are you auguring about licensing here? macOS's obviously not open-source so you cannot just download it off their website for free but you can absolutely boot in on your PC, there's an entire Hackintosh community around it.
If what you're trying to say is that a Hackintosh is not a supported configuration, there are entire databases with supported hardware for Linux. If you have an incompatible component, you're running an unsupported configuration.
But moving onto Windows, the hardware there needs to be compatible too, it's just that going into Walmart you're likely to run into PCs designed with Windows in mind, due to the whole IBM/MS pact of the 80s and the resulting IBM PC clone industry preinstalling Microsoft software ever since. Linux came after MS was already preinstalled on most PCs, so you have to specifically seek it out.
Pretending that this isn't the case, the playing field was fair and "Windows" just won is dishonest at best.
> But this is a purely hypothetical question, nobody knows if the software world would have developed differently if Windows would not be preinstalled.
If you're telling me that in a world where 99% of PCs are Linux preinstalled, kids are familiar with Linux from school and nonetheless people are going out of their way to manually install Windows on them, I think you're selling me a bridge.
I don't see people demanding the ability to install Windows onto a Raspberry Pi for example, (yes there's Windows for IoT, not the same).
>Are you auguring about licensing here? macOS's obviously not open-source so you cannot just download it off their website for free but you can absolutely boot in on your PC, there's an entire Hackintosh community around it.
Yes. But that's not from Apple directly and not really the point here. macOS on PCs is for the hardcore, the 1%, the people who like to tinker with their system. Not as an alternative to Windows. There is no guarantee that the next update will survive a reboot.
>If you're telling me that in a world where 99% of PCs are Linux preinstalled, kids are familiar with Linux from school and nonetheless people are going out of their way to manually install Windows on them, I think you're selling me a bridge.
Ideally there would have been no OS preinstalled and you had to chose yourself. But again, hypothetical example. Would Winodws still be dominant in this example? My guess is yes, based purely on how GUI friendly the OS is.
It is possible to run NVIDIA cards on Mac Pro (or with eGPU hardware). There is no alternative to NVIDIA for many software engineers working with HPC and/or simulations / deep learning tasks; many applications and libraries require CUDA, and there is no alternative for CUDA (OpenCL and ROCm are much lower-level).
I personally use Linux with NVIDIA cards, it works reasonably well, and some desktop environments now even work with Wayland (as of 2020).
> some desktop environments now even work with Wayland (as of 2020).
Wayland compositors themselves work. What is a problem is sharing GPU resources between different applications using different APIs.
I.e., you have your compositor using OpenGL and your application using Vulkan. The application renders itself into a buffer and sends it to the compositor, to render the desktop.
If the compositor and application cannot share buffers, the application has to read it from GPU, put into system RAM and share with compositor via SHM. The compositor then writes it back to VRAM. (Obviously, when application renders itself via software-only, this is not an issue.)
When the compositor and application can share buffer, the application just send the buffer handle to compositor, done.
This sharing on Linux is done via dma-buf. AMD and Intel drivers use dma-buf, so it is not a problem. Nvidia proprietary driver doesn't, it uses it's own EGLStreams, so it is incompatible with compositors. It is similar, as if Nvidia drivers for Windows started ignoring WDDM and started doing their own thing, complete with their own display server. It would also become incompatible with the rest of system. For some reason, Nvidia thinks it is fine to do that in Linux something, that they would not dare to do in Windows.
> Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
Have you actually ever tried to set up a PC with two NVIDIA GPUs running simultaneously and monitors connected to each of them? I believe you haven't.
> "Resume after suspend in Linux is unstable and oftentimes doesn't work." - Bollox.
And it's bullox because you say so? So, a sample size of one?
> - "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
None of the issues listed there can even be solved by a WM.
> "Adding custom monitor modelines in Linux is a major PITA." - Is it? a one line command? and how do you do it on Windows? oh you can't...
In Windows there's a GUI for doing that for AMD, NVIDIA and Intel drivers. In Linux you have to create an X.org configuration file with monitor scanlines and run several non-trivial commands from console. It's not done "using one command", so you're basically lying.
> "Applications development is a major PITA" - this is ridiculous.
Totally agree. For all the non-Mac laptops I've used, nouveau is never a problem. And Ubuntu default setting is pretty good nowadays. I'm suprise that those point make it to a "2020 Edition" list.
NVIDIA has taken an indifferent / hostile approach for a few decades, and only now is it changing. So, the easiest fix is to ditch NVIDIA because it doesn't play well with Linux.
If you don't want to ditch NVIDIA then ditch Linux, but don't blame Linux because NVIDIA doesn't want to play ball.
AMD on the other hand supports open source (not just Linux), and has made a fair amount of it's hardware documentation available (unlike NVIDIA). On my workstation with an AMD card it runs the same games about 5% quicker under Linux than it does under Windows (and other benchmarks back that up).
I don't have any experience with Pascal cards. My ones are usually the consumer laptops from Dell (Inspiron, Vostro, XPS, Precisions), Lenovo Thinkpad, HP...
Pascal works [1], later cards indeed do not work well, but this is due to NVIDIA's hostility and not something the community can easily fix. Not a Linux problem, but an NVIDIA problem.
> - "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.
Seems like you are agreeing. "Most of the time" means it's unstable and oftentimes it does not work!
On my desktop I particularly noticed this with the latest Ubuntu. Suspend used to work in Ubuntu 18 I think but not I'm on Ubuntu 20.04 and it does not. I think it stopped working on Ubuntu 19.
This confirms the lack of QA too.
I didn't have the patience to go through the whole list but it seems to hit a few pain points rather well.
Most of these issues vary between distros but they are mostly valid, especially on laptops.
I only had two laptops, but on both suspend doesn't work properly because of btusb driver. And to get battery life on par with Windows, you need to tinker with
1) graphics drivers (or just disable discrete gpu)
2) CPU governors (mostly works ok on Linux today but very different from windows and may confuse people)
3) touchpad. Just disable it, because moving cursor uses like 100% of a single CPU core and drains battery. No such problem with mouse.
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.
> "Under Linux, setting multi-monitor configurations especially using multiple GPUs running binary NVIDIA drivers can be a major PITA" - Bollox.
Not Bollox, multimonitor setup and hdpi scaling is in a sad state in Linux
- "Applications development is a major PITA" - this is ridiculous.
Yea, that is the major framework should I use to desktop app that will be supported in 10 years? Compared to Windows compatibility, it is a joke.
I use Linux for more than 10 years, but let's not pretend that it is in the same league as Win/Mac as Desktop OS. It is great if you use it for dev work, but for general Desktop use, usability, security, compatability is trerrible.
With all the different variants of Linux and customization, I have yet to find a desktop environment that I'm actually happy with. Windows has a lot of features I like, they built on them and make them better. For Linux it usually seems there's no direction, they are all spread thin or not optimized and are slow. Even things like file explorers, since they all need to make their own, they are lacking in comparison to Windows. It is incredibly frustrating to be able to do something in Windows file explorer, and to not be able to do the same thing on Linux and instead have to open up a terminal to do something that just takes 2-3 button presses with a proper GUI.
Dolphin is better than Windows Explorer IMO. What can't it do? I would say Dolphin is just above Explorer in terms of the 'top' graphical file managers across operating systems
I don't really like KDE, so of the environments I've used, they don't use Dolphin. You can install it otherwise, but it tends to be buggy. Part of it too is that when you open/save a file in Windows, it effectively gives you a file explorer. There are some apps that roll their own, but on Linux basically all of them roll their own. A lot of the times they lack features like simply being able to create a new folder when you are saving something.
Dolphin is better than any other Linux file managers but Windows Explorer is best IMO. In directory that contains many files, Windows Explorer runs quickly but Dolphin isn't quick as it (and alternatives are much worse). Also I like ribbon UI on Explorer.
Even without gnome just use the xrandr command when you need multiple monitors. IMO they’re very straightforward. Some distros maybe generate xorg configs that don’t have include your second output port? This isn’t an issue I’ve had with the last 4 computers I’ve owned
I don’t get the driver thing? IME especially with USB drivers Linux needs less tinkering than windows. Maybe they’re complaining about closed drivers or firmware? That’s the manufacture being dickish and not a Linux problem.
I’ve never had the resume issue but people have the same problems on windows.
Application development is easier on GNU/Linux than any other platform. I guess if you’re used to the one particular language/framework another platform supports and you move to Linux the support for that isn’t going to be as good. Developing closed source apps sucks but no one wants to run closed source apps on Linux.
It's totally bloated, full of baseless personal opinions.
A few examples:
- "Nvidia open-source driver nouveau.." - why include it if not to bloat the list?
- "Under Linux, setting multi-monitor configurations especially using multiple GPUs running binary NVIDIA drivers can be a major PITA" - Bollox. Gnome/Mate Display-Manager does an excellent job. If you're still using X11 manual configs than what do you expect..
- "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.
- "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.
- "X.org is largely outdated" - duh... the whole list on this topic is dated issues resolved by WM.
- "Adding custom monitor modelines in Linux is a major PITA." - Is it? a one line command? and how do you do it on Windows? oh you can't...
- "Applications development is a major PITA" - this is ridiculous.