
My experience using FreeBSD
My experience using FreeBSD has been the most fun I’ve had with an operating system in a while. It reminds me of Linux back in the early 2010s, it’s super barebones and you need to work and tweak at things. FreeBSD may be 5-10 years behind in the desktop realm, but it is 10 years ahead in many other places. In terms of performance, package management, server usability, and resource usage, it is industry leading by far. It does fall behind in other places such as audio servers, which I will also explain later.
FreeBSD has an edge over Linux by having a universal way to install packages. It’s a whole operating system, not a distro. This makes applications such as Flatpak and Snap (ew) obsolete, even forks of FreeBSD can run the software from the official repos with minimal breakage. It takes the pain of needing one package manager for your libraries and system files, and flatpak
for all of your personal applications. If you have an app that is not supported, you can simply enable the Linux service and run Rocky Linux 9 or Ubuntu 22.04 in a chroot. This lets you run RPM and Debian packages that don’t work properly, or non-ported apps that simply don’t run.
Another way that it accels is the performance. You can optimize every single part of your operating system if you wish, without needing a complicated installer like with Gentoo or LFS. Compiling your software is optional, and it is usually recommended that you don’t mix ports software and apps installed with pkg
. The kernel compiles in under 20 minutes on my low end computers, one being dual core with 4 gigs of ram. I can listen to music with Firefox or MPV and still have it compile in under 40 minutes. The size of the FreeBSD kernel is truly incredible.
The final way that it accels is server performance. It runs way faster than Linux serverside, Netflix even uses it to host their backend. Java applications run well and there are usually no compatibility issues unless a program needs JNI and the class is compiled for a different OS. While under load, it uses less resources than Linux, and websites, containers, and game servers run very well. All while having more stable latency, throughput, and less jitter.
There are some ways that FreeBSD lacks behind other operating systems, for example, some ported applications have segment faults and other memory issues. For example, I was testing out LXQT with Openbox and obconf crashed upon changing any setting. When Googling the issue, I found a forum post from 2012 with the same issue, so it has existed for a while and still isn’t fixed. Many projects and apps on FreeBSD simply lack maintainers. While running KDE Plasma, I always had crashdumps from various services, many of them being 50+ MB memory dumps. FreeBSD also lacks behind with audio. The buffer size of the audio card was improperly calculated, forcing the values to be 65536 instead of the optimal value. Pulseaudio also caused some applications to crash when I tried forcing sndio
, and on top of it, PipeWire would not run at all. pipewire-pulse
didn’t even properly start a Pulseaudio socket as pavucontrol
and pactl info
couldn’t find anything. sndio
also had many issues including sample size and rates being improperly set. This was all while the audio card was fully functional and automatically detected by the built in OSS (or Open Sound System). Sound servers kinda suck sometimes.
All in all it has been a super fun experience and I have no plans of switching back to Linux for the time being. I have fixed all of the issues, but it has been a wild ride. I am loving it so far, and its nice seeing people that want improvement and reliability over recoding everything in rust. ;)