Linux laptops running Arch-based distributions often ship with minimal power management out of the box, leaving users to fine-tune settings for better battery life. High power consumption not only shortens battery runtime but can also increase heat and reduce overall hardware longevity. By configuring the right utilities, adjusting kernel parameters, and disabling unnecessary devices or services, you can reduce idle power draw from over 20 watts down to as low as 5–10 watts, depending on your hardware and workload.

Assess Baseline Power Consumption

Before making changes, it’s important to understand your laptop’s current power usage. This helps you measure the impact of each adjustment and identify the biggest drains on your battery.

Step 1: Install powertop using your package manager. For Arch-based systems, run:

sudo pacman -S powertop

Step 2: Calibrate powertop for accurate readings. This increases CPU load briefly but gives more reliable data:

sudo powertop --calibrate

Step 3: Launch the interactive interface to monitor real-time power usage and identify processes or devices that draw the most power:

sudo powertop

Note your average power draw in watts and review the “Tunables” tab for settings marked as “Bad.” These are candidates for optimization.


Install and Configure Power Management Utilities

To automate power-saving settings, Arch users typically choose between TLP and power-profiles-daemon. Each tool manages hardware power states and device settings, but they should not be run together due to conflicts.

TLP: Advanced Power Management

TLP is a command-line utility that applies power-saving settings optimized for most hardware. It’s widely used among Arch users for its effectiveness and minimal configuration requirements.

Step 1: Install TLP:

sudo pacman -S tlp

Step 2: Enable and start the TLP service so settings apply automatically on boot:

sudo systemctl enable --now tlp.service

Step 3: Optionally, activate USB autosuspend support:

sudo systemctl enable --now tlp-sleep.service

Step 4: Check current status and applied settings:

sudo tlp-stat -s

TLP’s default configuration is effective for most users, but advanced users can edit /etc/tlp.conf for further tuning. Avoid running TLP alongside other power management tools like laptop-mode-tools or power-profiles-daemon.


Power-Profiles-Daemon: Integrated Desktop Control

For systems running GNOME or similar desktop environments, power-profiles-daemon integrates with desktop power settings and provides easy switching between performance, balanced, and power-saver modes.

Step 1: Install the package:

sudo pacman -S power-profiles-daemon

Step 2: Enable and start the service:

sudo systemctl enable --now power-profiles-daemon

Step 3: Select the desired power profile from your desktop’s power settings, or use the command line:

powerprofilesctl set power-saver

Do not use power-profiles-daemon in combination with TLP, as they may override each other’s settings.


Switch to a Lightweight Desktop Environment

Resource-heavy desktop environments such as GNOME or KDE Plasma can increase power draw due to background services and graphical effects. Lighter alternatives like XFCE, LXQt, or Openbox use fewer system resources, which translates to lower CPU and GPU activity and longer battery life.

For KDE Plasma, disabling desktop animations and unnecessary background services can reduce CPU and GPU usage. Similarly, in GNOME, turning off animations and limiting background apps will help conserve power.


Optimize Kernel Parameters for Power Saving

Certain kernel parameters can instruct the system to use more aggressive power-saving features, especially for storage and PCIe devices.

Step 1: Edit your GRUB configuration:

sudo nano /etc/default/grub

Step 2: Add or update the GRUB_CMDLINE_LINUX_DEFAULT line to include pcie_aspm=force for PCIe Active State Power Management:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Step 3: For Intel CPUs, add intel_pstate=passive to allow more granular frequency scaling control.

Step 4: Update your GRUB configuration:

sudo grub-mkconfig -o /boot/grub/grub.cfg

These settings activate deeper power-saving states for hardware components, cutting idle and light-load power usage.


Enable CPU Frequency Scaling

Dynamic frequency scaling reduces CPU speed when full performance isn’t needed, directly lowering power consumption.

Step 1: Install the cpupower utility:

sudo pacman -S cpupower

Step 2: Enable the cpupower.service so changes persist after reboot:

sudo systemctl enable --now cpupower.service

Step 3: Edit the configuration file to set the governor to ‘powersave’:

sudo nano /etc/default/cpupower

Set:

governor='powersave'

Step 4: Apply the new governor immediately:

sudo cpupower frequency-set -g powersave

Step 5: Verify the current CPU scaling settings:

cpupower frequency-info

With the ‘powersave’ governor, the CPU will drop to lower frequencies during idle or light workloads, reducing energy use.


Disable Unused Devices and Services

Active but unused hardware and background services can steadily drain battery power. Disabling these can provide immediate savings.

Turn Off Bluetooth

If you don’t use Bluetooth peripherals, disable the service:

sudo systemctl disable --now bluetooth.service

Or block it at the hardware level:

sudo rfkill block bluetooth

Turn Off Wi-Fi When Not Needed

Switch off wireless radios when using Ethernet or when offline:

nmcli radio wifi off

Or use rfkill:

sudo rfkill block wifi

Stop Unnecessary Background Services

List running services:

systemctl list-units --type=service

Disable any that aren’t required:

sudo systemctl disable --now servicename.service

Enable USB Autosuspend

USB autosuspend puts idle USB devices into low-power mode, reducing their energy draw. TLP manages this automatically, but you can also set it manually.

Step 1: Create a udev rule for autosuspend:

ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"

Save this in /etc/udev/rules.d/50-usb-autosuspend.rules.

Step 2: Reload udev rules:

sudo udevadm control --reload

This ensures that USB devices such as mice, webcams, and external drives use less power when idle.


Apply SSD Power Management

Solid-state drives (SSDs) can support advanced power management features, especially on NVMe devices.

Step 1: Check current NVMe power mode:

sudo nvme get-feature -f 0x0c -H /dev/nvme0

Step 2: Set a lower power state if supported:

sudo nvme set-feature -f 0x0c -v 2 /dev/nvme0

For SATA SSDs, TLP can configure ALPM (Aggressive Link Power Management) automatically if supported by your hardware.


Dim the Screen and Turn Off Keyboard Backlight

The display is often the largest power consumer on a laptop. Lowering its brightness and disabling keyboard lighting can noticeably extend battery runtime.

Step 1: Adjust screen brightness using your desktop controls or with brightnessctl:

brightnessctl set 30%

Step 2: Turn off the keyboard backlight (if your laptop supports it):

echo 0 | sudo tee /sys/class/leds/smc::kbd_backlight/brightness

Monitor Battery Health

Battery capacity diminishes over time. Knowing the current health of your battery helps set realistic expectations for power-saving results.

Step 1: View battery statistics with upower:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

Step 2: Alternatively, use acpi:

acpi -i

If your battery’s full charge capacity is much lower than its design capacity, consider replacing it for the best possible runtime.


Additional Power-Saving Practices

  • Avoid running processor-intensive applications (like video editors or games) on battery power.
  • Use dark themes on OLED screens to reduce energy usage.
  • Limit the number of browser tabs and disable unused extensions.
  • Prefer hibernation over suspend to minimize background power use during longer breaks.

With these configuration steps and usage habits, you can reduce your Arch-based laptop’s power consumption, improve battery runtime, and keep your system running cooler and quieter during daily tasks.