Why FreeBSD Desktop and My Linux Rant
randomnixfix.wordpress.com
randomnixfix.wordpress.com
I will ignore the systemd stuff, because, well, you could have devuan which is debian without systemd.
With appimage, flatpak and nixos you can have newer stuff, but of course, you might have to do work yourself.
And the stability of the OS. What exactly? The stability only of the kernel? or the things interoperating with the kernel are more stable? but your kde on freebsd was also patchy and buggy?
and safe upgrades, well, debian does that for over a decade, come on. With ZFS on debian i did not work, but there would be btrfs. and as long you do not really have an data issue, i have a hard time believing btrfs is not good enough on the desktop.
disk encryption works as good as on freebsd as on linux.
switching between connections.. ever heard of nmctl?
I mean, i am happy if you found something that works for you, and the bsd guys are great.. but to be honest, none of your reasons are from my POV real reasons for switching. you just did not research the stuff. which is okay, but don't shit on the linux desktop architecture just because the knobs are not in the colour you like. or you do not even know about the knobs
It's easy with systemd or just use dnsmasq
Makes sense as systemd took several ideas from MacOS launchd
but the desktop is and will be a sprawling mess of components, look also too windows and mac. because nothing is totally certain, and something has to take care of it.
what is your argument that systemd is not made for the desktop? and split dns can also occur in server systems which are public but have a virtual "inner" network.
and my split dns works, so.. perhaps either your configuration sucks or the software is just not working at the desktop that seemlessly, but that will come. but it takes time.
I think Ubuntu (debian really) does a fantastic job of packages. I love the stable set of packages + ppa's for when you need the latest version.
FreeBSD basically has rolling release packages (even the quarterlies are rolling release). I've been screwed over so many times by some conflict on upgrade that the solver cannot satisfy, and this has left me without a working DE several times. Eg, the solver decided to delete kde because some package had a conflict.
I may just be "lucky", but I never had these problems with ubuntu, even on distro upgrades.
EDIT: The 7 years on Linux was due to a ports update leaving me without a working window system in 2007 or so. I gave up and just installed Linux. The pkg system has matured a lot since then, and I never, ever, do source based ports upgrades these days
That said, I hear you on the upgrades. I've never had an issue with FreeBSD pkg removing my DE (perhaps because I only use a basic window manager) but the video drivers have a habit of breaking across minor OS upgrades forcing me to compile myself from ports, and often not properly documented. Not too often but often enough to be an annoyance, and one of the reasons I'm considering a linux (certainly not ubuntu though, probably fedora or void).
I also ran PC-BSD at the time. They packaged stuff I cared about (eg, Firefox) with all dependencies, similar to how I understand NixOS works now.. This eventually faded out and became more like normal FreeBSD, and I finally converted to normal FreeBSD
But I use a computer to do stuff.
I tried using FreeBSD to run a desktop on. Both ports and packages were a PITA in various ways. I eventually found myself running everything as the Linux binaries under emulation.
Then I tried Ubuntu 5.04, with Debian's apt packaging, and I was like HOLY SHIT GUYS, THIS IS HOW TO DO THIS.
So Linux still annoys me to administer, but I can basically get my stuff done.
Supports binary package installation and operates more similarly to apt
Unfortunately it's quite a new hardware (Clevo NV41MZ with i7-1165G7 and AX-200) and neither suspend-to-RAM (doesn't wake up in a working state) nor WiFi (iwm driver not ready and available for FreeBSD 13) work.
I have a RealTek USB WiFi adapter that kind of works, but I'm not sure if I can do without suspend-to-RAM on a laptop, as this is pretty much the most important feature for everyday use.
I agree about the electron stuff, FreeBSD is always forgotten. In some cases it doesn't matter because alternatives are available (e.g. VS Codium). In some cases it's super annoying. Sometimes when you ask the developers for it you can almost feel the rolleyes in their response. Even though it's probably just a tick box in their toolchain.
USB audio works for me but only after I installed pulseaudio. It's a shame having to do that because FreeBSD's sound system is better. But PulseAudio also integrated much better with KDE. With the default sound system I wouldn't see the volume applet in the panel.
For me it was also a big point that it feels less under control of big tech. They're always trying to push Linux towards their own interests. Ubuntu always having to re-invent the wheel trying to insert their own IP (like they do now with snap). Google and Microsoft fiddling with the kernels to make it work better on their infrastructure. FreeBSD seems to be more for the users by the users.
I'll have a look at your boot environment config, I hadn't heard of that yet. Thanks(e.g. Cryptomator) for the idea! ZFS is obviously a major plus anyway. It really helps making atomic backups. I used to use ZFS Send for this, but lately I've been reverting to making tarballs of the snapshot instead because a ZFS Send/Recv stream is really hard to retrieve individual files out of. I wish that was a bit easier. (In fact even tarballs are kinda crap for this because it has to scan through the entire file for every operation :P )
Some other things I don't think you mentioned:
- Rock solid, really. Does not allow you to overcommit memory and freak out (edit: Oh you did mention this sorry)
- Jails. Functionally much better than LXC but sadly lacks the 'docker' ecosystem.
- Very good maintainers that are available on IRC. Both for the desktop apps and FreeBSD itself. No need to sign up for hipster stuff like slack or discord. It feels like communicating with a startup rather than big tech (directly talking to the R&D team rather than putting a ticket in and hoping you get someone with some knowledge this time). One bug I reported on IRC was fixed, upstreamed and deployed the next day. Wow. A small community has its advantages too.
As to what I don't like, modern wifi seems to be a pain. For me it's not important at all as I prefer desktops over laptops and you have to pry the ethernet cables from my cold dead hands. However it getting to the point of always being a running joke whenever you bring up FreeBSD. This really should be fixed somehow. The problem is partly that the Linux community seems to have resigned to accepting blob drivers from vendors. Which obviously won't work for us.