Two Weeks with FreeBSD as My Daily Driver
Last Update: Jun 7, 2024
I wrote a book! Check out A Quick Guide to Coding with AI.
Become a super programmer!
Learn how to use Generative AI coding tools as a force multiplier for your career.
I love FreeBSD. I always have. I first started using it in the late 90s and quickly gained employment using it. I ran a web hosting service with FreeBSD for years. It was a daily driver for me for a long time (1999 to 2004 or so). I became one of the “FreeBSD people” at a developer job I had later. I have a deep history with it, but at some point, I abandoned the thought of using it as a daily driver faded. Last year, my interest was re-ignited.
What Is My Daily Driver?
This definition is rather loose. What do I consider my daily driver? At my 9-5, I use a Macbook pro. OSX for 40 (or more) hours a week. I build courses with my Digital Storm workstation (Windows and Arch Linux, I love it) and most recently an M1 Mac Mini.
So what does that leave? What do I use when I’m not working? A Lenovo E590 Laptop. It runs great, though I did swap a 1TB SSD drive into it after purchasing because I put SSD drives into every computer I own. You should too.
I use this laptop for:
- General computing stuff (email, personal finance, web browsing, research)
- Development - side projects, learning new skills, maintaining this website
- Articles - I prefer to write my articles, like the one you’re reading, on this laptop.
- Pretty much everything else
So when I punch out from work, and I’m not building courses, this laptop is the machine I use for everything else. I ran Arch Linux on it (no Windows!) for the last year, and it was great until it wasn’t. I had a few things that kept consistently breaking with updates and got frustrated.
A rolling distribution is great unless you need to rely on the machine. I know this all too well, but in the end, I decided to ditch Arch Linux. I still love Arch and run it on my “big machine,” but it’s not the one for my laptop.
So I decided to slate my machine. Knowing that I would convert the laptop to Pop!_OS, I thought I’d throw FreeBSD on it for a bit. I installed FreeBSD 12.2-RELEASE Just to see how things have progressed and if it can be a daily driver. I used it for around two weeks.
FreeBSD: The Good
This is how much Memory FreeBSD is using while I’m working on this article
Let’s start with the ways FreeBSD as a daily driver worked well for me. Here are the ways it made me happy:
Performance - No surprise to FreeBSD enthusiasts, this laptop screams. Very snappy. I use LXDE, which is pretty lean anyway, but with FreeBSD daily use is snappy and quick. Basic things like web browsing, writing software, moving files, etc. all perform top notch. Memory usage is minimal. FreeBSD uses my hardware efficiently.
Stability - Once I got everything installed and got the bugs worked out, everything is running as expected. No suprising quirks, dead screens or anything silly. That’s not to say everything I need works on FreeBSD (I’ll get to that) but the software I did get working shows no problems.
Battery Usage - This was a little unexpected, FreeBSD has a bad reputation with power usage, but I didn’t experience that. My battery life was great with FreeBSD on this laptop.
Familiarity - Ok, highly subjective, but my familiarity with FreeBSD as a system came in handy. I would get an idea to try something and knew exactly where to go and what to do.
Documentation - When I got stuck on something, I found incredible documentation to help me out. Linux documentation doesn’t compare.
Hardware Support - MOST of my hardware is supported with FreeBSD 12, in the latest release. This includes my Wi-Fi card, which wasn’t supported last year. Now, it works like a charm. Here’s my hardware snapshot if you’re curious.
Jails - Since Docker didn’t work, I decided to try out FreeBSD Jails for a few things. I didn’t dig deep, but wow, what an awesome system. I’m a Jails fan.
Summary: If it weren’t for a few particular needs, I would leave FreeBSD on this laptop for the reasons above. It’s a fast, smooth user experience. It’s incredibly stable. It stays out of my way so I can get things done. I can see how it would meet the needs of certain people very well.
FreeBSD: The Bad
Note: This is just a screensaver. One of my favorites
Most of the things I disliked about the FreeBSD daily driver experience aren’t related to FreeBSD itself, but applications on FreeBSD. There isn’t enough support for so many things, and I can’t fault FreeBSD for it, nor will I bash them since I don’t have time to contribute and help out. But I must outline them here.
Chromium - There was a little drama getting this on my system. Google Chrome is not natively supported on FreeBSD, but there is a Chromium port, and it has some issues. I had to switch my branch from quarterly to latest and compile Chromium from source. Not a big deal, except it took around 8 hours to compile. It’s also not something the average user would know how to (or want to) do. Then I lost Firefox after doing the switch and had change back to quarterly and build that. Much of this has to do with the lack of FreeBSD support from the Chrome team.
Many Applications Don’t Work - I mentioned Docker, and you can finesse a few things to make it (kind of) work, but I gave up after a while. Most FreeBSD users will say, “Just use Jails. It’s better anyway!” and they’re probably right. But the projects I’m working on right now require Docker, so I was out of luck without some weird hacky stuff I didn’t feel like doing.
Virtualization is a No-Go - I couldn’t get VirtualBox to work properly. This is strange because I have a Lab machine running FreeBSD 12 and VirtualBox that I run all my lab machines with to build my courses. For well over a year, it works phenomenally. However, on my laptop, I had too many problems and gave up.
Many Packages are Behind - Again, I can’t fault the group for this. There’s a lot of work to be done and not many people doing it. Many things are ported to FreeBSD but way behind. There are things I need the latest versions of (Like AWS CLI) to do my work, and no great alternatives. I also enjoy using the Atom editor or Sublime Text, neither of which I could get to work on it.
No Bluetooth! - Ok, this is a small one and a problem I could likely figure out if I had the time. But I could not get Bluetooth working on my laptop, which is something I require.
Lots of Abandoned Stuff - I came across many messages that said, “There is no longer a maintainer for this package.” Maintainers are overworked and doing a thankless job with their free time. I get it. However, that does make me nervous about things like that coming back to bite me later.
Summary: With my specific use case, this ends up being a deal breaker for me. I have so many projects I’m working on right now that I need to get done, and I would have to spin up a Linux VM for many of them, making my workflow less smooth than I would like.
Conclusion: I Will Install Pop!_OS
So it’s almost there. It’s got the speed. It has great hardware support. I have faith in the stability of the system. However, I can only get around 60% of the software I need installed, and some of them are pretty old. With the projects I’m working on, my workflow will be hampered too much.
I need to have a *nix based laptop with certain versions of software, and virtualization to accomplish my tasks. I also need this system to be stable and stay out of my way, without breaking every update. Pop!_OS can achieve that for me now.
I will be installing FreeBSD on this laptop again at some other time. I love the fact that it’s a complete system and not a bunch of hacked together packages. I love the fact that I can look up documentation, and so long as I follow the steps, things will work out. This is why I use FreeBSD on servers every chance I get.
I have not lost faith in FreeBSD, far from it. It just won’t work out for me right now. In the future, I’ll try this again, and maybe at some point, I can find some free time to help out.
Should You Try to Make FreeBSD a Daily Driver?
Yes, you should at least try it. If you’re a Linux person, you definitely should try FreeBSD. There are many out there whose needs could be met 100% with FreeBSD. And it will likely serve you better than Linux. It’s not a distribution, it’s a full operating system, backed by decades of work. It’s rock solid. It’s organized well. As long as you don’t have dependencies like mine, it may work very well for you.
You can download FreeBSD here
Questions? Comments? Feel free to yell at me.