Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # A script to enable laptop power saving features for #! & Debian GNU+linux.
- # http://crunchbanglinux.org/forums/topic/11954
- # List of modules to unload, space seperated. Edit depending on your hardware and preferences.
- modlist="uvcvideo btusb"
- # Bus list for runtime pm. Probably shouldn't touch this.
- buslist="pci spi i2c"
- case "$1" in
- true)
- # Enable some power saving settings while on battery
- #touch /home/marlock/pm-utils-powersave-battery
- # Enable laptop mode
- echo 5 > /proc/sys/vm/laptop_mode
- # Less VM disk activity. Suggested by powertop
- echo 90 > /proc/sys/vm/dirty_ratio
- echo 1 > /proc/sys/vm/dirty_background_ratio
- echo 60000 > /proc/sys/vm/dirty_writeback_centisecs
- # Intel power saving
- echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller
- echo 1 > /sys/module/snd_hda_intel/parameters/power_save
- echo powersave > /sys/module/pcie_aspm/parameters/policy
- /usr/bin/iw wlp3s0 set power_save on
- # Set backlight brightness to 50%
- #echo 1200 > /sys/class/backlight/intel_backlight/brightness
- # USB powersaving
- for i in /sys/bus/usb/devices/*/power/autosuspend; do
- echo 1 > $i
- done
- for i in /sys/bus/usb/devices/*/power/control; do
- echo auto > $i
- done
- # SATA power saving
- for i in /sys/class/scsi_host/host*/link_power_management_policy; do
- echo min_power > $i
- done
- # Disable hardware modules to save power
- for mod in $modlist; do
- grep $mod /proc/modules >/dev/null || continue
- modprobe -r $mod 2>/dev/null
- done
- # Enable runtime power management. Suggested by powertop.
- for bus in $buslist; do
- for i in /sys/bus/$bus/devices/*/power/control; do
- echo auto > $i
- done
- done
- ;;
- false)
- #Return settings to default on AC power
- #touch /home/marlock/pm-utils-powersave-ACpower
- echo 0 > /proc/sys/vm/laptop_mode
- echo 10 > /proc/sys/vm/dirty_ratio
- echo 5 > /proc/sys/vm/dirty_background_ratio
- echo 500 > /proc/sys/vm/dirty_writeback_centisecs
- echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
- echo 0 > /sys/module/snd_hda_intel/parameters/power_save
- echo default > /sys/module/pcie_aspm/parameters/policy
- /usr/bin/iw wlp4s0 set power_save off
- #echo 1200 > /sys/class/backlight/intel_backlight/brightness
- for i in /sys/bus/usb/devices/*/power/autosuspend; do
- echo 2 > $i
- done
- for i in /sys/class/scsi_host/host*/link_power_management_policy
- do echo max_performance > $i
- done
- for mod in $modlist; do
- if ! lsmod | grep $mod; then
- modprobe $mod 2>/dev/null
- fi
- done
- for bus in $buslist; do
- for i in /sys/bus/$bus/devices/*/power/control; do
- echo on > $i
- done
- done
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment