blog.snwy.me

The spoiled milk that resides in my skull

I have failed the OpenBSD challenge. Too many things just didn't work, and I had to restart into Xubuntu.

Getting most things working went swimmingly: I had a nice WindowMaker desktop setup, all my tweaks enabled, and I even wrote a little application for connecting to WiFi called wim. Sadly, WiFi just had too many issues. I got to school, and while I could connect to the network, I had no connection to the internet except for a very limited amount of sites. I tried switching to wpa_supplicant, but that spat out errors that weren't all that useful. I had such little to go off of to debug anything, that I just gave up. My current theory is because of my Intel wireless chipset.

Please don't take this as a sign to not use OpenBSD: if you aren't roaming, you don't use Intel wireless, or just don't use WiFi: everything else went swimmingly.

The default desktop on Xubuntu.

I hate to admit it, but… I really love Xubuntu. Even after years of slandering it (and other Ubuntus). Hell, most of the Ubuntu derivatives are great! Everything just works straight out of the box, and even though the default theme isn’t unixporn worthy but it certainly isn’t ugly. It’s not bloated-feeling either, like how vanilla Ubuntu feels. I judge most desktop OSes by the out of box experience alongside simplicity (where is thing, how can I do trivial task), and I gotta say, what a nice OS!

You've probably seen the Linux Challenge done by Linus Tech Tips, where Linus and Luke switch to using Linux on their main computers for a month. But for us who don't have such constricting workflows, heavy gaming demands, or already have used Linux for years – this isn't that big of a challenge. Enter OpenBSD. Me and a friend are going to try daily-driving an OS that is even less used than Linux, has less community support, and forces you to have a “fix it yourself” approach to some things that might be trivial on Linux. For a month.

What could go wrong?

Both of us use our laptops for school, which means we might have to take our laptops out of our bags and join a Kahoot or open a Google Classroom assignment at any given moment. What happens when something goes wrong? The most common problems I have using Linux at school are issues like Wi-Fi not connecting to my school's odd network setup, or a site we're using for class not working as expected. You don't have much time to tinker around and fix issues in the classroom, everyone else with their Chromebooks will be already chugging along happily on an assignment while I'm panicking and trying to connect to the internet. Will OpenBSD create more issues that I'll only discover when it's too late? In all honesty, I can't see anything going terribly wrong, but I'm sure something will crop up.

Applications

For code editing, I primarily use VSCode and JetBrains IDEs. However, neither are supported on OpenBSD! I'll stick to a simpler text editor.

How about messaging? I use Slack for work, and Discord for talking with friends. Guess what? Neither are supported! In fact, apps built with Electron aren't supported at all! This is not actually the fault of OpenBSD, but the horrid, awful, no-good build system Electron uses. Very well, I can use both apps in my browser.

Speaking of browsers, OpenBSD maintains a port of Chromium and a port of Firefox in their ports tree (among others). I'm personally more of a fan of Chromium, as it runs slightly smoother on my laptop.

Hardware

OpenBSD seemed to support all of my hardware out of the gate on my ThinkPad T430 – my Intel HD iGPU, my AC-7260 WiFi, audio, trackpad, TrackPoint, and Ethernet devices all functioned perfectly. I would include Bluetooth, but OpenBSD does not support Bluetooth. At all. I use my AirPods Pro somewhat often with my laptop, so this will be a slight inconvenience.

The hardware all works – but configuring it is another pain. I haven't even connected to WiFi yet. I'm tethered to Ethernet as I write this.

Everything else

Battery life and performance are terrible out of the box – but a few minor tweaks fixed both. Running apmd -A or setting sysctl hw.perfpolicy=auto enables CPU frequency scaling, which means the CPU will only run at max speed when it needs to. Enabling soft updates, and adding my user to the staff login class made my system feel zippy again.

Conclusion

I really, really like OpenBSD – all of the trade-offs I list here are in the name of extreme security. The code is extremely clean and well documented, so if auditing code is your thing, you'll have an easy time. OpenBSD is also extremely light, with a few tweaks here-and-there it'll fly. So if privacy and security are your main goals, along with having a slim system, definitely give OpenBSD a try!