Annotation of wikisrc/laptops.mdwn, revision 1.28
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:
5: [[!toc ]]
6:
1.3 reed 7: ---
8:
1.20 nia 9: # Generic laptop support
1.3 reed 10:
1.20 nia 11: ## Graphics
1.3 reed 12:
1.20 nia 13: NetBSD 9.0 supports Intel integrated graphics up to Kaby Lake,
14: Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1.
1.3 reed 15:
1.20 nia 16: Anything newer than this will work, but will use `llvmpipe`
17: instead of hardware acceleration for OpenGL.
1.9 reed 18:
1.21 nia 19: The support includes connecting external monitors over HDMI,
20: DisplayPort, and DisplayPort over USB-C.
21:
22: For the Intel driver, there may be slight graphical corruptions
23: when using X11 without a compositor. Xfce/MATE include their own
24: compositors, but lightweight window managers can benefit from
25: having `picom` running.
26:
1.20 nia 27: ## CPU frequency adjustment
1.9 reed 28:
1.20 nia 29: On most ACPI and some non-ACPI laptops, the `sysutils/estd` package
30: can be used to automatically adjust the CPU frequency depending on
31: system load, and potentially prolong battery life. This modifies the
32: `frequency` variables exposed by
33: [[!template id=man name="sysctl" section="8"]].
1.9 reed 34:
1.20 nia 35: ## Suspend
1.13 ryoon 36:
1.20 nia 37: On ACPI systems, suspend-to-RAM is supported through
38: `sysctl hw.acpi.sleep.state=3`. This can be triggered through various
39: events (such as lid close) with
40: [[!template id=man name="powerd" section="8"]].
1.13 ryoon 41:
1.20 nia 42: Suspend on NetBSD currently seems to work best on Thinkpads.
1.13 ryoon 43:
1.20 nia 44: ## Input
1.13 ryoon 45:
1.20 nia 46: Many x86 laptops use Synaptics touchpads over an emulated PS/2 interface,
47: which is supported through [[!template id=man name="pms" section="4"]],
1.21 nia 48: with various adjustable Synaptics-specific sysctl variables.
1.9 reed 49:
1.20 nia 50: ## WiFi
1.1 reed 51:
1.20 nia 52: Many x86 laptops with Intel processors will have WiFi cards supported
53: by the
54: [[!template id=man name="iwm" section="4"]] driver, or
55: [[!template id=man name="iwn" section="4"]] for older models.
56: Atheros 11n miniPCIe cards are supported by the
57: [[!template id=man name="athn" section="4"]] driver.
1.1 reed 58:
1.20 nia 59: See the
60: [[!template id=man name="afterboot" section="8"]] man page for details
1.24 nia 61: on connecting to WiFi networks.
1.1 reed 62:
1.21 nia 63: USB 11n WiFi adapters such as
1.20 nia 64: [[!template id=man name="urtwn" section="4"]] and
65: [[!template id=man name="run" section="4"]] can also be used,
66: and most/all generic USB ethernet adapters are also well supported.
67: For a fairly complete list, see
68: [[!template id=man name="usb" section="4"]].
1.3 reed 69:
1.21 nia 70: Unfortunately, WiFi hardware is not particularly standardized compared
71: to most other aspects of modern laptops.
72:
1.20 nia 73: ## Audio
1.11 reed 74:
1.21 nia 75: Essentially all modern x86 laptops use the
1.20 nia 76: [[!template id=man name="hdaudio" section="4"]] driver.
1.11 reed 77:
1.20 nia 78: In the case that switching between speakers and the headphone port
79: is not handled automatically by the hardware, the `dacsel`
80: [[!template id=man name="mixerctl" section="1"]] variable can be
81: modified.
1.11 reed 82:
1.22 nia 83: ## Sensors
84:
85: Regardless of whether the system is ACPI, NetBSD will
86: expose all sensors (e.g. for temperature and battery)
87: via [[!template id=man name="envstat" section="8"]].
88:
1.11 reed 89: ---
90:
1.20 nia 91: # IBM / Lenovo
1.9 reed 92:
1.20 nia 93: The [[!template id=man name="thinkpad" section="4"]] driver provides
94: support for various Thinkpad-specific sensors and function keys.
1.6 jruoho 95:
1.21 nia 96: A number of NetBSD developers use Thinkpads to hack on NetBSD
97: and for everyday usage.
98:
1.9 reed 99: ## ThinkPad T22
100:
101: Works perfect (sound, display, all devices, infrared port not tested).
102:
1.6 jruoho 103: ## ThinkPad X60s
104:
1.15 sevan 105: Everything works.
1.6 jruoho 106:
1.9 reed 107: ## ThinkPad X41
108:
109: Works fine (sound, display, all devices, bluetooth, modem not tested).
110:
1.6 jruoho 111: ## ThinkPad X61s
112:
113: Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template
114: id=man name="options" section="4"]].
115:
1.17 nia 116: ## Thinkpad X220
117:
118: * Video acceleration works, but when using `xf86-video-intel` (the default),
119: it's advisable to set `Option "AccelMethod" "uxa"` in `xorg.conf`.
1.19 nia 120: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
121: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
1.17 nia 122: * Suspend and resume work.
123:
1.19 nia 124: ## Thinkpad X230
125:
1.28 ! nia 126: * Accelerated graphics.
1.19 nia 127: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
128: * WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver.
129:
1.16 nia 130: ## Thinkpad X250
131:
1.28 ! nia 132: * Accelerated graphics.
! 133: * Connecting externals displays works with the miniDP and VGA ports.
1.19 nia 134: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
135: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
136: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
1.27 nia 137: * Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
138: * Brightness buttons do not work in 9.0 by default. You can bind them to
1.16 nia 139: xrandr in your window manager.
1.19 nia 140: * Webcam will depend on upcoming xhci isochronous pipe support.
141: * To record from the internal mic, set `mixerctl -w record.source=ADC02`
1.27 nia 142: * Some spam from [[!template id=man name="hdaudio" section="4"]] on some
143: reboots, the chip doesn't seem to reset properly. Disappears and boots
144: normally after a few seconds.
145: [[!template id=pr number=51734]]
1.23 nia 146: * Suspend and resume work.
1.16 nia 147:
1.19 nia 148: ## Thinkpad X260
149:
1.28 ! nia 150: * Accelerated graphics.
1.19 nia 151: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
152: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
153: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
1.27 nia 154: * Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
1.28 ! nia 155: * Webcam will depend on upcoming xhci isochronous pipe support.
1.23 nia 156: * Suspend and resume work.
1.19 nia 157:
1.20 nia 158: ---
1.14 ryoon 159:
1.27 nia 160: # Asus
161:
162: Eee PCs were previously very popular hardware, so they're widely available
163: cheaply, tend to work quite well, and what works is documented.
164:
165: ## EeePC 701
166:
167: [[!table data="""
168: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
169: Supported | Supported | Supported | Supported | Supported | Supported | Supported
170: """]]
171:
172: ## EeePC 900
173:
174: [[!table data="""
175: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
176: Supported | Supported | Supported | Supported | Supported | Supported | Supported
177: """]]
178:
179: ## EeePC 900
180:
181: [[!table data="""
182: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
183: Supported | Supported | Supported | Supported | Supported | Supported | Supported
184: """]]
185:
186: ## EeePC 1000HA
187:
188: [[!table data="""
189: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
190: Supported | Supported | Supported | Supported | Supported | Supported | Supported
191: """]]
192:
193: ---
194:
1.20 nia 195: # PINE64
1.14 ryoon 196:
1.21 nia 197: A number of NetBSD developers use Pinebooks to hack on NetBSD
198: and for everyday usage.
199:
200: Pinebook and Pinebook Pro do not use ACPI, so certain aspects are
201: different compared to x86 laptops.
202:
1.20 nia 203: ## Pinebook (Allwinner A64)
1.14 ryoon 204:
1.28 ! nia 205: * Support for the display and HDMI output is provided through the Allwinner Display Engine driver.
! 206: This provides kernel modesetting and a full-resolution video framebuffer, however,
! 207: the 3D acceleraiton features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
! 208: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20 nia 209: * [[!template id=man name="uvideo" section="4"]] webcam works.
210: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
1.1 reed 211:
1.26 nia 212: ## Pinebook Pro (Rockchip RK3399)
1.3 reed 213:
1.28 ! nia 214: * Support for the display output is provided through the Rockchip DRM driver.
! 215: This provides kernel modesetting and a full-resolution video framebuffer, however,
! 216: the 3D acceleraiton features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
! 217: Currently, you can't connect external displays through USB-C.
! 218: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20 nia 219: * [[!template id=man name="uvideo" section="4"]] webcam works.
1.28 ! nia 220: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
! 221: Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in -current.
! 222: However, external adapters may still be more stable.
1.20 nia 223: * The display backlight can be adjusted with `sysctl`.
1.26 nia 224:
225: ### Pinebook Pro CPU affinity
226:
227: After setting `security.models.extensions.user_set_cpu_affinity=1` in `/etc/sysctl.conf`,
228: you can run an intensive command on only the "big" CPUs:
229:
230: `$ schedctl -A 4,5 make package`
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb