Since I received my first Framework laptop, I’ve been trying to get the power usage as low as possible. While I primarily use my laptop while connected to power, I want it to last as long as possible in the event I’m away from power using only the internal battery and something like the Anker 747 Power Bank. In a short 5 minute test, I have been able to get the power usage down to the following, as reported by upower while on battery:
Idle: 3.5 watts
Idle with Screen Locked and Off: ~1.5 watts (hovers between 1 and 2 watts with occasional spikes to 2.5 watts and 0.8 watts)
Typing in gedit: 6 watts
Youtube on Firefox: 9 watts
Before I get into the settings, the following is some additional information about my particular setup (probably more information than necessary, however any little thing could affect power usage):
Desktop environment: GNOME on Wayland, with GDM as the display manager
Plymouth: Installed and enabled on startup with the default theme
GNOME extensions: appindicator
Background programs (explicit): Flameshot, Caffeine-ng, Solaar, Syncthing
Framework expansion packs: all USB-C
Processors: 1280p (2x) and 1240p (1x) (all had the same results)
Filesystem: / and /boot are XFS with the following options: “-m crc=1,finobt=1,rmapbt=1,inobtcount=1,bigtime=1 -s size=4096”, along with the following for root (not supported by GRUB): “-i nrext64=1”.
Encryption: / is encrypted with the following settings: “–cipher aes-xts-plain64 --key-size 512 --hash blake2b-512 --pbkdf argon2id”
GRUB cmdline options: “intel_iommu=on mitigations=off ibt=off nowatchdog rootflags=noatime,swalloc,largeio”
mkinitcipo hooks: “base keyboard systemd plymouth autodetect modconf kms sd-vconsole block sd-encrypt filesystems fsck”
NVME SSD: Inland Performance Plus 8TB or 4TB depending on machine
RAM: Crucial 64GB Kit or Teamgroup 64GB Kit depending on machine
Power Profiles Daemon setting: Balanced (the default setting)
Bluetooth: Disabled (this saves like 2-3 watts on its own)
Webcam and microphone: Physically disabled via sliders above screen (iirc this also saves 2-3 watts on its own)
Screen Brightness: Slider is around 33% in GNOME
Volume: Slider is also around 33% in GNOME; also have 80db speakers installed.
Now, on to the settings. I actually have most of these split into individual files, however I’m presenting them here as single files for each configuration type for simplicity. I do have a few more settings than these however these are the ones that could affect battery life.
options snd-hda-intel power_save=1 options i915 enable_guc=3 enable_fbc=1 enable_psr=1 disable_power_well=0 options nvme noacpi=1 options iwlwifi power_save=1 options iwlmvm power_scheme=3
kernel.nmi_watchdog = 0 dev.i915.perf_stream_paranoid = 0
# Path Mode UID GID Age Argument w! /sys/module/pcie_aspm/parameters/policy - - - - powersupersave w! /sys/power/mem_sleep - - - - deep
#!/bin/sh export MOZ_ENABLE_WAYLAND=1 export LIBVA_DRIVER_NAME=iHD export VDPAU_DRIVER=va_gl
(you’ll also need the packages
libvdpau-va-gl installed for the above LIBVA and VDPAU settings to actually do anything)
Firefox options (about:config):
media.ffmpeg.vaapi.enabled = true
Services enabled (along with whatever else gets enabled along with these, such as NetworkManager-dispatcher):
- syncthing.service (user)
Some final notes:
- TLP and PowerTop don’t appear to affect the power usage in any positive or negative way, or at least the power savings aren’t enough to register any significant difference.
- Power Profiles Daemon, while installed and enabled, doesn’t appear to have any affect on power usage. This is true even when changing the setting to Power Saver.
Anyway, I hope this helps with your power efficiency journeys.
Edit(s): Corrected a few words and added idle with screen locked time.