Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The problem is that when things go wrong, problems rapidly begin to require levels of knowledge far outside what a layperson can reasonably acquire. A missing driver, updates that need to be installed, configuration problems - these all run rampant on Linux to degrees far beyond what one experiences with a machine designed for Windows.

There are two claims here:

1. these problems are harder to solve on Linux

2. these problems happen more often on Linux.

I'd really like to see some actual studies of this, because I suspect they are both bullshit.



Sure, here are a list of problems that people have come to me to help them solve on Linux machines:

1) Speakers are inexplicably swapped between left and right and you have to debug alsa/pulseaudio/pipewire to find out why

2) Bluetooth and WiFi don't work without drivers that require downloading and installing packages manually from different versions of the OS (eg the Ubuntu 22.04 drivers don't work but 21.04 do and that's not documented anywhere, I figured it out by reading logs and googling)

3) some devices or drivers don't work without enabling new kernel modules

4) some devices or drivers don't work without building a driver from source, the official binaries are not usable on a given system

5) sleep doesn't work correctly without manual configuration on command line

6) /etc/default/keyboard must be manually modified with the correct keyboard configuration for the device; the UI can't do it

If you think the above are problems a layperson with no computing (and specifically Linux) expertise can solve, you may not be spending a lot of time around actual laypeople.


Now do the same with Windows. The "layperson" can't install Windows or find drivers for unusual devices either. The reason it's often easier on Windows is because the manufacturers took the time to create the image with the required components. That's what you're doing. You're the manufacturer/refurbisher.


Windows update automatically installs all drivers nowadays. Once installed all drivers keep working since Windows doesn't break compatibility that often (one can still use Win 7 drivers on Win 11).

With Linux any driver compiled from source needs to be rebuilt at each kernel minor release. Some stuff has DKMS some don't. Some vendors keep up with distracted puppy level of change speed in kernel APIs. Most don't.

With Linux you have to support your family computers ~each month to pull updates. With Windows all updates are automatic and require 0 remote support.


> Windows update automatically installs all drivers nowadays

This is very untrue, there are many situations where windows update won't be able to find all drivers on a fresh install. You either need a proper OEM image with all drivers built-in or go driver hunting which is absolutely not fun and not doable by the average user.

Even a modern zen5 system I've dealt with recently required a few manual driver installs to get everything working, and you absolutely don't want to rely on Windows Update for the latest nvidia or amd graphics drivers, getting it directly from them has been the norm since... windows 98 days?

If you are talking about random USB accessories that the user might connect, sure the success rate is pretty decent, but even that isn't guaranteed.


> With Windows all updates are automatic and require 0 remote support.

This hasn't been my experience with windows update. They are automatic, but since MS isn't very good about making sure their updates don't break and fail to install correctly, or cause endless reboot cycles, or even cause data loss at some point you're likely to get a call when grandma's computer stops working or all of the photos she had of her grandchildren are suddenly gone.


My sample size is fairly small, but I've not encountered driver issues on anything in the last ~15 years. Most stuff is in tree (IME everything except nvidia), and despite what others report, I've never had an issue with nvidia binary drivers. My desktop with gtx1070 has been running the same installation for 8 years now.

Why do you think Linux can't do auto-updates? There's probably a built in option for your distribution, but if not, just run your update command on a timer.

Phones and ARM land seem to be a disaster of hardware support, but x86 PCs/laptops have all worked great for me.


> Why do you think Linux can't do auto-updates?

Because they literally cannot. Linux package managers like to ask deeply technical questions. Even on Ubuntu dpkg will occasionally ask about configuration file changes and expect you to make decisions like keeping the existing one, replacing the config file with the new one or editing it. Windows never asks such questions. Its configs are relatively stable and usually Windows uses more formally defined forms like registry or XML files. They are much easier to write migration scripts for than human readable text files on Linux.

As far as I know even packages like `unattended-upgrades` from Ubuntu doesn't perform things like kernel upgrades which requires `apt dist-upgrade`. They are required for keeping good security. And forget about upgrading an actual version like from 24.04 to 24.10. On Windows upgrades from 24H1 to 24H2 are relatively painless and can easily rolled back. My Ubuntu running colleagues had to rescue their distros at least twice since a version upgrade went wrong.


That is a Debian/Ubuntu deb package quirk - RPM installation on Fedora/RHEL/OpenSUSE is fully non-interactive, as it should be.

So not only are less technical users not confused, but you will never return only to see a system upgrade stuck on some useless interactive prompt from a deb package.


No. I use RPM distros like OpenSUSE. They just don't ask the necessary questions just notify you. So if you installed SAMBA to share files or printers, the distro update will break stuff without telling you.

A user-friendly OS should require almost 0 system administration except emergencies. Windows is that OS and Linux is not. Android is closest Linux ever got and it is pretty good. I say that as a person who deals with my own cloud stuff (Nextcloud / Jellyfin media servers) and as one of the maintainers of our embedded distro at my day job.


