This page lists and links to pages about laptops, notebooks, and portable computers that work well with NetBSD, are of interest to developers, and are standardized or easy to find.
This page references lots of different device drivers. All of them are built-in to GENERIC kernels and you don't need to load them.
Generic laptop support
Graphics
NetBSD 9.0 supports Intel integrated graphics up to (including) Kaby Lake, Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1. NetBSD 10.0 supports Intel integrated graphics up to Tiger Lake and Nvidia graphics up to Pascal.
Anything newer than this will work, but will use llvmpipe
instead of hardware acceleration for OpenGL.
The support includes connecting external monitors over HDMI, DisplayPort, and DisplayPort over USB-C.
For the Intel driver, there may be slight graphical corruptions
when using X11 without a compositor. Xfce/MATE include their own
compositors, but lightweight window managers can benefit from
having picom
running.
CPU frequency adjustment
On most ACPI and some non-ACPI laptops, the sysutils/estd
package
can be used to automatically adjust the CPU frequency depending on
system load, and potentially prolong battery life. This modifies the
frequency
variables exposed by
sysctl(8).
Suspend
On ACPI systems, suspend-to-RAM is supported through
sysctl hw.acpi.sleep.state=3
. This can be triggered through various
events (such as lid close) with
powerd(8).
Suspend on NetBSD currently seems to work best on ThinkPads.
Input
Many x86 laptops use Synaptics touchpads over an emulated PS/2 interface, which is supported through pms(4), with various adjustable Synaptics-specific sysctl variables.
WiFi
Many x86 laptops with Intel processors will have WiFi cards supported by the iwm(4) driver, or iwn(4) for older models. Atheros 11n miniPCIe cards are supported by the athn(4) driver.
See the afterboot(8) man page for details on connecting to WiFi networks.
USB 11n WiFi adapters such as urtwn(4) and run(4) can also be used, and most/all generic USB ethernet adapters are also well supported. For a fairly complete list, see usb(4).
Unfortunately, WiFi hardware is not particularly standardized compared to most other aspects of modern laptops.
Audio
Essentially all modern x86 laptops use the hdaudio(4) driver.
In the case that switching between speakers and the headphone port
is not handled automatically by the hardware, the dacsel
mixerctl(1) variable can be
modified.
Since NetBSD 10, it's possible that the kernel may prefer to use HDMI audio over the internal chip - use audiocfg(1) to change its preference.
Sensors
Regardless of whether the system is ACPI, NetBSD will expose all sensors (e.g. for temperature and battery) via envstat(8).
IBM / Lenovo
The thinkpad(4) driver provides support for various ThinkPad-specific sensors and function keys.
A number of NetBSD developers use ThinkPads to hack on NetBSD and for everyday usage.
ThinkPad X1 Carbon (Ivy Bridge, i7)
Installled with Coreboot and TianoCore (UEFI) firmware.
Destroy the GPT data with gpt destroy wd0
before installing to the entire disk.
Hardware support is basically perfect aside from the fingerprint reader, for which no driver exists.
- GPU acceleration works.
- WiFi is supported through the iwn(4) driver.
- SD card reader is supported through the sdhc(4) driver.
- Suspend/resume works.
ThinkPad T22
Works perfect (sound, display, all devices, infrared port not tested).
ThinkPad X60s
Everything works.
ThinkPad X41
Works fine (sound, display, all devices, bluetooth, modem not tested).
ThinkPad X61s
Everything works. Requires PCI_BUS_FIXUP
and PCI_ADDR_FIXUP
options(4).
ThinkPad X220
- Video acceleration works, but when using
xf86-video-intel
(the default), it's advisable to setOption "AccelMethod" "uxa"
inxorg.conf
. - Ethernet is supported through the wm(4) driver.
- WiFi is supported through the iwn(4) driver.
- Suspend and resume work.
ThinkPad X230
- Accelerated graphics.
- Ethernet is supported through the wm(4) driver.
- WiFi is supported through the iwn(4) driver.
ThinkPad X250
- Accelerated graphics.
- Connecting externals displays works with the miniDP and VGA ports.
- SD card reader is supported through the rtsx(4) driver.
- Ethernet is supported through the wm(4) driver.
- WiFi is supported through the iwm(4) driver.
- Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
- Webcam works.
- To record from the internal mic, set
mixerctl -w record.source=ADC02
- Suspend and resume work.
ThinkPad X260
- Accelerated graphics.
- SD card reader is supported through the rtsx(4) driver.
- Ethernet is supported through the wm(4) driver.
- WiFi is supported through the iwm(4) driver.
- Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
- Webcam works.
- Suspend and resume work.
- Bluetooth works.
ThinkPad X270
Hardware is very similar to the X260.
ThinkPad A475
- GPU acceleration works with the amdgpu driver in NetBSD 10 (not built into the default kernel, though)
- WiFi may not be supported, consider a urtwn(4) dongle.
- Ethernet is supported through the re(4) driver.
- Suspend/resume almost fully works - the USB3 ports stop working after resume.
Asus
Eee PCs were previously very popular hardware, so they're widely available cheaply, tend to work quite well, and what works is documented.
EeePC 701
GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume |
---|---|---|---|---|---|---|
Supported | Supported | Supported | Supported | Supported | Supported | Supported |
EeePC 900
GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume |
---|---|---|---|---|---|---|
Supported | Supported | Supported | Supported | Supported | Supported | Supported |
EeePC 901
GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume |
---|---|---|---|---|---|---|
Supported | Supported | Supported | Supported | Supported | Supported | Supported |
EeePC 1000HA
GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume |
---|---|---|---|---|---|---|
Supported | Supported | Supported | Supported | Supported | Supported | Supported |
PINE64
A number of NetBSD developers use Pinebooks to hack on NetBSD and for everyday usage.
Pinebook and Pinebook Pro do not use ACPI, so certain aspects are different compared to x86 laptops.
Pinebook (Allwinner A64)
- Support for the display and HDMI output is provided through the Allwinner Display Engine driver. This provides kernel modesetting and a full-resolution video framebuffer, however, the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
- The CPU frequency can be adjusted automatically with
estd
or withsysctl machdep.cpufreq.*
. - uvideo(4) webcam works.
- External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
Pinebook Pro (Rockchip RK3399)
- Support for the display output is provided through the Rockchip DRM driver. This provides kernel modesetting and a full-resolution video framebuffer, however, the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead. Currently, you can't connect external displays through USB-C.
- The CPU frequency can be adjusted automatically with
estd
or withsysctl machdep.cpufreq.*
. - uvideo(4) webcam works.
- External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework? Internal Broadcom WiFi is supported via the bwfm(4) driver in -current. However, external adapters may still be more stable.
- The display backlight can be adjusted with
sysctl
.
Pinebook Pro CPU affinity
After setting security.models.extensions.user_set_cpu_affinity=1
in /etc/sysctl.conf
,
you can run an intensive command on only the "big" CPUs:
$ schedctl -A 4,5 make package