Laptop - ArchWiki

# Laptop

From ArchWiki

This Laptop main page contains links to articles (sections) needed for configuring a laptop for the best experience. Setting up a laptop is in many ways the same as setting up a desktop. However, there are a few key differences. Arch Linux provides all the tools and programs necessary to take complete control of your laptop. These programs and utilities are highlighted below, with appropriate tips tutorials.

To gain an overview of the reported/achieved Linux hardware compatibility of a particular laptop model, see the results per vendor of below subpages.

Laptop main page
Acer - Apple - Asus - Compaq (discontinued) - Dell - Fujitsu - HP - IBM/Lenovo - Samsung - Sony - Toshiba - Other

If there are laptop model specific instructions, the respective article is crosslinked in the first column of the vendor subpages. In case the model is not listed in the vendor table, existing instructions of similar models via the Category:Laptops vendor subcategory may help.

## Power management

Note: You should read the main article Power management. Additional laptop-specific features are described below.

Power management is very important for anyone who wishes to make good use of their battery capacity. The following tools and programs help to increase battery life and keep your laptop cool and quiet.

### Battery state

Reading battery state can be done in multiple ways. Classical method is some daemon periodically polling battery level using ACPI interface. On some systems, the battery sends events to udev whenever it (dis)charges by 1%, this event can be connected to some action using a udev rule.

#### ACPI

Battery state can be read using ACPI utilities from the terminal. ACPI command line utilities are provided via the acpi package. See ACPI modules for more information.

- cbatticon is a battery icon that sits in the system tray.
- batterymon-cloneAUR is a battery monitor that sits in the system tray, similar to batti.
- batifyAUR is an udevrule file triggering plug and battery level notifications (multi-x sessions support).

#### hibernate on low battery level

If your battery sends events to udev whenever it (dis)charges by 1%, you can use this udev rule to automatically hibernate the system when battery level is critical, and thus prevent all unsaved work from being lost.

Note: Not all batteries report discharge events. Test by running `udevadm monitor --property` while on battery and see if any events are reported. You should wait at least 1% drop. If no events are reported and `/sys/class/power_supply/BAT0/alarm` is non-zero then the battery will likely trigger an event when `BAT0/energy_now` drops below the alarm value, and the udev rule will work as long as the percentage math works out. Some laptops have an option for this disabled in BIOS by default.

    /etc/udev/rules.d/99-lowbat.rules

    # Suspend the system when battery level drops to 5% or lower
    SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="/usr/bin/systemctl hibernate"

This rule will be repeated whenever the condition is set. As such, when resuming from hibernate when the battery is critical, the computer will hibernate directly. Some laptops do not boot beyond a certain battery level, so the rule could be adjusted accordingly.

Batteries can jump to a lower value instead of discharging continuously, therefore a udev string matching pattern for all capacities 0 through 5 is used.

Other rules can be added to perform different actions depending on power supply status and/or capacity.

If your system has no or missing ACPI events, use cron with the following script:

    #!/bin/sh
    acpi -b | awk -F'[,:%]' '{print $2, $3}' | {
    	read -r status capacity

    	if [ "$status" = Discharging -a "$capacity" -lt 5 ]; then
    		logger "Critical battery threshold"
    		systemctl hibernate
    	fi
    }

##### Testing events

One way to test udev rules is to have them create a file when they are run. For example:

    /etc/udev/rules.d/98-discharging.rules

    SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/example/discharging"

This creates a file at `/home/example/discharging` when the laptop charger is unplugged. You can test whether the rule worked by unplugging your laptop and looking for this file. For more advanced udev rule testing, see Udev#Testing rules before loading.

### Suspend and Hibernate

Manually suspending the operating system, either to memory (standby) or to disk (hibernate) sometimes provides the most efficient way to optimize battery life, depending on the usage pattern of the laptop.

See the main article Suspend and hibernate.

### Hard drive spin down problem

Documented here.

To prevent your laptop hard drive from spinning down too often, set less aggressive power management as described in hdparm#Power management configuration. Even the default values may be too aggressive.

### Modify wake events

Events which cause the system to resume from power states can be regulated in `/proc/acpi/wakeup`. Writing an entry from the Device column toggles the status from `enabled` to `disabled`, or vice-versa.

For example, to disable waking from suspend (S3) on opening the lid, run:

    # echo LID > /proc/acpi/wakeup

The factual accuracy of this article or section is disputed.

Reason: "Permanent toggling" is not the desired behaviour considering that systemd-tmpfiles can be run repeatedly. (Discuss in Talk:Laptop#)

This change can be made permanent with tmpfiles.d(5):

    /etc/tmpfiles.d/disable-lid-wakeup.conf

    w /proc/acpi/wakeup - - - - LID

## Hardware support

### Screen brightness

See Backlight.

### Touchpad

To get your touchpad working properly, see the libinput page. Touchpad Synaptics is the older input driver, which is currently in maintenance mode and is no longer updated.

### Fingerprint Reader

See Fingerprint-gui, fprint and ThinkFinger (for ThinkPads).

### Webcam

See Webcam setup.

### Hard disk shock protection

There are several laptops from different vendors featuring shock protection capabilities. As manufacturers have refused to support open source development of the required software components so far, Linux support for shock protection varies considerably between different hardware implementations.

Currently, two projects, named HDAPS and Hpfall (available in the AUR), support this kind of protection. HDAPS is for IBM/Lenovo Thinkpads and hpfall for HP/Compaq laptops.

### Hybrid graphics

The laptop manufacturers developed new technologies involving two graphic cards in an single computer, enabling both high performance and power saving usages. These laptops usually use an Intel chip for display by default, so an Intel graphics driver is needed first. Then you can choose methods to utilize the second graphics chip.

## Network time syncing

For a laptop, it may be a good idea to use Chrony as an alternative to NTPd, OpenNTPD or systemd-timesyncd to sync your clock over the network. Chrony is designed to work well even on systems with no permanent network connection (such as laptops), and is capable of much faster time synchronisation than standard ntp. Chrony has several advantages when used in systems running on virtual machines, such as a larger range for frequency correction to help correct quickly drifting clocks, and better response to rapid changes in the clock frequency. It also has a smaller memory footprint and no unnecessary process wakeups, improving power efficiency.

## See also

General

- CPU frequency scaling is a technology used primarily by notebooks which enables the OS to scale the CPU frequency up or down, depending on the current system load and/or power scheme.
- Display Power Management Signaling describes how to automatically turn off the laptop screen after a specified interval of inactivity (not just blanked with a screensaver but completely shut off).
- Wireless network configuration provides information about setting up wireless connection.
- Extra keyboard keys describes configuration of Media keys.
- acpid which is a flexible and extensible daemon for delivering ACPI events.

Pages specific to certain laptop types

- See Category:Laptops and its subcategories for pages dedicated to specific models/vendors.
- Battery tweaks for ThinkPads can be found in TLP and the tp_smapi article.
- acerhdf is a kernel module for controlling fan speed on Acer Aspire One and some Packard Bell Notebooks.

External resources

- http://www.linux-on-laptops.com/
- http://www.linlap.com/

Category:

- Laptops

Hidden category:

- Pages or sections flagged with Template:Accuracy