A typical user shouldn't have to install samba. If you're the system admin for them, you install samba when you install their system (they wouldn't be installing windows either!). The only reason this is coming up is because you might not be forced to install samba as part of a typical linux install whereas a typical windows install includes everything you will never need.


That's the thing: the amount of sysadmin role I would like to play for my family is nearly 0. And, no simple file sharing or accessing NAS systems shouldn't require a "sysadmin".

They should work out of the box for a consumer computer system with minimal configuration and updates shouldn't break functionality. Windows provides this Linux doesn't.

Windows OS design, the overall mentality of the developers designing software for Windows also reinforces this pattern. A consumer system should keep working without asking user unnecessary questions. They have to be designed to be somewhat future proof so breaking binary and configuration compatibility is minimal. With Linux systems (or any bazaar-style OS) this is impossible.


> They should work out of the box for a consumer computer system with minimal configuration and updates shouldn't break functionality. Windows provides this Linux doesn't.

Have you asked for a refund?


> Because they literally cannot

Nixos works fine, thanks!

> On Windows upgrades from 24H1 to 24H2 are relatively painless and can easily rolled back.

Nixos does this, but I can't remember the last time I used it. Maybe early on, about 9 years ago.


> > Because they literally cannot

> Nixos works fine, thanks!

me: "Linux is not suitable for non-technical users of my family to keep up-to-date with minimal effort and I don't want them to be dependent on me to solve smaller problems".

you: Let me suggest a distro that goes against many binary conventions and uses a specialty functional programming language to configure itself that not even all Linux users bother to learn.

You just showed how detached you are.


> that goes against many binary conventions

Why would non-technical users care about binary conventions? Wasn't the whole point that you'd set it up for them and they couldn't break it?

That's what nixos does. You refuse to use the right tool for the job and moan that the hammer isn't driving the screw correctly.


I think you are the one recommending an electronic screwdriver for nails.

Non-techies care about whether their systems continue to work with minimal effort and they are assured that the system is secure and I care about providing almost no support to them but still having functional IT at home (working printer, NAS, file sharing).

With Nixos it is more difficult to guarantee that the programs (drivers, third party stuff) keep working since you have to play the guarantor/sysadmin role. Breaking binary compatibility with existing apps opens up problems with drivers and other third parties that conform to rougly LFHS. Even when you compile from source which for me should never happen with consumer OSes.


> to guarantee that the programs (drivers, third party stuff) keep working

You clearly haven't used Windows...


I've experimented with linux auto updates and the only one I found which easily and clearly worked while staying in the background was Mint. Mint seems like a modern lightweight equivalent to what Ubuntu was 20 years ago.

Fedora might be second place with options between "do the updates ASAP but there might be weirdness if you're running something that gets updated" or "download and do a big install when you want to turn the PC off/restart". The bigger problem is that dnf-automatic and apt's automatic-updates seem pretty finicky to set up correctly and get feedback that it's happening, plus the documentation seems old and thin on the ground, it's just enough to cover the happy path and there doesn't seem to be any recent ongoing work. For Arch don't even bother because their attitude is that system admin must be handled by a human, automation for pacman isn't supported.


Yeah I can't remember the last time I looked for a driver for anything on Linux... Even with nvidia I only install it on my desktop because of cuda, but then it's not like windows comes with cuda enabled?!


It does though? And CUDA a freaking GPGPU programming framework? My parents and other family members give 0 fucks about it.

I actually helped more people to setup CUDA on Linux since the environment is so hostile to closed-source and/or out-of-the tree software. The easiest way to get working CUDA on Linux is actually using WSL nowadays. It automatically links with the Windows driver and places necessary interface libraries as symlinks.


My whole point was that it came with every driver I've ever needed, and the cuda thing was to show that only the most esoteric, non-parents-and-other-family device needed a driver.

./nvidia...... ENTER ENTER ENTER has always worked pretty well for me.


The difference is that with Windows, once you have the machine working, it tends to stay working. With Linux, these are problems that occur after installation and often after sale to the customer. Linux simply takes up a disproportionate amount of my time compared to Windows.

But your original skepticism was that these problems happen at all, and it sounds like now we agree they do, so I guess that's that.


> with Windows, once you have the machine working, it tends to stay working

In what world?!

> Linux simply takes up a disproportionate amount of my time compared to Windows.

I think maybe you just happened to learn to set up Windows first and then you insist on doing the exact same thing on Linux. If you learnt Linux first, you'd find Windows infuriating.

> With Linux, these are problems that occur after installation

Mine has been working since 2016. Never formatted or anything like that. Just kept updating nixos.


> I think maybe you just happened to learn to set up Windows first and then you insist on doing the exact same thing on Linux. If you learnt Linux first, you'd find Windows infuriating.

I'm just sort of confused by this comment. Honestly, I'm confused by a lot of this comment chain. It doesn't feel like you understand or appreciate the circumstances under which I operate.

I'm running a business. I'm setting up machines for customers. This has absolutely nothing to do with my personal preferences. I'm a Linux user of nearly two decades. That does not matter. My job is to deliver a useful experience for my customers. Windows offers that more reliably than Linux does. My personal opinions don't enter into it; the implication that I don't know how to set up a Linux machine is just false. Likewise, that we can produce one Linux machine under the control of an expert such as yourself that works well is not proof that this will work for consumers.

I see that you and a lot of other folks in this thread feel a strong loyalty to Linux and a desire to drive people towards it. There's nothing wrong with that. But insisting up is down isn't going to do it, and that's what this communication feels like.


> a strong loyalty to Linux and a desire to drive people towards it

No loyalty here. It serves me. The moment it stops being useful, I will find something else. I don't care what other people use. I do care that they don't bother me for support. So I'm in the lucky position that whenever somebody has an issue with Windows, I can say "sorry, I don't understand how it works and I don't know how to fix it."


At least on linux such bugs are fixable in theory, on windows they are unfixable even by experts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: