Guest User

Untitled

a guest
Oct 12th, 2014
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.07 KB | None | 0 0
  1. #!/bin/sh
  2. # A script to enable laptop power saving features for #! & Debian GNU+linux.
  3. # http://crunchbanglinux.org/forums/topic/11954
  4.  
  5. # List of modules to unload, space seperated. Edit depending on your hardware and preferences.
  6. modlist="uvcvideo btusb"
  7. # Bus list for runtime pm. Probably shouldn't touch this.
  8. buslist="pci spi i2c"
  9.  
  10. case "$1" in
  11.     true)
  12.     # Enable some power saving settings while on battery
  13.     #touch /home/marlock/pm-utils-powersave-battery
  14.        # Enable laptop mode
  15.         echo 5 > /proc/sys/vm/laptop_mode
  16.        # Less VM disk activity. Suggested by powertop
  17.         echo 90 > /proc/sys/vm/dirty_ratio
  18.     echo 1 > /proc/sys/vm/dirty_background_ratio
  19.     echo 60000 > /proc/sys/vm/dirty_writeback_centisecs
  20.        # Intel power saving
  21.         echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller
  22.         echo 1 > /sys/module/snd_hda_intel/parameters/power_save
  23.         echo powersave > /sys/module/pcie_aspm/parameters/policy
  24.         /usr/bin/iw wlp3s0 set power_save on
  25.        # Set backlight brightness to 50%
  26.         #echo 1200 > /sys/class/backlight/intel_backlight/brightness
  27.        # USB powersaving
  28.         for i in /sys/bus/usb/devices/*/power/autosuspend; do
  29.             echo 1 > $i
  30.         done
  31.         for i in /sys/bus/usb/devices/*/power/control; do
  32.             echo auto > $i
  33.         done
  34.        # SATA power saving
  35.         for i in /sys/class/scsi_host/host*/link_power_management_policy; do
  36.             echo min_power > $i
  37.         done
  38.        # Disable hardware modules to save power
  39.         for mod in $modlist; do
  40.             grep $mod /proc/modules >/dev/null || continue
  41.             modprobe -r $mod 2>/dev/null
  42.         done
  43.        # Enable runtime power management. Suggested by powertop.
  44.         for bus in $buslist; do
  45.             for i in /sys/bus/$bus/devices/*/power/control; do
  46.                 echo auto > $i
  47.             done
  48.         done
  49.     ;;
  50.     false)
  51.        #Return settings to default on AC power
  52.     #touch /home/marlock/pm-utils-powersave-ACpower
  53.         echo 0 > /proc/sys/vm/laptop_mode
  54.     echo 10 > /proc/sys/vm/dirty_ratio
  55.     echo 5 > /proc/sys/vm/dirty_background_ratio
  56.         echo 500 > /proc/sys/vm/dirty_writeback_centisecs
  57.         echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
  58.         echo 0 > /sys/module/snd_hda_intel/parameters/power_save
  59.         echo default > /sys/module/pcie_aspm/parameters/policy
  60.         /usr/bin/iw wlp4s0 set power_save off
  61.         #echo 1200 > /sys/class/backlight/intel_backlight/brightness
  62.         for i in /sys/bus/usb/devices/*/power/autosuspend; do
  63.             echo 2 > $i
  64.         done
  65.         for i in /sys/class/scsi_host/host*/link_power_management_policy
  66.             do echo max_performance > $i
  67.         done
  68.         for mod in $modlist; do
  69.             if ! lsmod | grep $mod; then
  70.                 modprobe $mod 2>/dev/null
  71.             fi
  72.         done
  73.         for bus in $buslist; do
  74.             for i in /sys/bus/$bus/devices/*/power/control; do
  75.                 echo on > $i
  76.             done
  77.         done
  78.     ;;
  79. esac
  80.  
  81. exit 0
Advertisement
Add Comment
Please, Sign In to add comment