Annotation of wikisrc/laptops.mdwn, revision 1.34
1.2 reed 1: This page lists and links to pages about laptops, notebooks,
1.20 nia 2: and portable computers that work well with NetBSD, are of interest
3: to developers, and are standardized or easy to find.
1.1 reed 4:
1.31 nia 5: This page references lots of different device drivers. All of them
6: are built-in to GENERIC kernels and you don't need to load them.
7:
1.1 reed 8: [[!toc ]]
9:
1.3 reed 10: ---
11:
1.20 nia 12: # Generic laptop support
1.3 reed 13:
1.20 nia 14: ## Graphics
1.3 reed 15:
1.20 nia 16: NetBSD 9.0 supports Intel integrated graphics up to Kaby Lake,
17: Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1.
1.3 reed 18:
1.20 nia 19: Anything newer than this will work, but will use `llvmpipe`
20: instead of hardware acceleration for OpenGL.
1.9 reed 21:
1.21 nia 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:
1.20 nia 30: ## CPU frequency adjustment
1.9 reed 31:
1.20 nia 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"]].
1.9 reed 37:
1.20 nia 38: ## Suspend
1.13 ryoon 39:
1.20 nia 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"]].
1.13 ryoon 44:
1.33 nia 45: Suspend on NetBSD currently seems to work best on ThinkPads.
1.13 ryoon 46:
1.20 nia 47: ## Input
1.13 ryoon 48:
1.20 nia 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"]],
1.21 nia 51: with various adjustable Synaptics-specific sysctl variables.
1.9 reed 52:
1.20 nia 53: ## WiFi
1.1 reed 54:
1.20 nia 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.
1.1 reed 61:
1.20 nia 62: See the
63: [[!template id=man name="afterboot" section="8"]] man page for details
1.24 nia 64: on connecting to WiFi networks.
1.1 reed 65:
1.21 nia 66: USB 11n WiFi adapters such as
1.20 nia 67: [[!template id=man name="urtwn" section="4"]] and
68: [[!template id=man name="run" section="4"]] can also be used,
69: and most/all generic USB ethernet adapters are also well supported.
70: For a fairly complete list, see
71: [[!template id=man name="usb" section="4"]].
1.3 reed 72:
1.21 nia 73: Unfortunately, WiFi hardware is not particularly standardized compared
74: to most other aspects of modern laptops.
75:
1.20 nia 76: ## Audio
1.11 reed 77:
1.21 nia 78: Essentially all modern x86 laptops use the
1.20 nia 79: [[!template id=man name="hdaudio" section="4"]] driver.
1.11 reed 80:
1.20 nia 81: In the case that switching between speakers and the headphone port
82: is not handled automatically by the hardware, the `dacsel`
83: [[!template id=man name="mixerctl" section="1"]] variable can be
84: modified.
1.11 reed 85:
1.22 nia 86: ## Sensors
87:
88: Regardless of whether the system is ACPI, NetBSD will
89: expose all sensors (e.g. for temperature and battery)
90: via [[!template id=man name="envstat" section="8"]].
91:
1.11 reed 92: ---
93:
1.20 nia 94: # IBM / Lenovo
1.9 reed 95:
1.20 nia 96: The [[!template id=man name="thinkpad" section="4"]] driver provides
1.33 nia 97: support for various ThinkPad-specific sensors and function keys.
1.6 jruoho 98:
1.33 nia 99: A number of NetBSD developers use ThinkPads to hack on NetBSD
1.21 nia 100: and for everyday usage.
101:
1.32 wiki 102: ## ThinkPad X1 Carbon (Ivy Bridge, i7)
103:
104: Installled with Coreboot and TianoCore (UEFI) firmware.
105:
1.33 nia 106: Destroy the GPT data with `gpt destroy wd0` before installing to the entire disk.
1.32 wiki 107:
108: Hardware support is basically perfect aside from the fingerprint reader, for which no driver exists.
109:
110: * GPU acceleration works.
111: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
112: * SD card reader is supported through the [[!template id=man name="sdhc" section="4"]] driver.
113: * Suspend/resume works.
114:
1.9 reed 115: ## ThinkPad T22
116:
117: Works perfect (sound, display, all devices, infrared port not tested).
118:
1.6 jruoho 119: ## ThinkPad X60s
120:
1.15 sevan 121: Everything works.
1.6 jruoho 122:
1.9 reed 123: ## ThinkPad X41
124:
125: Works fine (sound, display, all devices, bluetooth, modem not tested).
126:
1.6 jruoho 127: ## ThinkPad X61s
128:
129: Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template
130: id=man name="options" section="4"]].
131:
1.33 nia 132: ## ThinkPad X220
1.17 nia 133:
134: * Video acceleration works, but when using `xf86-video-intel` (the default),
135: it's advisable to set `Option "AccelMethod" "uxa"` in `xorg.conf`.
1.19 nia 136: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
137: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
1.17 nia 138: * Suspend and resume work.
139:
1.33 nia 140: ## ThinkPad X230
1.19 nia 141:
1.28 nia 142: * Accelerated graphics.
1.19 nia 143: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
144: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
145:
1.33 nia 146: ## ThinkPad X250
1.16 nia 147:
1.28 nia 148: * Accelerated graphics.
149: * Connecting externals displays works with the miniDP and VGA ports.
1.19 nia 150: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
151: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
152: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
1.27 nia 153: * Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
154: * Brightness buttons do not work in 9.0 by default. You can bind them to
1.16 nia 155: xrandr in your window manager.
1.19 nia 156: * Webcam will depend on upcoming xhci isochronous pipe support.
157: * To record from the internal mic, set `mixerctl -w record.source=ADC02`
1.27 nia 158: * Some spam from [[!template id=man name="hdaudio" section="4"]] on some
159: reboots, the chip doesn't seem to reset properly. Disappears and boots
160: normally after a few seconds.
161: [[!template id=pr number=51734]]
1.23 nia 162: * Suspend and resume work.
1.16 nia 163:
1.33 nia 164: ## ThinkPad X260
1.19 nia 165:
1.28 nia 166: * Accelerated graphics.
1.19 nia 167: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
168: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
169: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
1.27 nia 170: * Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
1.28 nia 171: * Webcam will depend on upcoming xhci isochronous pipe support.
1.23 nia 172: * Suspend and resume work.
1.34 ! nia 173: * Bluetooth works.
1.19 nia 174:
1.20 nia 175: ---
1.14 ryoon 176:
1.27 nia 177: # Asus
178:
179: Eee PCs were previously very popular hardware, so they're widely available
180: cheaply, tend to work quite well, and what works is documented.
181:
182: ## EeePC 701
183:
184: [[!table data="""
185: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
186: Supported | Supported | Supported | Supported | Supported | Supported | Supported
187: """]]
188:
189: ## EeePC 900
190:
191: [[!table data="""
192: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
193: Supported | Supported | Supported | Supported | Supported | Supported | Supported
194: """]]
195:
1.29 nia 196: ## EeePC 901
1.27 nia 197:
198: [[!table data="""
199: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
200: Supported | Supported | Supported | Supported | Supported | Supported | Supported
201: """]]
202:
203: ## EeePC 1000HA
204:
205: [[!table data="""
206: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
207: Supported | Supported | Supported | Supported | Supported | Supported | Supported
208: """]]
209:
210: ---
211:
1.20 nia 212: # PINE64
1.14 ryoon 213:
1.21 nia 214: A number of NetBSD developers use Pinebooks to hack on NetBSD
215: and for everyday usage.
216:
217: Pinebook and Pinebook Pro do not use ACPI, so certain aspects are
218: different compared to x86 laptops.
219:
1.20 nia 220: ## Pinebook (Allwinner A64)
1.14 ryoon 221:
1.28 nia 222: * Support for the display and HDMI output is provided through the Allwinner Display Engine driver.
223: This provides kernel modesetting and a full-resolution video framebuffer, however,
1.30 nia 224: the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
1.28 nia 225: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20 nia 226: * [[!template id=man name="uvideo" section="4"]] webcam works.
227: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
1.1 reed 228:
1.26 nia 229: ## Pinebook Pro (Rockchip RK3399)
1.3 reed 230:
1.28 nia 231: * Support for the display output is provided through the Rockchip DRM driver.
232: This provides kernel modesetting and a full-resolution video framebuffer, however,
1.30 nia 233: the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
1.28 nia 234: Currently, you can't connect external displays through USB-C.
235: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20 nia 236: * [[!template id=man name="uvideo" section="4"]] webcam works.
1.28 nia 237: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
238: Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in -current.
239: However, external adapters may still be more stable.
1.20 nia 240: * The display backlight can be adjusted with `sysctl`.
1.26 nia 241:
242: ### Pinebook Pro CPU affinity
243:
244: After setting `security.models.extensions.user_set_cpu_affinity=1` in `/etc/sysctl.conf`,
245: you can run an intensive command on only the "big" CPUs:
246:
247: `$ schedctl -A 4,5 make package`
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb