Hacker News new | ask | show | jobs
by qumpis 1295 days ago
You say, talking about Linux: "It might work today but it probably won't tomorrow". Can you elaborate?
3 comments

I've had 20 years of anxiety about closing the lid, hibernating, sleeping. Numerous working configurations became non working configurations after kernel updates and distribution upgrades.

And that doesn't include some of the problems with the desktop software I've had.

On the server, zero hassle.

Came here to echo this sentiment. I even bought from a specialized Linux laptop retailer hoping that the hardware would have been selected because of its Linux compatibility; either an upgrade from Ubuntu 20 to 22 or a kernel upgrade or an nvidia update broke my ability to close the lid and trigger suspend.

I tried everything, dove semi-deep into systemd settings, spent hours online and pouring through logs and journald and forums and bug reports. Tried rolling back versions of damn near everything only to then break things I had installed after other upgrades. I tried doing some half-assed custom shell scripts that felt janky.

After several nights of losing all my free time after work only to wake up the next morning to a dead laptop battery, I treated myself to an m2 13” mbp.

No ragrets.

Suspend is an industry-wide new problem affecting almost all new hardware since Windows convinced hardware makers to make S0 the default, and some don't even support S3 in their bios any more.

Google about "modern standby".

It's driven by a software change in Windows, but it affects Linux too because all mamufacturers made bios changes to support the Windows change.

The point I'm making is, Windows machines have the same problem for the last 2 or 3 years. Even macs have an essentially the same problem, just that on mac it's easy to change a setting to fix it.

It's not a Linux problem, and by that I do not just mean the usual that it's not Linux's fault that hardware manufacturers cater to Windows. I mean everything has the same problem right now, and the fix is to A: hope both your hardware has a bios that still provides support for S3 standby, B: use it.

Seperately, I personally have just never used standby or hibernate. It's true that aside from the current industry-wide issue caused by "modern standby", it's always been a bit of a problem on linux. Especially since I dual boot and also just never know how long the machine will be turned off or how much charge it will have when I close the lid, or rather I don't want to have to worry about it. So I just decided decades ago that the entire suspend and hibernate concept was a bad idea and I don't use them, on any platform. My machines shut down and boot up every time on battery. Plugged in they merely go idle and turn the monitors off. No swap or hiberfile even cpnfigured on linux or windows. Ever since ssd's booting from scratch has been fast enough. Standby and hibernate are just fundamentally not good ideas IMO. I don't care how popular and how they work 99% of the time. I opt out of that whole idea, on any platform.

And everything else works great. My daily life on linux is all in all, less grief than Windows.

> After several nights of losing all my free time after work only to wake up the next morning to a dead laptop battery, I treated myself to an m2 13” mbp.

LTT just did a video on something like this: https://www.youtube.com/watch?v=OHKKcd3sx2c

tl;dw: It may not be a OS problem, but rather a problem of which sleep states are supported by your firmware, which would explain why nothing you did helped. Possibly suspend never really worked and Ubuntu just got meaner on the battery. Getting a MBP is valid fix if you disable "Wake for network access" on it.

I've been using Linux for ~18 years, exclusively for ~12, and I haven't really had notable hardware issues in ~7-8. I definitely haven't had much frustration with working hardware breaking (and pretty close to none since I switched to NixOS).

I do feel your pain, though. I remember things being brittle and finicky for a long time back in the aughts. But these days, almost all of that disappears if you give Linux the same kind of hardware commitment you'd give macOS, and just buy hardware that is made or sold with it in mind. You do still have to pretty much stay entirely away from NVIDIA, though. Unfortunately Linux vendors still sell hardware with NVIDIA's shoddy components and drivers because CUDA dominates GPGPU applications.

> if you give Linux the same kind of hardware commitment you'd give macOS, and just buy hardware that is made or sold with it in mind

