Arch Linux Power
This document summarizes all the power‑related configurations applied during system tuning, including Firefox video decoding fixes, TLP tuning with intel_pstate, GPU optimization, and kernel parameters for Intel GPUs.
1. Firefox GPU Acceleration & VAAPI Hardware Decoding
1.1 Enabled Firefox GPU Process
To fix video decoding issues and enable GPU offloading:
-
Set in
about:config:layers.gpu-process.enabled = true
1.2 VAAPI Setup for Firefox (Intel Iris Xe)
Installed the correct Intel driver:
intel-media-driver
Verified hardware decoding with mpv:
- Ensured VAAPI works after enabling GPU process.
Firefox flags (should already be defaults on Wayland):
media.ffmpeg.vaapi.enabled = truemedia.rdd-ffmpeg.enabled = true
Result: YouTube/streaming power usage decreased significantly due to hardware decoding working correctly.
2. TLP Configuration with intel_pstate (Active Mode)
We configured TLP to use Intel HWP (Hardware P‑states) efficiently.
2.1 Enabled intel_pstate “active” driver mode
In /etc/tlp.conf:
CPU_DRIVER_OPMODE_ON_AC=active
CPU_DRIVER_OPMODE_ON_BAT=active
This is the preferred mode for 11th/12th/13th gen Intel CPUs.
2.2 CPU Governors
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
These take effect only when using HWP with intel_pstate.
2.3 Power Limits via Performance Percentage
CPU_MAX_PERF_ON_BAT=50
CPU_MIN_PERF_ON_BAT=0
This limits the CPU to ~50% of its available P‑state range on battery, saving power.
2.4 Energy Performance Preference (EPP)
CPU_ENERGY_PERF_POLICY_ON_BAT=power
Ensures maximum battery savings.
2.5 Intel GPU Frequency Limits
INTEL_GPU_MAX_FREQ_ON_BAT=900
Caps Iris Xe GPU frequency for additional power saving.
2.6 Disabled cpupower
Because intel_pstate(active) ignores cpupower frequency limits:
sudo systemctl disable --now cpupower.service
sudo systemctl mask cpupower.service
This prevents conflicts and confusion.
3. Intel i915 Kernel Parameters
Added to improve boot time and enhance power efficiency of Intel GPUs.
3.1 i915.fastboot
Reduces display initialization time:
i915.fastboot=1
3.2 i915.enable_dc
Enables display C‑states for power savings:
i915.enable_dc=2
3.3 Panel Self Refresh (i915.enable_psr)
Useful for future laptops with PSR support:
- Saves power when screen content is static.
- Not supported on your current laptop, but good to document.
Examples:
i915.enable_psr=1 # Conservative (default safe)
i915.enable_psr=2 # Force PSR2 if hardware supports it
PSR reduces GPU activity by letting the panel refresh itself.
4. Summary of Improvements
✔ Firefox now properly uses hardware-accelerated video decoding (VAAPI) ✔ GPU process enabled, fixing power‑heavy software decoding ✔ TLP tuned for intel_pstate active mode ✔ CPU limited to 50% on battery for major power savings ✔ iGPU frequency capped ✔ cpupower disabled to avoid conflict ✔ Intel i915 kernel parameters optimized for efficiency
This configuration significantly improves battery life during video playback, browsing, and general usage.