1: This page lists and links to pages about laptops, notebooks,
2: and portable computers that work well with NetBSD, are of interest
3: to developers, and are standardized or easy to find.
4:
5: For i386-based netbooks also see
6: <http://www.netbsd.org/ports/i386/netbook.html>.
7:
8: [[!toc ]]
9:
10: ---
11:
12: # Generic laptop support
13:
14: ## Graphics
15:
16: NetBSD 9.0 supports Intel integrated graphics up to Kaby Lake,
17: Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1.
18:
19: Anything newer than this will work, but will use `llvmpipe`
20: instead of hardware acceleration for OpenGL.
21:
22: The support includes connecting external monitors over HDMI,
23: DisplayPort, and DisplayPort over USB-C.
24:
25: For the Intel driver, there may be slight graphical corruptions
26: when using X11 without a compositor. Xfce/MATE include their own
27: compositors, but lightweight window managers can benefit from
28: having `picom` running.
29:
30: ## CPU frequency adjustment
31:
32: On most ACPI and some non-ACPI laptops, the `sysutils/estd` package
33: can be used to automatically adjust the CPU frequency depending on
34: system load, and potentially prolong battery life. This modifies the
35: `frequency` variables exposed by
36: [[!template id=man name="sysctl" section="8"]].
37:
38: ## Suspend
39:
40: On ACPI systems, suspend-to-RAM is supported through
41: `sysctl hw.acpi.sleep.state=3`. This can be triggered through various
42: events (such as lid close) with
43: [[!template id=man name="powerd" section="8"]].
44:
45: Suspend on NetBSD currently seems to work best on Thinkpads.
46:
47: ## Input
48:
49: Many x86 laptops use Synaptics touchpads over an emulated PS/2 interface,
50: which is supported through [[!template id=man name="pms" section="4"]],
51: with various adjustable Synaptics-specific sysctl variables.
52:
53: ## WiFi
54:
55: Many x86 laptops with Intel processors will have WiFi cards supported
56: by the
57: [[!template id=man name="iwm" section="4"]] driver, or
58: [[!template id=man name="iwn" section="4"]] for older models.
59: Atheros 11n miniPCIe cards are supported by the
60: [[!template id=man name="athn" section="4"]] driver.
61:
62: See the
63: [[!template id=man name="afterboot" section="8"]] man page for details
64: on connecting to a WPA network. For connecting to a non-WPA network,
65: simply specify `ssid networkname up` in
66: [[!template id=man name="ifconfig" section="8"]], and make sure
67: [[!template id=man name="dhcpcd" section="8"]] is running.
68:
69: USB 11n WiFi adapters such as
70: [[!template id=man name="urtwn" section="4"]] and
71: [[!template id=man name="run" section="4"]] can also be used,
72: and most/all generic USB ethernet adapters are also well supported.
73: For a fairly complete list, see
74: [[!template id=man name="usb" section="4"]].
75:
76: Unfortunately, WiFi hardware is not particularly standardized compared
77: to most other aspects of modern laptops.
78:
79: ## Audio
80:
81: Essentially all modern x86 laptops use the
82: [[!template id=man name="hdaudio" section="4"]] driver.
83:
84: In the case that switching between speakers and the headphone port
85: is not handled automatically by the hardware, the `dacsel`
86: [[!template id=man name="mixerctl" section="1"]] variable can be
87: modified.
88:
89: ## Sensors
90:
91: Regardless of whether the system is ACPI, NetBSD will
92: expose all sensors (e.g. for temperature and battery)
93: via [[!template id=man name="envstat" section="8"]].
94:
95: ---
96:
97: # IBM / Lenovo
98:
99: The [[!template id=man name="thinkpad" section="4"]] driver provides
100: support for various Thinkpad-specific sensors and function keys.
101:
102: A number of NetBSD developers use Thinkpads to hack on NetBSD
103: and for everyday usage.
104:
105: ## ThinkPad T22
106:
107: Works perfect (sound, display, all devices, infrared port not tested).
108:
109: ## ThinkPad T61
110:
111: Used it since NetBSD 4.x.
112: With Intel GMA, X works great.
113: Cardbus port doesn't work properly.
114: Expresscard not tested/tried.
115:
116: ## ThinkPad X60s
117:
118: Everything works.
119:
120: ## ThinkPad X41
121:
122: Works fine (sound, display, all devices, bluetooth, modem not tested).
123: Standby is broken for me in -current (~2012-01-12) but worked in 5.1.
124:
125: ## ThinkPad X61s
126:
127: Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template
128: id=man name="options" section="4"]].
129:
130: ## Thinkpad X201
131:
132: Running -current since March 2011.
133: Working graphics (with the vesa driver), audio, trackpoint, wired
134: and wireless LAN.
135: Does not wake up after suspend (drives spin up but the display
136: stays black and the LED indicating a sleep state stays lit).
137:
138: ## Thinkpad X220
139:
140: From user reports, in NetBSD 9.0:
141:
142: * Video acceleration works, but when using `xf86-video-intel` (the default),
143: it's advisable to set `Option "AccelMethod" "uxa"` in `xorg.conf`.
144: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
145: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
146: * Suspend and resume work.
147:
148: ## Thinkpad X230
149:
150: From user reports, in NetBSD 9.0:
151:
152: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
153: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
154:
155: ## Thinkpad X250
156:
157: Nearly perfect. Running NetBSD 9.0 and -current since 2019.
158:
159: * Accelerated graphics with the i915 driver. Connecting externals displays
160: works with the miniDP and VGA ports.
161: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
162: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
163: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
164: * For the extra trackpoint buttons to work correctly, needs a patch to
165: synaptics.c that is in -current and will be in 9.1.
166: Tapping and the clickpad have always been fine.
167: * Brightness buttons do not work in 9 by default. You can bind them to
168: xrandr in your window manager.
169: * Webcam will depend on upcoming xhci isochronous pipe support.
170: * To record from the internal mic, set `mixerctl -w record.source=ADC02`
171: * Wakes up after suspend. I have mine set to suspend on lid close with
172: powerd.
173:
174: ## Thinkpad X260
175:
176: Likely very similar to the X250.
177:
178: From user reports, in NetBSD 9.0:
179:
180: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
181: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
182: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
183: * For the extra trackpoint buttons to work correctly, needs a patch to
184: synaptics.c that is in -current and will be in 9.1.
185: Tapping and the clickpad have always been fine.
186:
187: ---
188:
189: # PINE64
190:
191: A number of NetBSD developers use Pinebooks to hack on NetBSD
192: and for everyday usage.
193:
194: Pinebook and Pinebook Pro do not use ACPI, so certain aspects are
195: different compared to x86 laptops.
196:
197: ## Pinebook (Allwinner A64)
198:
199: From user reports to port-arm@, in NetBSD 9.0:
200:
201: * [[!template id=man name="uvideo" section="4"]] webcam works.
202: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
203: * Plugging in external monitors works via the HDMI port.
204: * The CPU frequency can be adjusted with `sysctl machdep.cpufreq.*`.
205: * Mesa llvmpipe is currently used for 3D/OpenGL.
206:
207: ## Pinebook Pro
208:
209: * [[!template id=man name="uvideo" section="4"]] webcam works.
210: * Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in 9_STABLE.
211: External adapters may still be more stable.
212: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
213: * The display backlight can be adjusted with `sysctl`.
214: * Mesa llvmpipe is currently used for 3D/OpenGL.
215: * Connecting external monitors does not currently work through USB-C.
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb