OpenBSD 5.9 won’t be out for a little while, but it may be helpful to plan ahead, especially since there’s been some considerable progress on hardware support. Here are some notes about what works in general and a few particular models.

This post was written for 5.9. Only a few things have changed for 6.0. The situation is roughly the same for 6.1. Notable improvements for 6.2 include Skylake graphics support. This page hasn’t really aged well. Despite efforts to update it, I suspect some info is outdated or at least confusing.



hardware

Important note if you have NVMe (modern PCI SSD): a bug regarding disk size calculations was fixed post 6.1. Use 6.2 or later.

Intel graphics are generally well supported. For 6.2, this includes Skylake and Kaby Lake.

The iwm driver has gotten better and along with the older iwn now supports 802.11n. Note that the three models supported by iwm (7260, 7265, and 3160) are those frequently found on Broadwell era systems. The similarly numbered 3165 (such as found on a Braswell NUC) and 8260 series found with Skylake are only supported by 6.0. 8265 and 3168 support is included in 6.2.

UEFI boot support means systems that lack BIOS compat will work now.

Lots of fixes to USB and and xhci mean USB 3 devices should attach much more reliably.

There’s experimental support for “reduced hardware” ACPI found on some of the cheaper netbook class systems.

There’s also some very preliminary support for HID over IIC, for systems that attach keyboards and touchpads over an I2C bus.

Battery life has been getting better, though I think that’s more a function of improved hardware efficiency. OpenBSD is still missing some optimizations for low power use, but the battery life gap between OpenBSD and Windows is considerably smaller on Broadwell systems.

I’d be wary of convertibles and tablets. Touchscreen support may work, but isn’t well integrated, and the physical keyboard on such devices is often connected via unsupported interfaces.

As ever, support for Nvidia graphics is nonexistent.

Some models of Broadcom wifi are now experimentally supported.

New laptop models have done away with S3 suspend, offering only S0ix, which is not supported.



battery

A big question is how long one might expect the battery to last while running OpenBSD. It’s not an easy question to answer.

The answer is obviously workload dependent, but even workloads are hard to quantify. The standard seems to be “wireless web” or “web productivity” or somewhat, but what does that mean? There’s considerable variation in the power demands of different web sites.

Some quick numbers from my X1, from a fairly typical (for me) afternoon. Most of the time the system is idle, as I alternately type into xterms and read code. Occasionally I pop onto the interwebs to see what’s new.

May 12 14:57:59 estimated battery life 100% (610 minutes) May 12 15:50:38 estimated battery life 90% (494 minutes) May 12 16:40:38 estimated battery life 80% (447 minutes) May 12 17:26:39 estimated battery life 70% (145 minutes) May 12 18:07:19 estimated battery life 60% (335 minutes) May 12 18:56:39 estimated battery life 50% (283 minutes) May 12 19:43:09 estimated battery life 40% (137 minutes)

On average, I expect about 50 minutes of idle time per 10% battery. However, when pushing the processor hard, this drops precipitously. It’s pretty obvious I was blasting all four cores at 17:26.

This is after about 16 months of use, often running off battery. (The battery life of the X1 is sufficient that I rely on battery power much more than previous laptops.)

Dimming the screen makes a huge difference, especially since high resolution screens require more power to achieve comparable brightness.

Years ago, OpenBSD significantly lagged Windows in battery life. On the X1, the difference appears much less noticeable. I believe this is a combination of OpenBSD improving, but also hardware becoming much more efficient.



models

This list is now quite dated. I’m out of touch regarding what currently offered laptops work well. (Until S0ix is fixed, the answer could be not many.)

Even taking into account all the above, it can be hard to predetermine how well any given laptop will work. I’m trying to collect here a few recommended models.

The 2015 X1 Carbon Thinkpad works really well. Note that the 2016 model is getting a Skylake refresh. (And now Kaby Lake for 2017.) The T and X series are solid, as well. No news here for OpenBSD users. Some models of Thinkpad won’t wake from suspend unless the TPM is disabled in the BIOS. (The tpm driver should now handle this for you.) reyk’s note on the 2016 X1.

The 6th gen X1 Carbon works well with some BIOS options. You need a BIOS update to enable S3 suspend. Enable Thunderbolt Assist or things will be very slow.

The ASUS UX305-FA is a lightweight, fanless system. Its performance is thermally limited so it’s not workstation replacement, but works well in the “light productivity” category. The 1080p models work, the 3200x1800 models do not yet (possibly dated info?). Note that the now shipping CA model is a Skylake refresh.

Apple Macbooks generally work, but they all include dysfunctional Broadcom wireless.

Dell XPS 13 and 15. Broadwell models work with a few quirks. The new models are Skylake. The 15 looks like a good choice for a powerful desktop that’s reasonably portable. Curious to know more.

ASUS X205TA is an example of a machine with reduced hardware ACPI. Also has Broadcom wifi. I don’t know of a particularly good choice in the netbook category.

Microsoft Surface line. Sweet computers, probably not a good fit for OpenBSD at this time.

Some chromebook models work, but it can be hit and miss, especially with touchpad support, and very few would meet my standards for decent hardware. Pixel installation notes.

I do not, at this time, recommend an HP Stream 7.