It is funny with Linux (the kernel). From the outside it looks like almost nothing ever changes. You switch the computer on, it works away in the background to bring up the desktop and have everything talk. From that perspective it feels like nothing has changed in decades.
But then you look at the change log, and almost everything you see added sounds really useful to someone working on this stuff. 35 years of work on this and there is still so much to be done even if you most people using it never directly feel it.
Strongly disagree. Hardware support improved by leaps and bounds last decade and a half. Namespace isolation and cgroups driven containerization. eBPF appeared and gained adoption. Async I/O (and later just everything async) converged on io_uring. Btrfs is _stable_ - some people believed it would never be possible, ever. All kinds of scheduling were iterated and iterated over.
All these things are visible across the board, both from developers and end users side.
I have been using Linux on the desktop since the late 90's. Other than increase hardware support, I have not tangentially noticed/felt almost anything you have mentioned here. When I fire up the desktop and load Firefox, I do not feel or see the sandboxing, the scheduler, the file system or the I/O. It just works.
Yes, we interact with it all the time but it isn't something that the end user would notice and that is a great thing. If you are not directly poking around with that stuff, you shouldn't notice it.
That they are so seamless should be seen as a badge of honor.
I also have been using Linux for over 20 years and I agree that hardware support is the most noticable.
This year I have installed Linux Mint on computers from people who wanted to jump from Windows to Linux. Every time I booted via USB, installed Linux and 10 minutes later everything was working.
This would not have happened 10 years ago. Back then there would always be an issue with a video driver, WiFi driver or audio driver.
Of course there are still hardware issues for some special deviced, but today Linux just runs fine for most people. And that's a great accomplishment.
Only on a select combination of blessed components and BIOS/EFI not half-ass broken to the tune it only worked somewhat stable on Windows.
Anything with split iGPU/dGPU was a mess no matter what and where, WiFi that was not Intel was a mess, suspend to ram and suspend to disk were a coin flip if the system would wake up again or if it would decide to wake up on its own and overheat itself to panic.
"I installed Ubuntu on peoples laptops and was extremely lucky they happened to have compatible hardware or didn't notice the stuff that didn't work and had a non-borked firmware". FTFY.
This was absolutely not everyones experience, including mine.
> Btrfs is _stable_ - some people believed it would never be possible, ever.
Right:
> The RAID56 feature provides striping and parity over several devices, same as the traditional RAID5/6. There are some implementation and design deficiencies that make it unreliable for some corner cases and the feature should not be used in production, only for evaluation or testing. The power failure safety for metadata with RAID56 is not 100%.
Seems like parent thread spoke from perspective of developer/tech savvy person.
But even from end-user perspective, maybe its hard to see change when you compare one year or so, but over somewhat longer period I definitely see improvements. Over say a decade or so, wifi/bluetooth/trackpad support has significantly improved. Over last 5 years, I think gaming has become huge and you can actually use Linux as gaming machine. In last 3 years or so, I think I've seen my 5k display using Thunderbolt work much better. Fractional scaling also works much nicer.
NVIDIA GPUs are not shitty to use on Linux, and AMD has been working great for slightly longer. UEFI/TPM works much better now as well, where I don't have to worry about booting in legacy mode when using GPU drivers.
I didn't have to think about any of these above. If I think harder, I can likely come up with many more.
Well ya, it's more useful in observability usecases than desktop ones. But recently I've been using for a consumer desktop usecase. I made a file watcher with it. I'm sure you're familiar with the woes of using inotify/fanotify.
eBPF vfs hooks based watchers are really nice.
[edit] details
- you setup a single `mount` - this is the only part that requires cap_sys_admin
- then you run a single daemon, this one only needs cap_bpf, and this runs once at startup and is its own self contained program
- this daemon writes events into a ringbuf referred to by a file in that bpf mount
- you then read that from your standard user program (this can be done by whichever application needs to consume the events)
the events are create, mkdir, delete. renames are automatically decomposed since we hook at the vfs layer. the hook itself is practically free to run and thus there is no question of a performance impact.
You may know more about what it powers. It has enabled much faster, higher quality, more stable security software on Linux. Many modern security tools are built on top of it. While end users might not know it by name, it has made Linux easier to support in the enterprise.
For desktop I think it would be fine, though if you have the advanced needs of all the ZFS features I would stick with ZFS, but I had no problem.
The real problem I had was a low limit to save history. I install a lot of software, Cachy would run the snapshot every time (good), but it only kept like 5-10. And the one I needed to restore to was further back (I can't remember the exact issue), but that was more the defaults of how cachy set it up, and my use case than btrfs/snapper itself.
Whatever tool you use to snapshot btrfs, you may wish to have a custom number of saves if you install tons of software a lot...so you can avoid having too few backups available from the boot menu. I'm sure there was a way around it but I said f it and just reinstalled instead of trying to look up on my crap tablet how to get at the old files (assuming they were still there and just not accessible from the boot menu vs being completely erased).
I do not think it was btrfs that broke, to be clear.
This was like a week before the big hack on AUR, so I wonder if I got hit by a supply attack, but it was pretty shoddy, and broke my system, thus my reinstall saved me from (possibly) a lot more pain down the road.
It was the default on SUSE / OpenSUSE for years. Haven't used them for a while, not sure whether it still is. No problems with basic functionality including snapshots. I believe some RAID configurations were experimental for long time.
Been using it for a year or so on my main box. Never had any kind of issue. Snapshots saved my ass a couple of times. All in all it’s been pretty boring (in a good way)
Maybe. I think there's still no chance of repair when it blows up. Only FS since Reiser and early XFS that I've completely lost data to on healthy hardware.
Whichever one of my test machines is using btrfs is doing fine, though, so on a subjective level that one's been stable enough.
It's basically fine as long as you read the release notes carefully and don't do anything the release notes say not to do (e.g. RAID5, let the disk fill up). It still has some sharp edges, but they're all documented.
I imagine for some end users a lot of this stuff is happily invisible, just like you say.
But for me, a few kinds of changes have been highly visible as a user:
- basically all filesystem changes, especially the mainstreaming of copy-on-write filesystems
- not a change, but dramatically better filesystems performance than Windows or macOS has always been noticeable
- the addition of cgroups and cgroupsv2, and later user namespaces, which enabled lots of software that I use
- all kinds of driver updates and additions, obviously
- newer virtual filesystem stuff for introspection, set to replace /proc
- addition of KVM! I remember when this was not a given, in the Xen days
As someone who uses macOS at work for the last several years, I really miss the Linux kernel when it comes to filesystems, and feel like macOS updates often involve very few changes that I care about or even consider operating system change at all. Most macOS updates are just trumped up application updates.
In that way I've kind of felt the opposite somehow, like OS updates on proprietary operating systems feel thin and empty.
I've been daily driving Linux since ubuntu 12.04. Things have improved a lot. It used to be the best OS for (a certain class of) programmers. It's now the OS I installed on my 7 year old son's computer. Things like connecting Bluetooth peripherals, multiple audio devices, multiple screens (with multiple DPI) are a not just possible, but easy now, and robust.
Isn't this the case with most well established software?
There is still a lot of work done on the background, perhaps even more than ever.
But unless you are a power user eagerly waiting for one of the things currently worked on, you wouldn't notice or care unless the interface changes (which usually only happens on visual interfaces).
Maybe it's distro packaging, but I suspect it's the kernel, too: In the 20 years I have dipped my toes into Linux, there is no better time to be a desktop user than today. With CachyOS and modern kernel, I have zero audio issues, zero GPU issues, (thanks to Wine/Steam Proton) no gaming issues, and much more rare instances of wifi or sleep problems. The idea of having to install hacky wifi drivers from USB stick are over.
Actually, i was waiting for 7.2 in order not to "install hacky wifi drivers from usb stick" XD, because mt7927 was not supported, so neither wifi nor bluetooth have been working out of the box
i remember back in the day, when i built my project, using 100% cpu, the whole system became lagging and choppy and you really can't do anything anymore.
Now it behaves more like Windows/Mac, even when 100%, my youtube/spotify tab can still run smoothly.
(Of course i think there will be hit in some areas, like my code would be built slower, there is no free meal).
Not really. I never had this less issues on Linux with hardware. I remember 15 years back when I wanted to install it on a Desktop/Laptop, many things simply didn't work. Now you can install Linux on a self-assembled box and 99% of things will work out of the box.
Things that are unneeded, ie. unmaintained, eventually get purged. It happens quite regularly. For nearly every kconfig option, someone needs it enough to maintain it. But I agree, `make menuconfig' is overwhelming.
But then you look at the change log, and almost everything you see added sounds really useful to someone working on this stuff. 35 years of work on this and there is still so much to be done even if you most people using it never directly feel it.