Ask HN: Why is there no Linux distro that “just works” like macOS?
One would think that over the last decades, with a countless number of smart people, there would be a Linux distro on the level of macOS. I am talking about a distro, that you don't have to configure anything for. A distro that handles things like external devices screen recording without weird glitches. A distro that is _worry free_ and that _just works_.
Why do you think that is the case? Or am I simply ignorant of the current state of Linux distros?
156 comments
[ 4.4 ms ] story [ 214 ms ] threadTry a Linux in system76 or some purpose built hardware, or the vendor installed Linux on a system.
BTW osx on my m1pro has its oddities with non apple external Thunderbird, displayport, Ethernet..
https://sourceforge.net/projects/sorunme/files/
If you buy compatible Linux hardware then Linux "just works" too. It won't work with just random stuff you found in a basement the same way hackintoshes don't "just work" either.
Also, after the trash fire that's M1 Mac external monitor support I'd strongly dispute the "just works" tag for macOS too.
* Only 2 hardware-rendered displays maximum. I use 3, so the 3rd one has to be software-rendered.
* There's a delay when switching my KVM to the Mac and it emitting a video signal, that's longer than the delay when switching to Linux and activating the same monitors.
Ever tried 1440p? It looks like crap. There's a reason BetterDummy is a thing.
macOS 12.3.1 tried to address some things but it's nowhere near as compatible as Intel Macs.
But I believe you when you say that it works on the exact monitor models you own (it works with my home monitors too). But that's kinda beside the point in these debates.
You’re not even wrong, but fortunately we don’t have to run on bare metal, although we can do that too. Running modern, up-to-date macOS on bare metal x86 is possible. I know because I’ve done it.
https://en.wikipedia.org/wiki/Hackintosh
https://khronokernel.github.io/apple/silicon/2021/01/17/QEMU...
https://dortania.github.io/OpenCore-Install-Guide/
https://hackintosh.com/
For instance my couple years old Thinkpad yoga had some wifi issues in the beginning, but it got better later. There were also some very specific configuration issues, but the defaults got better over the years.
Also, people were making github repos with a one-click "fix a lot of stuff" scripts. So I guess if you have a specific device, it can get better. Like framework laptops, popular thinkpads, those dell laptops etc
https://yast.opensuse.org
They also have "PackMan", probably the largest single repository of third party software available to any distro, which eliminates the need to add third party repos for all but the most obscure software.
But, Apple still has one advantage. They make the hardware, and the software. You're always going to have a very variable experience when the two are made separately.
- https://silverblue.fedoraproject.org/
- https://endlessos.com/ (based on Debian)
Linux in Dell does not always work with all their own docking stations. The effort half-assed at best.
Other people are reporting less good experiences, of course, so anecdotes aren't worth too much.
I think the real answer is that macOS runs on very specific hardware, and as such it is much easier for Apple to make sure every part works together. Buying a laptop designed for Linux (or even better: a specific distro) would probably be similar to a general macOS experience.
Really don't envy the pressure those devs must be under.
Arm and x86 is probably a huge pain though.
Contrary to the popular illusion, Apple is a hardware company, they've never positioned or good at making general purpose OS. Apple dominated by making hardware and "firmware" that exploits their hardware. A completely different lane of making.
Good Question. Short answer is here: [0]
The most obvious failure of the Linux Desktop is the sheer alternatives of alternatives madness of not having a simple standard way of creating a sane desktop environment. This is why you have system components not working in an integrated fashion like what you see on macOS.
There are multiple system projects fighting, competing amongst themselves and reinventing the wheel to replace each other in one part of the desktop stack to prove they are the smartest out there rather than have a standard set of components to stick to that does its job well and integrates with other parts of the stack. Not create yet another competing alternative for the sake of it.
This is where the bugs get created and good luck figuring out where the bug is and 'defining' Linux Desktop support. Is it in systemd? Wayland? GNOME? dbus? or maybe it is happening in pulseaudio or was it ALSA? See what I mean? Which distros are affected? Hundreds? or is it 'that' user who has a customized install and tweaked a system component or kernel setting somewhere and it only affects them?
macOS does not have this level of unpredictability in the default install, unlike the hundreds of thousands of Linux distros one has to look at and trace the issue and maintain. That is why macOS, 'just works' on the software level.
The hardware level is a different story where to spoil it; on Macs it still just works. Hence the reason why this ex-Linux user moved to macOS [0]
[0] https://news.ycombinator.com/item?id=30821580
IMHO, owning the Hardware or agreeing on one existing HW among devs is a good approach. These come to mind:
Dell XPS notebooks, which specifically support Ubuntu or
https://system76.com/ They build or assemble hardware specifically for their Linux distribution Pop! OS
No personal experience with neither, but a colleague uses XPS with OpenSuse and talks about a seamstress experience.
And if you were a capable and well-connected individual who can consistently solve the funding problems, a lot of companies would be lining up to hire you and I doubt you'd be wasting your time with a bunch of volunteers moonlighting on hobby projects.
- vertically integrated and sells a very narrow selection of hardware
That's 90% of the "just works". The UX/UI part is the other 90% (yes the math is right)
And to be fair, MacOS is full of weird UX quirks, and sometimes it does not work. But they have the best trackpads, very good usability (and it's not just Cargo Culting) that goes beyond the surface
The limited hardware helps with ACPI/UEFI and most of the general issues around Power/sleeping etc.
Or maybe this really is just the 10%, as we will both agree that this part is also true for every single Windows PC laptop OEM - Dell, HP, Lenovo, Asus, Acer etc.
First of all, they are by definition not vertically integrated, because the same company doesn't create the hardware and the OS.
Second of all, have you actually compared the selection of hardware between Apple and any of these brands? I'll admit it's been a little while since I tried to give someone recommendations on a Windows machine, but the selection is just dizzying, and not in a helpful "here are all the different possible variables you could configure, and here are the possible values for them" way. They have (or, as I said, had) multiple different named lines within each product category, and several models within each line, and then each model has different possible configurations.
And unless you're the kind of person who has already studied the components enough to be able to build your own computer, you're not going to be able to easily tell, "Which of these actually has the most of the things I am looking for?"
Meanwhile, Apple's product lines aren't quite as simple as they once were, but they're still very straightforward. It's generally quite clear what the tradeoffs are when you're comparing between any give pair of devices in their lineup.
What matters is that they put the combined product through mostly the same testing. While the PC OEMs have only some to say about Windows' direction, they have the same experience picking components and integrating for Windows as Apple has for macOS.
Apple isn't just "picking components and integrating". They make the whole thing from scratch to work together.
No. Not even close.
You'd be surprised at the level of testing most OEMs do. It is not zero but at the same time it is not at the same level as Apple.
Apple controls the SMC and Firmware/UEFI. Dell, HP, etc buys the one that comes with the board.
Apple "hand picks" most of the components. Few PCs are custom designs, most are OEM designs.
Will the screen be decent or won’t it? Will the battery life suck or won’t it? There’s numerous quality of life question any Windows will have to ask before even getting to the actual specs of CPU, RAM & GPU.
> I am talking about a distro, that you don't have to configure anything for. A distro that handles things like external devices screen recording without weird glitches.
I don't read this as a plea for better HIG? This is HN, so I'm assuming most of us live in the terminal anyway. I'll never understand why people prefer MacOS for development. From my experience, it is clearly worse in pretty much every respect (package management, container support, configurability, just to mention a few things).
Most work places want to have one device for all staff. So the IOS team and the Android team and Marketing and API and JS team, all need one common system.
Windows is out for the Rails/Elixir team, and IOS team need Macs. Marketing and Sales teams could live in Windows or Mac's
The only Venn diagram match is Mac. Low powered or high powered, Mac is the answer.
Honestly... Package Management is really good for IOS/Rails/Android dev. I personally never use containers at work, and I don't change the configuration on my Mac. Out of the box, it works.
You're right, it is. However knowing that doesn't change it.
I don't believe that you're paying double the hardware cost though. To get a halfway decent non-Apple laptop you need to be paying close to the same price anyway. The current Macs (especially Apple Silicon ones) really are much better quality than virtually (perhaps literally) anything you can get for half their price.
A new Lenovo cost about 3k, and a new Mac costs about that too.
The Lenovo comes with windows (so rails and elixir dev's can't use it)
Mac didn't decide not to support rails, or lock rails devs out of other OS's.
I've been a developer for over 3 decades, doing multiple languages/ecosystems across the full stack. I code in the evenings too. I'm pretty much a stereotypical geek.
I also do general, consumer, non-techie stuff too.
- If I only did development then yes, Linux is the obvious choice.
- If I only did consumer stuff then Windows is the obvious choice.
- However MacOS has the best combination for both sides of that equation and second place on both aspects is better for me than the combination of first and last place that both Linux and Windows offer.
(I do still maintain a separate laptop with Windows 10 and Linux Mint though).
Many platforms (including KDE and Gnome) have UI design guidelines. https://usabilitygeek.com/usability-user-experience-user-int... lists some.
I say back in the day, because IMO Apple no longer makes purposeful UI design choices. For instance, the iOS browser window-closer in the shrunken-windows view of open tabs, has its close button on the right. Every other close button is on the left. Apple has lost the f’ing plot.
Microsoft did tons of research on MS Office, for example to design the ribbon.
I also am not sure having that iOS button on the top right is bad. It’s inconsistent, yes, but when that screen opens, your finger is at the top right of the screen. Putting them in the top right corner moves them closest to your finger. I don’t know whether it is, but Fitt’s law predicts that’s the better choice.
Thx for correction re: Gnome & ribbon.
There are still ongoing user studies happening in GNOME and KDE. It's probably not anywhere near as rigorous as at Apple, and I doubt you can easily assign a dollar value to it, but it does happen.
Let's not forget that Apple's HIG brought us 'column view' in the Finder, where icons actually slide away from your mouse, when you click on them... Or Preview where, if you select 100 PDFs and double click on them, will now open them as 100 separate documents, rather than as 'pages' within a single document, as used to be the case... or Quicktime [and Preview?] where you sometimes move a document with a conventional open/save dialogue but sometimes have to do it through a popup, accessed by clicking the name in the window titlebar.
Yes, OSX is a hundred times more consistent than any Linux distro --which often feel like the UI was designed by several separate teams who never met or compared notes-- but it's not without its own piss-poor design decisions.
One of my personal laptops is a 2015 MacBook Pro, and the camera driver is the only thing I had to manually screw around with. Everything else worked perfectly in every distro I threw at it.
"Everything else [but the webcam] worked perfectly in every distro I threw at it" really doesn't rhyme with "gone to lengths to make it difficult to run an alternative OS on their hardware" in my ears. Surely they could've done plenty more than just booby trap the webcam.
Once you’ve assembled this house of cards, it’s fairly stable, I assure you. Just don’t look at it sideways. :P
Easy: Apple hires TEAMS of designers, UX-experts/engineers [...].
The reward incentives in open source environments are not aligned with the required workload. People who seriously compare any modern linux desktop environment to the UX that macOS delivers must be lost in tunnel-vision/confirmation bias, it's not even close.
Also, like some said, as Apple provides their own hardware, they don't have to deliver general solutions.
Hardware wise I think if you use modern (i.e not older than 5 years) and also not just released hardware you are mostly ok. I haven’t had any driver problems, but that’s not to dismiss other peoples’ experience.
Android and chrome os (hell, even Darwin if you squint) all demonstrate that taking things away is the path to consumer happiness.
I am a professional user, I don't want a lobotomised system. An airplane cockpit is not like a car dash.
I've used OSX for a year after over 20 years of Linux. I really tried to like it, but to me or didn't feel any more polished than modern Linux distros. Just... different. Different flaws, different glitches, different inconsistencies, different trade-offs. shrug
https://ubuntu.com/certified
I recently installed Ubuntu on a certified Dell Precision and was impressed how smooth that went, even with stuff like full disc encryption, secure boot, docking station support, NVidia Optimus, etc. It's not perfect, but neither is Windows. With a bit of fiddling you'll even get features that are unavailable on Windows (like proper S3 sleep instead of "modern standby", which is driving me absolutely bonkers). Even notoriously problematic stuff like fractional scaling on external monitors really worked well. Installing the NVidia drivers instead of Noveau is trivial, even Dell firmware updates for the docking station can be directly installed from the Ubuntu software center.
So while there surely is a lot to criticize about Ubuntu from a poweruser's perspective (like the snap stuff), I must say that I was pleasantly surprised how much better the experience has become over the years.
I think Neal Stephenson's analogy still mostly holds true: Windows is a suburban minivan, MacOS is a Lambo with the hood welded shut, Linux is a tank that can also fly but the instrument panel is correspondingly tricky.
On the other hand... ChromeOS and Android are, by and large, slightly tweaked Linux, and they "just work" for millions of people, so I guess it comes down to what you're willing to put up with as a trade for simplicity.
Regarding "just works" I'm also not sure MacOS is a good example. I'm using both Kubuntu (5 year old Lenovo T460p) and MacOS (brandnew M1 Macbook Pro) every day and I experience more crashes / freezes on the latter. And despite the vast speed advantage of the M1 (one M1 core is almost as fast as my entire Lenovo CPU) KDE often feels much more snappy and responsive. So yeah, modern Linux is pretty damn impressive in my humble opinion.
Linux, as in "in the desktop environment", has a HUGE (a can't highlight and stress enough the word HUGE) technical debt. It runs on a graphical server that was designed way before GPUs were even a thing (let alone multi-GPU, variable refresh rate monitors, HDPi, HDR, etc...). And because of all the design limitations, X just can't compete with either Windows nor MacOS (in that specific environment setup that you're asking for). It just can't. Period.
Mir and Wayland were born precisely to fix this entire mess. Mir never really took off (because of community backlash?), while Wayland is... well... it has been "in progress" for +10 years and it's still not "there". It will get there, eventually, at which point it might be able to offer the "it just works" experience. Or it might not. We'll have to wait and see.
The audio system was already fixed. A few times... We jumped from Jack, OSS and Alsa to PulseAudio and now to PipeWire and things look promising, but PipeWire is also in the progress, so we're not entirely there yet either.
Bottom line is: There can't be a distro that "just works", because we're missing the pieces to assemble such a distro.
Well that is what makes defining official Linux Desktop support something of folklore. You can predictably support and target Windows and macOS users all the time with your app working on those systems for it being all taken care for you.
But as for Linux, you will always need to exclude and draw the line somewhere with which distros you want to support. You can't support them all. There will always be that minority of fans of your product, screaming about support for an exotic Linux distro. The developers will just slap UNSUPPORTED and not worth the work.
It is because they can foresee a mountain of issues, maintenance debt, hours of issue tracing and costly CIs to maintain just for the claim of which distros are 'officially' supported.
https://sourceforge.net/projects/sorunme/files/
Of course I could host it myself - but I guess I should just provide links on my actual sorun.me page.
At this point I've conceded that I will use x11 until I die. I will write software for x11 until I stop writing software. Yes, it is miserable, but it's never failed me and there has never been any "politics" ruining it. There's no wlroots to fuck around with to get certain basic features working. There's no xWayland to scream at when my software doesn't "just work". The whole thing is so disappointingly ironic that I can't help but ignore it's development.
Also, the reason there's no "politics" anymore is because most of the developers have moved on to Wayland. There were quite a few flame wars on the X mailing lists back in the day. You can probably blame some of that for the existence of Wayland, which should actually have less politics because multiple groups are no longer fighting for what to put in the one centralized X server. The one area where there was activity, and arguments were popping up again was... you guessed it, Xwayland, but they solved that by bring it into its own release cycle away from the rest.
Regardless I don’t what they’re trying to do, but they do need to add in a proper method for granting higher privileges to apps to have more access to Wayland in the same way macOS grants access to Remote Desktop apps.
At least in GNOME and KDE, there is a proper method for granting higher privileges, that method is the xdg portal API. I don't know where people are getting this idea that the method doesn't exist, it has existed for quite some time now.
Listen, I don't care who you are or what your agenda is, but a line like this just confirms my suspicions that you're trolling. Quit it, please. Your constant bickering with anyone who disagrees with you is undermining the site's values of gratifying intellectual curiosity. It kills fruitful conversations, makes it harder to take your arguments in good faith, and colors your stance as simply contrarianism. I'm going to continue ignoring your comments if this is the basis of your conversation on this site.
X simply can’t separate different applications inputs and display outputs, unless you go full on nested X servers, while wayland solves this aspect splendidly.
Of course it is only a single step into the correct direction, you still need sandboxing and the like, but just sandboxing wouldn’t have been enough for X.
I wouldn't even say the network effect matters that much, a huge part of the work has been disentangling the drivers from X. It's not very visible work to userspace developers but it's probably even more important than any work on the window system. The DRM/KMS/GEM subsystem is now widely adopted for kernel drivers, that work took a long time but doing it correctly means userspace is now freed up to implement any windowing system they want without having to deal with the driver mess caused by X.