For what it is worth, I've been using Linux for 20+ years and have recently moved my main workstation to FreeBSD. Simply because Linux was getting more and more buggy and unreliable (most of my servers switched to FreeBSD years ago, except those that specifically need Linux).
Especially for things like the Nvidia drivers. The final straw came when a routine update broke the Nvidia drivers, and I could not recover without a wipe and reinstall. So decided to "reinstall" FreeBSD instead.
So I guess this is the experience of someone who is new to FreeBSD but who has used Linux a lot in the past.
As part of my migration I also am trying to port over my desktop setup. Windowmaker seems to actually work better on FreeBSD than on Linux, and I did have to install bash and make changes to my desktop scripts to take into account differences between the systems. Overall it has gone smoothly (I currently have one minor issue with keyboard layouts which is on another thread in the forum to resolve)
So far the experience is better than Linux, things "just work" together so much better. I have not had to do any odd hacks or other nonsense to get things working like I usually do on Linux. It just feels a lot more integrated, like it was designed to work together. No complications or difficulties with the Nvidia driver for example, which makes a nice change.
Another nice thing I've found on FreeBSD is audio. Linux struggles with this. Common problems include:
- One application takes exclusive control and I can't get sound from other systems unless I find that app and kill it. Other times it shares the audio output no problem. Seems sometimes there is an exclusive lock on ALSA, other times not.
- Some applications just don't work at all (no audio), usually for reasons I don't know (i.e. it is set to ALSA, everything is correct, no errors reported. Just no audio)
- Some fighting between different sound systems (some app defaults to ALSA, some default to pulseaudio, some use JACK, etc...)
- Moving a playing video or graphics will halt the sound output, which does not happen on FreeBSD
I was surprised to see FreeBSD still uses OSS (as that was retired years ago in Linux), but it is at OSS4 which actually seems to work better than the mess above.
So far the only major negative I have found with FreeBSD is the lack of suspend support. I liked to suspend my desktop to RAM overnight to save power yet keep my desktop state. Unfortunately this does not work on FreeBSD, so I have to either shut it down or let it idle overnight wasting electricity.
While the above is more an annoyance than a showstopper for running FreeBSD on a desktop, on a laptop it does become critical. I make heavy use of suspend-to-ram on my laptop when I am out and about to save power. I also use suspend-to-disk to power down the machine when the battery is low, allowing me to switch the battery with a fresh one and resume my work where I left off.
In addition when I tried to install FreeBSD on a laptop, I had issues getting the wifi and graphics working. Going back to a time of having to spend ages twiddling X configs to get a display was something I didn't want to go back to.
As such my Laptop will most likely be remaining Linux for the time being.
Beyond that I have to get used to not having all the software I had on Linux. A lot of open source software only targets Linux, but that is not a fault of FreeBSD itself, and with increasing popularity I can imagine more SW would take it into account.