Annotation of wikisrc/laptops.mdwn, revision 1.23

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: For i386-based netbooks also see
                      6: <http://www.netbsd.org/ports/i386/netbook.html>.
                      7: 
                      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.20      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
                     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.
1.1       reed       68: 
1.21      nia        69: USB 11n WiFi adapters such as
1.20      nia        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"]].
1.3       reed       75: 
1.21      nia        76: Unfortunately, WiFi hardware is not particularly standardized compared
                     77: to most other aspects of modern laptops.
                     78: 
1.20      nia        79: ## Audio
1.11      reed       80: 
1.21      nia        81: Essentially all modern x86 laptops use the 
1.20      nia        82: [[!template id=man name="hdaudio" section="4"]] driver.
1.11      reed       83: 
1.20      nia        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.
1.11      reed       88: 
1.22      nia        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: 
1.11      reed       95: ---
                     96: 
1.20      nia        97: # IBM / Lenovo
1.9       reed       98: 
1.20      nia        99: The [[!template id=man name="thinkpad" section="4"]] driver provides
                    100: support for various Thinkpad-specific sensors and function keys.
1.6       jruoho    101: 
1.21      nia       102: A number of NetBSD developers use Thinkpads to hack on NetBSD
                    103: and for everyday usage.
                    104: 
1.9       reed      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: 
1.6       jruoho    116: ## ThinkPad X60s
                    117: 
1.15      sevan     118: Everything works.
1.6       jruoho    119: 
1.9       reed      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: 
1.6       jruoho    125: ## ThinkPad X61s
                    126: 
                    127: Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template
                    128: id=man name="options" section="4"]].
                    129: 
1.9       reed      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: 
1.17      nia       138: ## Thinkpad X220
                    139: 
1.18      nia       140: From user reports, in NetBSD 9.0:
1.17      nia       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`.
1.19      nia       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.
1.17      nia       146: * Suspend and resume work.
                    147: 
1.19      nia       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: 
1.16      nia       155: ## Thinkpad X250
                    156: 
1.18      nia       157: Nearly perfect. Running NetBSD 9.0 and -current since 2019.
1.16      nia       158: 
                    159: * Accelerated graphics with the i915 driver. Connecting externals displays
                    160:   works with the miniDP and VGA ports.
1.19      nia       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.
1.16      nia       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.
1.19      nia       169: * Webcam will depend on upcoming xhci isochronous pipe support.
                    170: * To record from the internal mic, set `mixerctl -w record.source=ADC02`
1.23    ! nia       171: * Suspend and resume work.
1.16      nia       172: 
1.19      nia       173: ## Thinkpad X260
                    174: 
                    175: Likely very similar to the X250.
                    176: 
                    177: From user reports, in NetBSD 9.0:
                    178: 
                    179: * SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver.
                    180: * Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver.
                    181: * WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver.
                    182: * For the extra trackpoint buttons to work correctly, needs a patch to
                    183:   synaptics.c that is in -current and will be in 9.1.
                    184:   Tapping and the clickpad have always been fine.
1.23    ! nia       185: * Suspend and resume work.
1.19      nia       186: 
1.20      nia       187: ---
1.14      ryoon     188: 
1.20      nia       189: # PINE64
1.14      ryoon     190: 
1.21      nia       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: 
1.20      nia       197: ## Pinebook (Allwinner A64)
1.14      ryoon     198: 
1.20      nia       199: From user reports to port-arm@, in NetBSD 9.0:
1.1       reed      200: 
1.20      nia       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.
1.1       reed      206: 
1.20      nia       207: ## Pinebook Pro
1.3       reed      208: 
1.20      nia       209: * [[!template id=man name="uvideo" section="4"]] webcam works.
1.23    ! nia       210: * Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in -current.
1.20      nia       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.
1.21      nia       215: * Connecting external monitors does not currently work through USB-C.

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