Advertisement
Guest User

powerdown

a guest
May 19th, 2013
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.56 KB | None | 0 0
  1. #!/usr/bin/env bash
  2. # powerdown - powersave script
  3. # please use this with xset dpms, hdparm
  4.  
  5. if [[ $EUID != 0 ]]; then
  6.     echo "[powerdown] must be run as root"
  7.     exit 1
  8. fi
  9.  
  10. source /usr/lib/powerdown-functions
  11.  
  12. # bus
  13. for i in /sys/bus/*/devices/*/power/control; do opt "$i" auto; done
  14.  
  15. # usb autosuspend
  16. for i in /sys/bus/usb/devices/*/power/autosuspend; do opt "$i" 10; done
  17. usb_powersave
  18.  
  19. # nmi_watchdog
  20. opt /proc/sys/kernel/nmi_watchdog 0
  21.  
  22. # cpu
  23. for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do opt "$i" ondemand; done
  24. for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq; do opt "$i" 2533000; done
  25. opt /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 10
  26. opt /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 75
  27. opt /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load 1
  28.  
  29. # aspm
  30. opt /sys/module/pcie_aspm/parameters/policy powersave
  31.  
  32. # kernel write mode
  33. opt /proc/sys/vm/laptop_mode 5
  34. opt /proc/sys/vm/dirty_ratio 60
  35. opt /proc/sys/vm/dirty_background_ratio 5
  36. opt /proc/sys/vm/dirty_expire_centisecs 6000
  37. opt /proc/sys/vm/dirty_writeback_centisecs 6000
  38.  
  39. # disk
  40. for i in /sys/class/scsi_host/host*/link_power_management_policy; do opt "$i" min_power; done
  41. #for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run mount -o remount,noatime "$dev"; done
  42. #for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run blockdev --setra 4096 "$dev"; done
  43. #for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run hdparm -B 1 -S 120 "$dev"; done
  44.  
  45. # sound card
  46. opt /sys/module/snd_hda_intel/parameters/power_save 1
  47. opt /sys/module/snd_hda_intel/parameters/power_save_controller Y
  48. opt /sys/module/snd_ac97_codec/parameters/power_save 1
  49.  
  50. # net
  51. for i in $(iw dev | grep Interface | cut -d ' ' -f 2); do run iw dev "$i" set power_save on; done
  52.  
  53. # screen
  54. for i in /sys/class/backlight/*; do opt "$i/brightness" "$(brightness_scale 2 "$i")"; done
  55.  
  56. # webcam
  57. unload_mod uvcvideo
  58. #unload_mod videodev
  59.  
  60. # bluetooth
  61. unload_mod btusb
  62. unload_mod bluetooth
  63.  
  64. # open source ATI
  65. #opt /sys/class/drm/card0/device/power_method profile
  66. #opt /sys/class/drm/card0/device/power_profile low
  67.  
  68. # i915
  69. opt /sys/module/i915/parameters/i915_enable_rc6 1
  70.  
  71. #KDialog deactivate programs (Skype)
  72. if [ -z "$(pgrep skype)" ]
  73.   then
  74.      echo "Skype not running"
  75.   else
  76.      su - adriano -c "export DISPLAY=:0 && kdialog --title 'Powerdown'  --yesno 'Powerdown wants to kill Skype to save battery life.\n                  Do you want to kill Sk$
  77.    if [ $? = 0 ]; then
  78.            killall skype
  79.    fi
  80.  
  81. fi
  82.  
  83. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement