File:  [NetBSD Developer Wiki] / wikisrc / laptops.mdwn
Revision 1.30: download - view: text, annotated - select for diffs
Fri Sep 11 14:22:10 2020 UTC (6 weeks ago) by nia
Branches: MAIN
CVS tags: HEAD
spelling

    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: [[!toc ]]
    6: 
    7: ---
    8: 
    9: # Generic laptop support
   10: 
   11: ## Graphics
   12: 
   13: NetBSD 9.0 supports Intel integrated graphics up to Kaby Lake,
   14: Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1.
   15: 
   16: Anything newer than this will work, but will use `llvmpipe`
   17: instead of hardware acceleration for OpenGL.
   18: 
   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: 
   27: ## CPU frequency adjustment
   28: 
   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"]].
   34: 
   35: ## Suspend
   36: 
   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"]].
   41: 
   42: Suspend on NetBSD currently seems to work best on Thinkpads.
   43: 
   44: ## Input
   45: 
   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"]],
   48: with various adjustable Synaptics-specific sysctl variables.
   49: 
   50: ## WiFi
   51: 
   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.
   58: 
   59: See the
   60: [[!template id=man name="afterboot" section="8"]] man page for details
   61: on connecting to WiFi networks.
   62: 
   63: USB 11n WiFi adapters such as
   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"]].
   69: 
   70: Unfortunately, WiFi hardware is not particularly standardized compared
   71: to most other aspects of modern laptops.
   72: 
   73: ## Audio
   74: 
   75: Essentially all modern x86 laptops use the 
   76: [[!template id=man name="hdaudio" section="4"]] driver.
   77: 
   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.
   82: 
   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: 
   89: ---
   90: 
   91: # IBM / Lenovo
   92: 
   93: The [[!template id=man name="thinkpad" section="4"]] driver provides
   94: support for various Thinkpad-specific sensors and function keys.
   95: 
   96: A number of NetBSD developers use Thinkpads to hack on NetBSD
   97: and for everyday usage.
   98: 
   99: ## ThinkPad T22
  100: 
  101: Works perfect (sound, display, all devices, infrared port not tested).
  102: 
  103: ## ThinkPad X60s
  104: 
  105: Everything works.
  106: 
  107: ## ThinkPad X41
  108: 
  109: Works fine (sound, display, all devices, bluetooth, modem not tested).
  110: 
  111: ## ThinkPad X61s
  112: 
  113: Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template
  114: id=man name="options" section="4"]].
  115: 
  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`.
  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.
  122: * Suspend and resume work.
  123: 
  124: ## Thinkpad X230
  125: 
  126: * Accelerated graphics.
  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: 
  130: ## Thinkpad X250
  131: 
  132: * Accelerated graphics.
  133: * Connecting externals displays works with the miniDP and VGA ports.
  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.
  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
  139:   xrandr in your window manager.
  140: * Webcam will depend on upcoming xhci isochronous pipe support.
  141: * To record from the internal mic, set `mixerctl -w record.source=ADC02`
  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]]
  146: * Suspend and resume work.
  147: 
  148: ## Thinkpad X260
  149: 
  150: * Accelerated graphics.
  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.
  154: * Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver.
  155: * Webcam will depend on upcoming xhci isochronous pipe support.
  156: * Suspend and resume work.
  157: 
  158: ---
  159: 
  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 901
  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: 
  195: # PINE64
  196: 
  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: 
  203: ## Pinebook (Allwinner A64)
  204: 
  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 acceleration 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.*`.
  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?
  211: 
  212: ## Pinebook Pro (Rockchip RK3399)
  213: 
  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 acceleration 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.*`.
  219: * [[!template id=man name="uvideo" section="4"]] webcam works.
  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.
  223: * The display backlight can be adjusted with `sysctl`.
  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