This is true and good advice for those of us who are primarily committed to using Linux. It is however a significant disadvantage compared to Windows. It is quite a joy just not to have to think about precise hardware specs (& not to have to continually read up on their changes). Buy just about anything, from a top end laptop to some weird gadget from Alibaba, to vast scads of second hand machines and parts from ebay, and you can be near certain it will work with Windows. There's no point pretending that's not terrific.

It's also a real but lesser disadvantage against MacOS, because Apple do the hardware curation for you (part of what you're overpaying for of course).

On balance I still find Linux the best choice for my purposes.

Totally agreed. It's a point that I think people (like and including myself) who are passionate about Linux tend to be fussy about the framing of. It's ‘not Linux's fault’, and it can be painful to hear people talk about shitty desktop Linux experiences when you know the incompatibilities would have simply been avoided. It often feels like an unfair ‘apples to oranges’ comparison to compare OEM hardware on an OS it ships with to attempting to retrofit a Linux desktop onto random hardware whose supplier never even gave a thought to Linux compatibility.

There are some vendors where (for a premium) you can defer hardware curation to them, but too few of them provide laptops comparable in quality to a MacBook Pro or an X1 Carbon. System76 has some really top-notch desktops of various form-factors, and their firmware work on their laptops is awesome, but the chassis and design aren't on par with those top brands imo. Maybe the HP Dev One is on a par with an X1 Carbon?

> On balance I still find Linux the best choice for my purposes.

It's the same for me. The freedom, flexibility, control, and predictability I get out of running a Linux system make using a computer feel really good to me. Using Windows or macOS feels chaotic, confining, unreliable, intrusive, and alienating to me. Consequently I find that overall, choosing Linux gives me the smoothest, highest quality experience.

Not OP, but I found there's a sort of bell curve with Linux support on laptops.

Initially your hardware is likely very new, so some things won't quite work out of the box.

Then, assuming you bought a popular piece of hardware, things get progressively better for you: improved driver support land in the kernel, distros get better at auto-configuring for your hardware, etc.

Finally, 3 years out, upstream development has moved on, your specific hardware configuration is no longer actively tested, and things start to break left and right.

All in all, you have a small window of optimal Linux support for your hardware.

There are still components that you need to watch out for when buying a used laptop if one intends to run Linux. Broadcom WiFi is notoriously painful for example (have seen routine updates break those drivers several times over the years), and even though Nvidia provides official Linux drivers those can complicate things too.

The most painless Linux laptops are those that use integrated graphics only and for the best experience, use Intel networking instead of Realtek (Realtek often works, but it working well is highly dependent on the specific chipset).

FWIW, my Lenovo x1 from 2012 hasn't had an issue with fedora ever. Can't speak to other distros, reliability is key for me.
There are plenty of online accounts of "new Linux kernel versions" affecting working software. The last one I remember seeing is Linux in a MacBookPro hardware (I think MBP 2011) that started waking up immediately after sleeping due to some USB issues. Apparently the only known way to fix that was to "downgrade the Kernel" to some other version.

I am actually using Linux (Mint flavor) and use it for development. My main reason is that I hate Docker in Mac: The emulation layer uses a lot of RAM and high CPU, by necessity. While having Docker in Linux is transparent and requires pretty low resources.

I like Linux in general, but yeah, it still has A LOT of rough edges. The one that just bit me is the lack of Hibernate out of the box (it's 2022 ... come on!). And the process to enable hibernate is so fucking long: * create large swap, * edit some random files, * restart some random service. are they kidding me?

> The last one I remember seeing is Linux in a MacBookPro hardware (I think MBP 2011) that started waking up immediately after sleeping due to some USB issues. Apparently the only known way to fix that was to "downgrade the Kernel" to some other version.

Macs have hugely nonstandard firmware implementations, from EFI to SPI to Thunderbolt. You should always treat running Linux on Apple hardware like building a Hackintosh. It's not remotely in the same category as support for normal PC hardware.

I'll note my current up to date 2019 Mac running OS X currently wakes up immediately after putting it to sleep, so it's not like OS X or windows are immune from this kind of thing.