-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpowerdown
executable file
·70 lines (54 loc) · 2.1 KB
/
powerdown
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env bash
# powerdown - powersave script
# please use this with xset dpms, hdparm
if [[ $EUID != 0 ]]; then
echo "[powerdown] must be run as root"
exit 1
fi
source /usr/lib/powerdown-functions
lock
# bus
for i in /sys/bus/*/devices/*/power/control; do opt "$i" auto; done
# usb autosuspend
for i in /sys/bus/usb/devices/*/power/autosuspend; do opt "$i" 10; done
usb_powersave
# nmi_watchdog
opt /proc/sys/kernel/nmi_watchdog 0
# cpu
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do opt "$i" powersave; done
load_mod msr
run x86_energy_perf_policy powersave
# aspm
opt /sys/module/pcie_aspm/parameters/policy powersave
# kernel write mode
opt /proc/sys/vm/laptop_mode 5
opt /proc/sys/vm/dirty_ratio 90
opt /proc/sys/vm/dirty_background_ratio 1
opt /proc/sys/vm/dirty_expire_centisecs 60000
opt /proc/sys/vm/dirty_writeback_centisecs 60000
# disk
for i in /sys/class/scsi_host/host*/link_power_management_policy; do opt "$i" min_power; done
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run mount -o remount,noatime "$dev"; done
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run blockdev --setra 4096 "$dev"; done
for dev in $(awk '/^\/dev\/sd/ {print $1}' /etc/mtab); do run hdparm -B 1 -S 120 "$dev"; done
# sound card
opt /sys/module/snd_hda_intel/parameters/power_save 1
opt /sys/module/snd_hda_intel/parameters/power_save_controller Y
opt /sys/module/snd_ac97_codec/parameters/power_save 1
# net
for i in $(iw dev | awk '$1 == "Interface" { print $2 }'); do run iw dev "$i" set power_save on; done
run ethtool -s eth0 wol d
# screen
for i in /sys/class/backlight/*; do opt "$i/brightness" "$(num_scale "$i/max_brightness" 1)"; done
# webcam
unload_mod_recursive videodev
# bluetooth
unload_mod_recursive bluetooth
# open source ATI
opt /sys/kernel/debug/vgaswitcheroo/switch OFF
for i in /sys/class/drm/card*/device/power_method; do opt "$i" profile; done
for i in /sys/class/drm/card*/device/power_profile; do opt "$i" low; done
for i in /sys/class/drm/card*/device/power_dpm_state; do opt "$i" battery; done
# i915
#opt /sys/module/i915/parameters/i915_enable_rc6 1
exit 0