In the beginning, there was Zac. He discovered Linux and ran fifty thousand different distributions, never being satisfied. When one distribution fixed an issue, thirty new issues were created. Subsystems bickered, sound servers wept, and bus systems rended their clothing.
This went on for years and finally Zac gave up. He threw in the towel and bought a Macbook. He basked in the mostly-Unix environment provided by OS X. He occasionally tried to take Linux back but it was always a disappointment. One of the more recent forays into nix, he ventured into the BSD realm. Using FreeBSD from versions 7 to 9, he found a mostly harmonious environment. There were forays into other BSDs but these were but fleeting dalliances. Then the FreeBSD gods thought fit to introduce hellacious regressions/complications around version 9. Thus ended Zac’s adventures in nix yet again for several years.
Enter OpenBSD in 2015, stage left.
It seems every year, we hear that 20XX is the year of the Linux desktop. Inevitably, every Linux pundit from Brasil to Mongolia will extol the virtues of switching to Linux. Now don’t get me wrong, Linux does great things but it’s never worked out of the box well enough as a desktop. There’s always something to tinker with, some driver to compile, some knob to fiddle with.
I installed OpenBSD 5.6 on my old Thinkpad x201 and much to my surprise, it just worked. Better than installing Windows out of the box on this particular machine in fact. WiFi required a firmware update, but that was as simple as running
fw_update. I configured a few settings with the help of the very thorough OpenBSD documentation and it’s pretty much been cake.
Maybe 2015 is the year of the OpenBSD desktop rather than the Linux desktop.
I won’t cover how to burn an ISO to a CD. That territory has been tread since before I started using *nix. In fact, I’m not even going to cover USB key creation with OpenBSD install media. OpenBSD does a better job at that in section 4.3.4 of the FAQ.
I’ve taken to storing the various tweaks to config files in OpenBSD in my https://github.com/zacbrown/configs/tree/master/openbsd. There’s three main groups in the ‘openbsd’ folder of configs, spread below. Folders are in italics and bold.
fw_update- this is required to update the WiFi drivers. My chipset is the iwl-1000. YMMV.
The aforementioned settings are pretty key to a good experience with OpenBSD as a desktop. The
xorg.conf file is necessary for the TrackPoint middle-click button to work for scrolling. While
rc.conf.local changes aren’t required, many of the options I’ve specified in there are good suggestions for laptop configuration. The
login.conf file changes are necessary since web browsers are terrible hogs.
I don’t actually have any “elaborate tweaking” that had to be done. One open issue is getting the hardware volume buttons to control the hardware mixer rather than routing the commands through X to the application with focus.
suspendscript is used to cause the Xsession to lock. See .xinitrc below for what happens.
sysctlto change hw.cpuspeed to lowest setting (0) to reduce CPU usage
sysctlto change hw.cpuspeed to highest setting (100) to maximize CPU usage
xidlewhich is used by the aforementioned apm scripts to trigger the Xsession to lock on suspend.
kshinstance. Just some basic defined variables used in the terminal.
The configurations above are the extra tweaks I’d have made in some form in Windows had I just installed that. Power management configurations, settings to lock the machine on suspend, firewall settings, and wireless connection settings. None of these are earth-shattering settings to get some fundamental piece working.
Now at the beginning, I made it sound like it was all completely working when I installed. That may appear misleading considering all the files I describe above but they’re largely customizations as opposed to required steps. The basic tweaks section are the only real requirements.
As far as observations go, the ThinkPad x201 gets great battery life. It’s about the same as running Windows 7 and definitely better than any Linux distribution I’ve tried to run on it. WiFi is also better in OpenBSD than it was on Linux. Signal reception is more consistent whereas it seemed to fluctuate a considerable amount on Linux.
All in all, this is a pleasant surprise and I’ll be running OpenBSD on this laptop for the foreseeable future.