FreeBSD Blog

I’m starting this blog to document my adventures in using the FreeBSD operating system as my daily driver since March of 2021. Although I had used FreeBSD sparingly in the past and mostly for server purposes, this is the first time I’m switching over completely to FreeBSD as a workstation. I hope to document all the pros and cons of such a setup as impartially as I can.

Personal History

I first started using Computers back in early 1990s. My first computer was a Sinclair ZX Spectrum 128 with a whopping 128K of RAM. Next was a PC with Pentium processor, 1GB hard-disk, and 16 MB RAM. On this PC I started with MS-DOS then progressed to Windows 95, Windows 98. Around 1998 was when I got introduced to the world of Unix operating systems. Back then at work I was using SunOS, and HP-UX, and at home I had installed Red Hat Linux.

Over the years I have used many Unix-y operating systems - SunOS, HP-UX, Solaris, Linux (too many flavors to count), and to a very small extent the BSD flavors. I had been using Linux happily since 1998, and would consider myself to a somewhat advanced user. In addition to using these various operating systems, I have been a professional programmer and have used C/C++/Java/Perl/Python/Scala/Shell-scripting/SQL at various points in my professional life. These days I’m more into to Cyber security than programming, but I’m always on the look out to crank out some clever shell script or a perl/python script.

From Linux to FreeBSD

This brings me to the currnet state of almost 100% FreeBSD for personal use. The catalyst was systemd. I know that systemd has its ardent defenders and passionate haters. I don’t belong to either of those camps. For me it’s very practical - systemd gets in my way more often than not and I don’t like that. If I have to work around systemd to accomplish what I need to do, then systemd is not for me.This was the reason I initially moved to a non-systemd based Linux distribution - Void Linux about 3 years ago. To be honest I have no complaints about Void. It is a very solid distro and very well supported by its small but active community. However the more I read about the BSD philosophy the more convinced I was that I need to move to the BSD land.

Initially I evaluated the 3 major BSD flavors - FreeBSD, OpenBSD, and NetBSD. It all came down to being able to install an OS without too much hassle on 3 of my computers at home - HP z620 Workstation, Dell Precision m4660 laptop, Sytem76 GalgoPro II laptop. I had most success with FreeBSD and so FreeBSD it was. That is not to say OpenBSD and NetBSD are wrong choices for personal use, far from it. They too are really good OSes and should your hardware support them you should definitely consider them too.

Current State

I have been running FreeBSD almost exclusively for all my personal needs for last 2 months. So far I have installed it on my 3 main systems - HP z620 workstation (dual Xeon, 96MB RAM), System 76 Galago pro laptop (i7, 32GB RAM, 1TB NVME), Dell Precision m4660 laptop (i7, 16GB RAM, 120 GB SSD). I’ve also installed FreeBSD on three Pine64 SBCs - A64+ , A64-LTS, A64-Sopine. So that’s a grand total of 6 FreeBSD instances running in the house.

So far, I am very happy with the switch and although initially it was a bit of a pain to get used to the BSD userland, I did manage to shed my Linux habbits slowly. Here are a few things I wish worked better than they do

  • Intel Graphics card using the i915kms DRM driver needs to be compiled manually every time there’s a kernel upgrade. This is not a big deal, but every so often the driver when loaded generates a blank screen, and the only solution is to rollback to the previous working kernel or wait till a new kernel is available.

  • Screen remains blank after waking up from sleep if you’re using Nvidia graphics card with the nvidia drivers. This is a known issue and I haven’t seen a solution.

  • Many vendors these days provide Linux drivers in addition to windows but not BSD drivers. This is hardly FreeBSD’s fault, but can be a deal breaker under certain circumstances.

  • Rust is currently not available for ARM64 images, and FreeBSD is general is not in the Tier-1 supported platform lists for Rust lang.

Future Plans

I plan to continue using FreeBSD and also NetBSD/OpenBSD when opportune in the foreseeable future. I’ll use this blog to document my adventures, frustrations, and thoughts on FreeBSD and I hope someone will find that useful. Stay tuned!