OpenBSD on the HP Envy 13
I put a blowfish in my laptop this week
My existing KISS install broke because I thought it would be a great
idea to have apk-tools
alongside the kiss
package manager. It’s safe to say, that did not end
well—especially when I installed, and then removed a package. With
a semi-broken install that I didn’t feel like fixing, I figured I’d give
OpenBSD a try. And I did.
installation and setup
Ran into some trouble booting off the USB initially, turned out to be a faulty stick. Those things aren’t built to last, sadly. Flashed a new stick, booted up. Setup was pleasant, very straightforward. Didn’t really have to intervene much.
After booting in, I was greeted with a very archaic looking FVWM desktop. It’s not the prettiest thing, and especially annoying to work with when you don’t have your mouse setup, i.e. no tap-to-click.
I needed wireless, and my laptop doesn’t have an Ethernet port. USB
tethering just works, but the connection kept dying. I’m not sure why.
Instead, I downloaded the iwm(4)
firmware from here, loaded
it up on a USB stick and copied it over to /etc/firmware
. After that,
it was as simple as running
fw_update(1)
and the firmware is auto-detected and loaded. In fact, if you have working
Internet, fw_update
will download the required firmware for you, too.
Configuring wireless is painless and I’m so glad to see that there’s no
wpa_supplicant
horror to deal with. It’s as simple as:
$ doas ifconfig iwm0 nwid YOUR_SSID wpakey YOUR_PSK
Also see hostname.if(5) to make
this persist. After that, it’s only a matter of specifying your desired
SSID, and ifconfig
will automatically auth and procure an IP lease.
$ doas ifconfig iwm0 nwid YOUR_SSID
By now I was really starting to get exasperated by FVWM, and decided to switch to something nicer. I tried building 2bwm (my previous WM), but that failed. I didn’t bother trying to figure this out, so I figured I’d give cwm(1) a shot. Afterall, people sing high praises of it.
And boy, is it good. The config is a breeze, and actually pretty powerful. Here’s mine. cwm also has a built-in launcher, so dmenu isn’t necessary anymore. Refer to cwmrc(5) for all the config options.
Touchpad was pretty simple to setup too—OpenBSD has
wsconsctl(8), which lets you set
your tap-to-click, mouse acceleration etc. However, more advanced
configuration can be achieved by getting Xorg to use the Synaptics
driver. Just add a 70-synaptics.conf
to /etc/X11/xorg.conf.d
(make
the dir if it doesn’t exist), containing:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "VertScrollDelta" "111"
Option "HorizScrollDelta" "111"
EndSection
There are a lot more options that can be configured, see synaptics(4).
Suspend and hibernate just work, thanks to
apm(8). Suspend on lid-close just needs
one sysctl
tweak:
$ sysctl machdep.lidaction=1
I believe it’s set to 1 by default on some installs, but I’m not sure.
impressions
I already really like the philosophy of OpenBSD—security and simplicity, while not losing out on sanity. The default install is plentiful, and has just about everything you’d need to get going. I especially enjoy how everything just works! I was pleasantly surprised to see my brightness and volume keys work without any configuration! It’s clear that the devs actually dogfood OpenBSD, unlike uh, cough Free- cough. Gosh I hope it’s not the flu. :^)
Oh and did you notice all the manpage links I’ve littered throughout this post? They have manpages for everything; it’s ridiculous. And they’re very thorough. Arch Wiki is good, but it’s incorrect at times, or simply outdated. OpenBSD’s manpages, although catering only to OpenBSD have never failed me.
Performance and battery life are fine. Battery is in fact, identical, if not better than on Linux. OpenBSD disables HyperThreading/SMT for security reasons, but you can manually enable it if you wish to do so:
$ sysctl hw.smt=1
Package management is probably the only place where OpenBSD falls short. pkg_add(1) isn’t particularly fast, considering it’s written in Perl. The ports selection is fine, I have yet to find something that I need not on there. I also wish they debloated packages; maybe I’ve just been spoilt by KISS. I now have D-Bus on my system thanks to Firefox. :(
I appreciate the fact that they don’t have a political document—a Code of Conduct. CoCs are awful, and have only proven to be harmful for projects; part of the reason why I’m sick of Linux and its community. Oh wait, OpenBSD does have one: https://www.openbsd.org/mail.html ;)
I’ll be exploring vmd(8) to see if I can get a Linux environment going. Perhaps that’ll be my next post, but when have I ever delivered?
I’ll close this post off with my new rice, and a sick ASCII art I made.
\. -- --./
/ ^ ^ ^ \
(o)(o) ^ ^ |_/|
{} ^ ^ > ^| \|
\^ ^ ^ ^/
/ -- --\
~icy
Questions or comments? Send an email.