File:  [NetBSD Developer Wiki] / wikisrc / laptops.mdwn
Revision 1.23: download - view: text, annotated - select for diffs
Sun Sep 6 23:52:46 2020 UTC (7 weeks ago) by nia
Branches: MAIN
CVS tags: HEAD
updates

    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: * Suspend and resume work.
  172: 
  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.
  185: * Suspend and resume work.
  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 -current.
  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