Annotation of wikisrc/laptops.mdwn, revision 1.33

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.19      nia       173: 
1.20      nia       174: ---
1.14      ryoon     175: 
1.27      nia       176: # Asus
                    177: 
                    178: Eee PCs were previously very popular hardware, so they're widely available
                    179: cheaply, tend to work quite well, and what works is documented.
                    180: 
                    181: ## EeePC 701
                    182: 
                    183: [[!table data="""
                    184: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
                    185: Supported | Supported | Supported | Supported | Supported | Supported | Supported
                    186: """]]
                    187: 
                    188: ## EeePC 900
                    189: 
                    190: [[!table data="""
                    191: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
                    192: Supported | Supported | Supported | Supported | Supported | Supported | Supported
                    193: """]]
                    194: 
1.29      nia       195: ## EeePC 901
1.27      nia       196: 
                    197: [[!table data="""
                    198: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
                    199: Supported | Supported | Supported | Supported | Supported | Supported | Supported
                    200: """]]
                    201: 
                    202: ## EeePC 1000HA
                    203: 
                    204: [[!table data="""
                    205: GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume
                    206: Supported | Supported | Supported | Supported | Supported | Supported | Supported
                    207: """]]
                    208: 
                    209: ---
                    210: 
1.20      nia       211: # PINE64
1.14      ryoon     212: 
1.21      nia       213: A number of NetBSD developers use Pinebooks to hack on NetBSD
                    214: and for everyday usage.
                    215: 
                    216: Pinebook and Pinebook Pro do not use ACPI, so certain aspects are
                    217: different compared to x86 laptops.
                    218: 
1.20      nia       219: ## Pinebook (Allwinner A64)
1.14      ryoon     220: 
1.28      nia       221: * Support for the display and HDMI output is provided through the Allwinner Display Engine driver.
                    222:   This provides kernel modesetting and a full-resolution video framebuffer, however,
1.30      nia       223:   the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
1.28      nia       224: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20      nia       225: * [[!template id=man name="uvideo" section="4"]] webcam works.
                    226: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
1.1       reed      227: 
1.26      nia       228: ## Pinebook Pro (Rockchip RK3399)
1.3       reed      229: 
1.28      nia       230: * Support for the display output is provided through the Rockchip DRM driver.
                    231:   This provides kernel modesetting and a full-resolution video framebuffer, however,
1.30      nia       232:   the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead.
1.28      nia       233:   Currently, you can't connect external displays through USB-C.
                    234: * The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`.
1.20      nia       235: * [[!template id=man name="uvideo" section="4"]] webcam works.
1.28      nia       236: * External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework?
                    237:   Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in -current.
                    238:   However, external adapters may still be more stable.
1.20      nia       239: * The display backlight can be adjusted with `sysctl`.
1.26      nia       240: 
                    241: ### Pinebook Pro CPU affinity
                    242: 
                    243: After setting `security.models.extensions.user_set_cpu_affinity=1` in `/etc/sysctl.conf`,
                    244: you can run an intensive command on only the "big" CPUs:
                    245: 
                    246: `$ schedctl -A 4,5 make package`

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb