OpenBSD on the Huawei MateBook X (2020)

posted on aug 20th, 2021 with tags hardware, laptops, and openbsd, and last updated on aug 24th, 2021
part of OpenBSD on Laptops series

My old 2017 Huawei MateBook X has been my most reliable laptop and continued to be my daily-use workstation despite trying half a dozen others (and a desktop or two) in the past four years. Every time I’d try a new laptop, certain components wouldn’t work properly, or the keyboard would feel strange, or the screen quality would be poor, or a constantly-running fan or some coil-whine noise would drive me nuts. And every time, I’d return to my trusty MateBook X and everything would just work silently.

I finally have a newer model of the MateBook X and I’m happy to say it lives up to its predecessor and has replaced my 2017 model.

huawei matebooks x

Continue reading 2,652 words...

OpenBSD on the Microsoft Surface Go 2

posted on may 15th, 2020 with tags laptops and openbsd, and last updated on jul 31st, 2020
part of OpenBSD on Laptops series

I used OpenBSD on the original Surface Go back in 2018 and many things worked with the big exception of the internal Atheros WiFi. This meant I had to keep it tethered to a USB-C dock for Ethernet or use a small USB-A WiFi dongle plugged into a less-than-small USB-A-to-USB-C adapter.

Microsoft has switched to Intel WiFi chips on their recent Surface devices, making the Surface Go 2 slightly more compatible with OpenBSD.

surface go on desk with keyboard attached

Continue reading 2,151 words...

Touchpad, Interrupted

posted on jul 28th, 2019 with tags debugging, laptops, and openbsd

For two years I’ve been driving myself crazy trying to figure out the source of a driver problem on OpenBSD: interrupts never arrived for certain touchpad devices. A couple weeks ago, I put out a public plea asking for help in case any non-OpenBSD developers recognized the problem, but while debugging an unrelated issue over the weekend, I finally solved it.

It’s been a long journey and it’s a technical tale, but here it is.

Continue reading 2,927 words...

OpenBSD in Stereo with Linux VFIO

posted on nov 12th, 2018 with tags debugging, laptops, linux, and openbsd, and last updated on mar 24th, 2019

I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.

Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.

Continue reading 2,202 words...

OpenBSD on the Microsoft Surface Go

posted on aug 31st, 2018 with tags laptops and openbsd
part of OpenBSD on Laptops series

For some reason I like small laptops and the constraints they place on me (as long as they’re still usable). I used a Dell Mini 9 for a long time back in the netbook days and was recently using an 11” MacBook Air as my primary development machine for many years. Recently Microsoft announced a smaller, cheaper version of its Surface tablets called Surface Go which piqued my interest.

surface go with keyboard on desk

Continue reading 3,567 words...

OpenBSD on the Lenovo ThinkPad X1 Carbon (5th Gen)

posted on sep 1st, 2017 with tags hardware, laptops, openbsd, and thinkpad, and last updated on sep 4th, 2017
part of OpenBSD on Laptops series

ThinkPads have sort of a cult following among OpenBSD developers and users because the hardware is basic and well supported, and the keyboards are great to type on. While no stranger to ThinkPads myself, most of my OpenBSD laptops in recent years have been from various vendors with brand new hardware components that OpenBSD does not yet support. As satisfying as it is to write new kernel drivers or extend existing ones to make that hardware work, it usually leaves me with a laptop that doesn’t work very well for a period of months.

After exhausting efforts trying to debug the I2C touchpad interrupts on the Huawei MateBook X (and other 100-Series Intel chipset laptops), I decided to take a break and use something with better OpenBSD support out of the box: the fifth generation Lenovo ThinkPad X1 Carbon.

thinkpad x1 carbon running openbsd on desk

Continue reading 1,995 words...

OpenBSD on the Huawei MateBook X (2017)

posted on jul 14th, 2017 with tags hardware, laptops, and openbsd, and last updated on mar 24th, 2019
part of OpenBSD on Laptops series

The Huawei MateBook X is a high-quality 13” ultra-thin laptop with a fanless Core i5 processor. It is obviously biting the design of the Apple 12” MacBook, but it does have some notable improvements such as a slightly larger screen, a more usable keyboard with adequate key travel, and 2 USB-C ports.

It also uses more standard PC components than the MacBook, such as a PS/2-connected keyboard, Intel WiFi card, etc., so its OpenBSD compatibility is quite good.

huawei matebook on desk running openbsd

Continue reading 1,662 words...

OpenBSD (not) on the Surface Pro 4

posted on jan 2nd, 2017 with tags hardware, laptops, and openbsd, and last updated on dec 30th, 2016

I recently had access to a Surface Pro 4 and tried to boot OpenBSD on it. It did not go well, so I am just putting this here for posterity.

The 2016 Surface Pro 4 is basically just a keyboard-less x86 (Core i5 on the model I had) tablet with some tightly integrated (read: not upgradeable) components. Its optional Surface Type Cover is just a USB-attached keyboard and trackpad, which magnetically secure to the bottom of the device.

Continue reading 640 words...

The 2016 MacBook Pro

posted on nov 8th, 2016 with tags apple, hardware, laptops, and macos

I’ve been using an 11” MacBook Air as my primary computer for six years. It’s a great computer that satisfied a lot of requirements I had for a laptop: thin, lightweight, small form factor, excellent keyboard and touchpad, mostly silent, but not an Atom or Core M processor.

I’ve done a lot on this little computer, like compiling and maintaining an Android ROM, writing the Rails, iOS, and Android apps for Pushover, creating Lobsters, recording and editing 40 episodes of Garbage, and lots of OpenBSD development.

Continue reading 2,061 words...