--- wikisrc/laptops.mdwn 2020/06/10 15:06:55 1.18 +++ wikisrc/laptops.mdwn 2020/09/17 14:04:17 1.31 @@ -1,131 +1,107 @@ This page lists and links to pages about laptops, notebooks, -and portable computers that work (or do not work) well with NetBSD. +and portable computers that work well with NetBSD, are of interest +to developers, and are standardized or easy to find. -For i386-based netbooks also see -. +This page references lots of different device drivers. All of them +are built-in to GENERIC kernels and you don't need to load them. [[!toc ]] --- -# Acer +# Generic laptop support -## Acer Aspire One 532h-2588 +## Graphics -As of current in July 2010: -Missing speedstep support (reed has patch for this). -No ethernet (Atheros AR8132 PCI-E Fast Ethernet). -No wireless (Atheros AR9285 Wireless LAN 802.11 a/b/g/n). +NetBSD 9.0 supports Intel integrated graphics up to Kaby Lake, +Nvidia graphics up to Maxwell, and AMD graphics up to GCNv1. ---- - -# Apple - -## iBook G3/600 with Radeon 7500 16MB VRAM +Anything newer than this will work, but will use `llvmpipe` +instead of hardware acceleration for OpenGL. -Used since NetBSD 1.6 or so. -Works nice with NetBSD/macppc. -No suspend support on NetBSD. -No modem support (some usb attached modem attaching as [[!template -id=man name="ugen" section="4"]]. -No WPA on NetBSD with [[!template id=man name="wi" section="4"]] (in contrast -to Mac OS X). -NetBSD/5.1_STABLE has problem that keyboard doesn't -work in xdm after logout; solved by forcing a xdm restart upon -logout. +The support includes connecting external monitors over HDMI, +DisplayPort, and DisplayPort over USB-C. +For the Intel driver, there may be slight graphical corruptions +when using X11 without a compositor. Xfce/MATE include their own +compositors, but lightweight window managers can benefit from +having `picom` running. -## MacBook Air 11 inch (mid 2012) +## CPU frequency adjustment -NetBSD/amd64 6.99.11 works without some devices (for example, internal WiFi). -In detail, please see [[How to install NetBSD/amd64 current on MacBook Air 11 inch (mid 2012)|/users/ryoon/how_to_install_netbsd_amd64_to_macbook_air_11_inch]] +On most ACPI and some non-ACPI laptops, the `sysutils/estd` package +can be used to automatically adjust the CPU frequency depending on +system load, and potentially prolong battery life. This modifies the +`frequency` variables exposed by +[[!template id=man name="sysctl" section="8"]]. +## Suspend ---- - -# Dell +On ACPI systems, suspend-to-RAM is supported through +`sysctl hw.acpi.sleep.state=3`. This can be triggered through various +events (such as lid close) with +[[!template id=man name="powerd" section="8"]]. -## Dell Latitude D610 +Suspend on NetBSD currently seems to work best on Thinkpads. -NetBSD/i386 5.0.0. -Audio works (i82801FB (ICH6)). -Wireless with iwi (vendor 0x8086 product 0x4220). -For X11, using xf86-video-intel-2.2.1nb1 package. +## Input ---- - -# Fujitsu - -## Fujitsu FMV-BIBLO LOOX P70WN - -NetBSD/i386 5.99.55. -Wireless with wpi works properly only when ACPI is disabled with "boot netbsd -2". - ---- +Many x86 laptops use Synaptics touchpads over an emulated PS/2 interface, +which is supported through [[!template id=man name="pms" section="4"]], +with various adjustable Synaptics-specific sysctl variables. -# HP / Hewlett Packard +## WiFi -## HP nc6120 +Many x86 laptops with Intel processors will have WiFi cards supported +by the +[[!template id=man name="iwm" section="4"]] driver, or +[[!template id=man name="iwn" section="4"]] for older models. +Atheros 11n miniPCIe cards are supported by the +[[!template id=man name="athn" section="4"]] driver. -5.1 did not have a working X. +See the +[[!template id=man name="afterboot" section="8"]] man page for details +on connecting to WiFi networks. -Almost everything works with -current: sound, wireless, X11. -Did not try resume/suspend. -Did not try the memory card slot recently. +USB 11n WiFi adapters such as +[[!template id=man name="urtwn" section="4"]] and +[[!template id=man name="run" section="4"]] can also be used, +and most/all generic USB ethernet adapters are also well supported. +For a fairly complete list, see +[[!template id=man name="usb" section="4"]]. -5.1 and -current have wired ethernet stability problems. -It gets watchdog timeouts and resets. +Unfortunately, WiFi hardware is not particularly standardized compared +to most other aspects of modern laptops. -X11 has a stability problem where a program can make total garbage on the -screen (except the mouse pointer) and lock up the server. Repeatable with a -certain image viewer which shows very big images. The machine does not -freeze: power off button powers down smoothly, (but can not switch consoles to -try to kill the X server). +## Audio -## HP Pavilion laptop, dv9750 +Essentially all modern x86 laptops use the +[[!template id=man name="hdaudio" section="4"]] driver. -NetBSD 5.1, audio, webcam, Ethernet, kb/touchpad work fine. -Broadcom Wireless 4312 does not work. +In the case that switching between speakers and the headphone port +is not handled automatically by the hardware, the `dacsel` +[[!template id=man name="mixerctl" section="1"]] variable can be +modified. -## HP ProBook 4310s +## Sensors -NetBSD i386 5.99.55 -Audio works (ADI AD1984A). -Wireless with iwn (vendor 0x8086 product 0x4232). -No ethernet (vendor 0x11ab product 0x436c). -SDHC at sd*, Bluetooth. -Doesn't work with NetBSD 5. +Regardless of whether the system is ACPI, NetBSD will +expose all sensors (e.g. for temperature and battery) +via [[!template id=man name="envstat" section="8"]]. --- # IBM / Lenovo -## ThinkPad T22 +The [[!template id=man name="thinkpad" section="4"]] driver provides +support for various Thinkpad-specific sensors and function keys. -Works perfect (sound, display, all devices, infrared port not tested). +A number of NetBSD developers use Thinkpads to hack on NetBSD +and for everyday usage. -## ThinkPad T61 +## ThinkPad T22 -Used it since NetBSD 4.x. -With Intel GMA, X works great. -In netbsd-5 there is a patch to make trackpoint/touchpad initialize correctly. -Requires [[!template id=man name="hdaudio" section="4"]] instead -of [[!template id=man name="azalia" section="4"]] to make headphones work. -Cardbus port doesn't work properly. -Expresscard not tested/tried. - -## Lenovo ThinkPad T61p - -Following -current for the last 18 months or so (2012-12). -As close to perfect as one gets. Suspend/resume didn't work at the -time; not tried it since. - -## Lenovo ThinkPad T500 - -in the version with ATI graphics. Has a tendency to run hot and then to not -reboot cleanly (gets stuck after printing the mainbus line at boot); -5min off for cool-down usually fix this. This doesn't usually occur when -only the Intel on-board graphics get used. No known errors while running. +Works perfect (sound, display, all devices, infrared port not tested). ## ThinkPad X60s @@ -134,76 +110,124 @@ Everything works. ## ThinkPad X41 Works fine (sound, display, all devices, bluetooth, modem not tested). -Standby is broken for me in -current (~2012-01-12) but worked in 5.1. ## ThinkPad X61s Everything works. Requires `PCI_BUS_FIXUP` and `PCI_ADDR_FIXUP` [[!template id=man name="options" section="4"]]. -## Thinkpad X201 - -Running -current since March 2011. -Working graphics (with the vesa driver), audio, trackpoint, wired -and wireless LAN. -Does not wake up after suspend (drives spin up but the display -stays black and the LED indicating a sleep state stays lit). - ## Thinkpad X220 -From user reports, in NetBSD 9.0: - * Video acceleration works, but when using `xf86-video-intel` (the default), it's advisable to set `Option "AccelMethod" "uxa"` in `xorg.conf`. -* WiFi works, it uses the `iwn(4)` dirver. +* Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver. +* WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver. * Suspend and resume work. -## Thinkpad X250 +## Thinkpad X230 -Nearly perfect. Running NetBSD 9.0 and -current since 2019. +* Accelerated graphics. +* Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver. +* WiFi is supported through the [[!template id=man name="iwn" section="4"]] driver. + +## Thinkpad X250 -* Accelerated graphics with the i915 driver. Connecting externals displays - works with the miniDP and VGA ports. -* Working SD card reader, audio, ethernet (`wm(4)`), and WiFi (`iwm(4)`). -* For the extra trackpoint buttons to work correctly, needs a patch to - synaptics.c that is in -current and will be in 9.1. - Tapping and the clickpad have always been fine. -* Brightness buttons do not work in 9 by default. You can bind them to +* Accelerated graphics. +* Connecting externals displays works with the miniDP and VGA ports. +* SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver. +* Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver. +* WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver. +* Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver. +* Brightness buttons do not work in 9.0 by default. You can bind them to xrandr in your window manager. -* Webcam will depend on upcoming xhci(4) isochronous pipe support. -* Wakes up after suspend. I have mine set to suspend on lid close with - powerd. - -## Lenovo ThinkPad Edge E130 - -With NetBSD/amd64 6.0 - -* Bluetooth adapter is recognized as ugen0 (should be patched like MacBook Air mid 2012 11-inch's one probably) -* Native X.org needs xorg.conf that has vesa driver entry, and sometimes X.org starts with slightly wrong resolution (xrandr is useful). -* Sound is recognized as hdaudio, and not tested. -* Network adapters are not tested. Wired LAN adapter is detected as re0, and WiFi adapter is not recognized. -* Card reader is not recognized +* Webcam will depend on upcoming xhci isochronous pipe support. +* To record from the internal mic, set `mixerctl -w record.source=ADC02` +* Some spam from [[!template id=man name="hdaudio" section="4"]] on some + reboots, the chip doesn't seem to reset properly. Disappears and boots + normally after a few seconds. + [[!template id=pr number=51734]] +* Suspend and resume work. + +## Thinkpad X260 + +* Accelerated graphics. +* SD card reader is supported through the [[!template id=man name="rtsx" section="4"]] driver. +* Ethernet is supported through the [[!template id=man name="wm" section="4"]] driver. +* WiFi is supported through the [[!template id=man name="iwm" section="4"]] driver. +* Extra trackpoint buttons: run at least 9.0_STABLE for fixes to the Synaptics driver. +* Webcam will depend on upcoming xhci isochronous pipe support. +* Suspend and resume work. --- -# Toshiba +# Asus + +Eee PCs were previously very popular hardware, so they're widely available +cheaply, tend to work quite well, and what works is documented. + +## EeePC 701 + +[[!table data=""" +GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume +Supported | Supported | Supported | Supported | Supported | Supported | Supported +"""]] + +## EeePC 900 + +[[!table data=""" +GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume +Supported | Supported | Supported | Supported | Supported | Supported | Supported +"""]] + +## EeePC 901 -## Toshiba Satellite A215-S7422 +[[!table data=""" +GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume +Supported | Supported | Supported | Supported | Supported | Supported | Supported +"""]] -NetBSD/amd64 5.99.38, but booting with "boot netbsd -2" to disable ACPI -but has no keyboard use. -See . -Audio works with hdaudio (vendor 0x10EC product 0x0268). - -## Toshiba Satellite L350-S1701 - -NetBSD/amd64 5.99.38. -Wireless with iwn (vendor 0x8086 product 0x4232). -For X11, using xf86-video-vesa-2.3.0nb1 package. -Sometimes X starts up on wrong resolution. -The MMC works on sd0. -Some USB failures. -Audio works with hdaudio (vendor 0x10EC product 0x0268). +## EeePC 1000HA + +[[!table data=""" +GPU | WiFi | SD card reader | Ethernet | Audio | Webcam | Suspend/Resume +Supported | Supported | Supported | Supported | Supported | Supported | Supported +"""]] --- +# PINE64 + +A number of NetBSD developers use Pinebooks to hack on NetBSD +and for everyday usage. + +Pinebook and Pinebook Pro do not use ACPI, so certain aspects are +different compared to x86 laptops. + +## Pinebook (Allwinner A64) + +* Support for the display and HDMI output is provided through the Allwinner Display Engine driver. + This provides kernel modesetting and a full-resolution video framebuffer, however, + the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead. +* The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`. +* [[!template id=man name="uvideo" section="4"]] webcam works. +* External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework? + +## Pinebook Pro (Rockchip RK3399) + +* Support for the display output is provided through the Rockchip DRM driver. + This provides kernel modesetting and a full-resolution video framebuffer, however, + the 3D acceleration features of the GPU are not yet accessible - Mesa llvmpipe is used instead. + Currently, you can't connect external displays through USB-C. +* The CPU frequency can be adjusted automatically with `estd` or with `sysctl machdep.cpufreq.*`. +* [[!template id=man name="uvideo" section="4"]] webcam works. +* External WiFI adapters can be used. Support for the internal WiFi - after WiFi system rework? + Internal Broadcom WiFi is supported via the [[!template id=man name="bwfm" section="4"]] driver in -current. + However, external adapters may still be more stable. +* The display backlight can be adjusted with `sysctl`. + +### Pinebook Pro CPU affinity + +After setting `security.models.extensions.user_set_cpu_affinity=1` in `/etc/sysctl.conf`, +you can run an intensive command on only the "big" CPUs: + +`$ schedctl -A 4,5 make package`