Add device specific support and tlp
This commit is contained in:
parent
e1c903fb07
commit
e0094db3b5
4 changed files with 319 additions and 0 deletions
|
@ -9,3 +9,4 @@ puppet apply manifests/packages.pp --verbose
|
||||||
patch /usr/bin/makepkg -NR < makepkg.patch
|
patch /usr/bin/makepkg -NR < makepkg.patch
|
||||||
|
|
||||||
puppet apply manifests/main.pp --modulepath=modules/ --verbose
|
puppet apply manifests/main.pp --modulepath=modules/ --verbose
|
||||||
|
puppet apply manifests/devices.pp --modulepath=modules/ --verbose
|
||||||
|
|
3
manifests/devices.pp
Normal file
3
manifests/devices.pp
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
node 'too-laptop' {
|
||||||
|
include devices::laptop
|
||||||
|
}
|
300
modules/devices/files/tlp.conf
Normal file
300
modules/devices/files/tlp.conf
Normal file
|
@ -0,0 +1,300 @@
|
||||||
|
# Set to 0 to disable, 1 to enable TLP.
|
||||||
|
TLP_ENABLE=1
|
||||||
|
|
||||||
|
# Operation mode when no power supply can be detected: AC, BAT.
|
||||||
|
# Concerns some desktop and embedded hardware only.
|
||||||
|
TLP_DEFAULT_MODE=AC
|
||||||
|
|
||||||
|
# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
|
||||||
|
# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
|
||||||
|
TLP_PERSISTENT_DEFAULT=0
|
||||||
|
|
||||||
|
# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
|
||||||
|
# Non-zero value enables, zero disables laptop mode.
|
||||||
|
DISK_IDLE_SECS_ON_AC=0
|
||||||
|
DISK_IDLE_SECS_ON_BAT=2
|
||||||
|
|
||||||
|
# Dirty page values (timeouts in secs).
|
||||||
|
MAX_LOST_WORK_SECS_ON_AC=15
|
||||||
|
MAX_LOST_WORK_SECS_ON_BAT=60
|
||||||
|
|
||||||
|
# Hint: CPU parameters below are disabled by default, remove the leading #
|
||||||
|
# to enable them, otherwise kernel default values are used.
|
||||||
|
|
||||||
|
# Select a CPU frequency scaling governor.
|
||||||
|
# Intel Core i processor with intel_pstate driver:
|
||||||
|
# powersave(*), performance.
|
||||||
|
# Older hardware with acpi-cpufreq driver:
|
||||||
|
# ondemand(*), powersave, performance, conservative, schedutil.
|
||||||
|
# (*) is recommended.
|
||||||
|
# Hint: use tlp-stat -p to show the active driver and available governors.
|
||||||
|
# Important:
|
||||||
|
# powersave for intel_pstate and ondemand for acpi-cpufreq are power
|
||||||
|
# efficient for *almost all* workloads and therefore kernel and most
|
||||||
|
# distributions have chosen them as defaults. If you still want to change,
|
||||||
|
# you should know what you're doing! You *must* disable your distribution's
|
||||||
|
# governor settings or conflicts will occur.
|
||||||
|
#CPU_SCALING_GOVERNOR_ON_AC=powersave
|
||||||
|
#CPU_SCALING_GOVERNOR_ON_BAT=powersave
|
||||||
|
|
||||||
|
# Set the min/max frequency available for the scaling governor.
|
||||||
|
# Possible values strongly depend on your CPU. For available frequencies see
|
||||||
|
# the output of tlp-stat -p.
|
||||||
|
#CPU_SCALING_MIN_FREQ_ON_AC=0
|
||||||
|
#CPU_SCALING_MAX_FREQ_ON_AC=0
|
||||||
|
#CPU_SCALING_MIN_FREQ_ON_BAT=0
|
||||||
|
#CPU_SCALING_MAX_FREQ_ON_BAT=0
|
||||||
|
|
||||||
|
# Set energy performance hints (HWP) for Intel P-state governor:
|
||||||
|
# performance, balance_performance, default, balance_power, power
|
||||||
|
# Values are given in order of increasing power saving.
|
||||||
|
# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
|
||||||
|
CPU_HWP_ON_AC=balance_performance
|
||||||
|
CPU_HWP_ON_BAT=balance_power
|
||||||
|
|
||||||
|
# Set Intel P-state performance: 0..100 (%).
|
||||||
|
# Limit the max/min P-state to control the power dissipation of the CPU.
|
||||||
|
# Values are stated as a percentage of the available performance.
|
||||||
|
# Requires an Intel Core i processor with intel_pstate driver.
|
||||||
|
#CPU_MIN_PERF_ON_AC=0
|
||||||
|
#CPU_MAX_PERF_ON_AC=100
|
||||||
|
#CPU_MIN_PERF_ON_BAT=0
|
||||||
|
#CPU_MAX_PERF_ON_BAT=30
|
||||||
|
|
||||||
|
# Set the CPU "turbo boost" feature: 0=disable, 1=allow
|
||||||
|
# Requires an Intel Core i processor.
|
||||||
|
# Important:
|
||||||
|
# - This may conflict with your distribution's governor settings
|
||||||
|
# - A value of 1 does *not* activate boosting, it just allows it
|
||||||
|
#CPU_BOOST_ON_AC=1
|
||||||
|
#CPU_BOOST_ON_BAT=0
|
||||||
|
|
||||||
|
# Minimize number of used CPU cores/hyper-threads under light load conditions:
|
||||||
|
# 0=disable, 1=enable.
|
||||||
|
SCHED_POWERSAVE_ON_AC=0
|
||||||
|
SCHED_POWERSAVE_ON_BAT=1
|
||||||
|
|
||||||
|
# Kernel NMI Watchdog:
|
||||||
|
# 0=disable (default, saves power), 1=enable (for kernel debugging only).
|
||||||
|
NMI_WATCHDOG=0
|
||||||
|
|
||||||
|
# Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
|
||||||
|
# Frequency voltage pairs are written to:
|
||||||
|
# /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
|
||||||
|
# CAUTION: only use this, if you thoroughly understand what you are doing!
|
||||||
|
#PHC_CONTROLS="F:V F:V F:V F:V"
|
||||||
|
|
||||||
|
# Set CPU performance versus energy savings policy:
|
||||||
|
# performance, balance-performance, default, balance-power, power.
|
||||||
|
# Values are given in order of increasing power saving.
|
||||||
|
# Requires kernel module msr and x86_energy_perf_policy from linux-tools.
|
||||||
|
ENERGY_PERF_POLICY_ON_AC=performance
|
||||||
|
ENERGY_PERF_POLICY_ON_BAT=power
|
||||||
|
|
||||||
|
# Disk devices; separate multiple devices with spaces (default: sda).
|
||||||
|
# Devices can be specified by disk ID also (lookup with: tlp diskid).
|
||||||
|
DISK_DEVICES="sda sdb"
|
||||||
|
|
||||||
|
# Disk advanced power management level: 1..254, 255 (max saving, min, off).
|
||||||
|
# Levels 1..127 may spin down the disk; 255 allowable on most drives.
|
||||||
|
# Separate values for multiple disks with spaces. Use the special value 'keep'
|
||||||
|
# to keep the hardware default for the particular disk.
|
||||||
|
DISK_APM_LEVEL_ON_AC="254 254"
|
||||||
|
DISK_APM_LEVEL_ON_BAT="128 128"
|
||||||
|
|
||||||
|
# Hard disk spin down timeout:
|
||||||
|
# 0: spin down disabled
|
||||||
|
# 1..240: timeouts from 5s to 20min (in units of 5s)
|
||||||
|
# 241..251: timeouts from 30min to 5.5 hours (in units of 30min)
|
||||||
|
# See 'man hdparm' for details.
|
||||||
|
# Separate values for multiple disks with spaces. Use the special value 'keep'
|
||||||
|
# to keep the hardware default for the particular disk.
|
||||||
|
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
|
||||||
|
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
|
||||||
|
|
||||||
|
# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq).
|
||||||
|
# Separate values for multiple disks with spaces. Use the special value 'keep'
|
||||||
|
# to keep the kernel default scheduler for the particular disk.
|
||||||
|
#DISK_IOSCHED="cfq cfq"
|
||||||
|
|
||||||
|
# AHCI link power management (ALPM) for disk devices:
|
||||||
|
# min_power, med_power_with_dipm(*), medium_power, max_performance.
|
||||||
|
# (*) Kernel >= 4.15 required, then recommended.
|
||||||
|
# Multiple values separated with spaces are tried sequentially until success.
|
||||||
|
SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
|
||||||
|
SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
|
||||||
|
|
||||||
|
# Exclude host devices from AHCI link power management.
|
||||||
|
# Separate multiple hosts with spaces.
|
||||||
|
#SATA_LINKPWR_BLACKLIST="host1"
|
||||||
|
|
||||||
|
# Runtime Power Management for AHCI host and disks devices:
|
||||||
|
# on=disable, auto=enable.
|
||||||
|
# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss.
|
||||||
|
#AHCI_RUNTIME_PM_ON_AC=on
|
||||||
|
#AHCI_RUNTIME_PM_ON_BAT=on
|
||||||
|
|
||||||
|
# Seconds of inactivity before disk is suspended.
|
||||||
|
AHCI_RUNTIME_PM_TIMEOUT=15
|
||||||
|
|
||||||
|
# PCI Express Active State Power Management (PCIe ASPM):
|
||||||
|
# default, performance, powersave.
|
||||||
|
PCIE_ASPM_ON_AC=performance
|
||||||
|
PCIE_ASPM_ON_BAT=powersave
|
||||||
|
|
||||||
|
# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
|
||||||
|
# auto = mid on BAT, high on AC; default = use hardware defaults.
|
||||||
|
RADEON_POWER_PROFILE_ON_AC=high
|
||||||
|
RADEON_POWER_PROFILE_ON_BAT=low
|
||||||
|
|
||||||
|
# Radeon dynamic power management method (DPM): battery, performance.
|
||||||
|
RADEON_DPM_STATE_ON_AC=performance
|
||||||
|
RADEON_DPM_STATE_ON_BAT=battery
|
||||||
|
|
||||||
|
# Radeon DPM performance level: auto, low, high; auto is recommended.
|
||||||
|
RADEON_DPM_PERF_LEVEL_ON_AC=auto
|
||||||
|
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
|
||||||
|
|
||||||
|
# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
|
||||||
|
WIFI_PWR_ON_AC=off
|
||||||
|
WIFI_PWR_ON_BAT=on
|
||||||
|
|
||||||
|
# Disable wake on LAN: Y/N.
|
||||||
|
WOL_DISABLE=Y
|
||||||
|
|
||||||
|
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
|
||||||
|
# A value of 0 disables, >=1 enables power saving (recommended: 1).
|
||||||
|
SOUND_POWER_SAVE_ON_AC=0
|
||||||
|
SOUND_POWER_SAVE_ON_BAT=1
|
||||||
|
|
||||||
|
# Disable controller too (HDA only): Y/N.
|
||||||
|
SOUND_POWER_SAVE_CONTROLLER=Y
|
||||||
|
|
||||||
|
# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
|
||||||
|
# Drive can be powered on again by releasing (and reinserting) the eject lever
|
||||||
|
# or by pressing the disc eject button on newer models.
|
||||||
|
# Note: an UltraBay/MediaBay hard disk is never powered off.
|
||||||
|
BAY_POWEROFF_ON_AC=0
|
||||||
|
BAY_POWEROFF_ON_BAT=0
|
||||||
|
# Optical drive device to power off (default sr0).
|
||||||
|
BAY_DEVICE="sr0"
|
||||||
|
|
||||||
|
# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
|
||||||
|
RUNTIME_PM_ON_AC=on
|
||||||
|
RUNTIME_PM_ON_BAT=auto
|
||||||
|
|
||||||
|
# Exclude PCI(e) device adresses the following list from Runtime PM
|
||||||
|
# (separate with spaces). Use lspci to get the adresses (1st column).
|
||||||
|
RUNTIME_PM_BLACKLIST="01:00.0"
|
||||||
|
|
||||||
|
|
||||||
|
# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
|
||||||
|
# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
|
||||||
|
# prevents accidential power-on of dGPU in hybrid graphics setups.
|
||||||
|
# Use "" to disable the feature completely.
|
||||||
|
# Separate multiple drivers with spaces.
|
||||||
|
#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"
|
||||||
|
|
||||||
|
# Set to 0 to disable, 1 to enable USB autosuspend feature.
|
||||||
|
USB_AUTOSUSPEND=1
|
||||||
|
|
||||||
|
# Exclude listed devices from USB autosuspend (separate with spaces).
|
||||||
|
# Use lsusb to get the ids.
|
||||||
|
# Note: input devices (usbhid) are excluded automatically
|
||||||
|
#USB_BLACKLIST="1111:2222 3333:4444"
|
||||||
|
|
||||||
|
# Bluetooth devices are excluded from USB autosuspend:
|
||||||
|
# 0=do not exclude, 1=exclude.
|
||||||
|
USB_BLACKLIST_BTUSB=0
|
||||||
|
|
||||||
|
# Phone devices are excluded from USB autosuspend:
|
||||||
|
# 0=do not exclude, 1=exclude (enable charging).
|
||||||
|
USB_BLACKLIST_PHONE=0
|
||||||
|
|
||||||
|
# Printers are excluded from USB autosuspend:
|
||||||
|
# 0=do not exclude, 1=exclude.
|
||||||
|
USB_BLACKLIST_PRINTER=1
|
||||||
|
|
||||||
|
# WWAN devices are excluded from USB autosuspend:
|
||||||
|
# 0=do not exclude, 1=exclude.
|
||||||
|
USB_BLACKLIST_WWAN=1
|
||||||
|
|
||||||
|
# Include listed devices into USB autosuspend even if already excluded
|
||||||
|
# by the blacklists above (separate with spaces).
|
||||||
|
# Use lsusb to get the ids.
|
||||||
|
#USB_WHITELIST="1111:2222 3333:4444"
|
||||||
|
|
||||||
|
# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
|
||||||
|
# (workaround for USB devices that cause shutdown problems).
|
||||||
|
#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
|
||||||
|
|
||||||
|
# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
|
||||||
|
# on system startup: 0=disable, 1=enable.
|
||||||
|
# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
|
||||||
|
# are ignored when this is enabled!
|
||||||
|
RESTORE_DEVICE_STATE_ON_STARTUP=0
|
||||||
|
|
||||||
|
# Radio devices to disable on startup: bluetooth, wifi, wwan.
|
||||||
|
# Separate multiple devices with spaces.
|
||||||
|
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
|
||||||
|
|
||||||
|
# Radio devices to enable on startup: bluetooth, wifi, wwan.
|
||||||
|
# Separate multiple devices with spaces.
|
||||||
|
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
|
||||||
|
|
||||||
|
# Radio devices to disable on shutdown: bluetooth, wifi, wwan.
|
||||||
|
# (workaround for devices that are blocking shutdown).
|
||||||
|
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
|
||||||
|
|
||||||
|
# Radio devices to enable on shutdown: bluetooth, wifi, wwan.
|
||||||
|
# (to prevent other operating systems from missing radios).
|
||||||
|
#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
|
||||||
|
|
||||||
|
# Radio devices to enable on AC: bluetooth, wifi, wwan.
|
||||||
|
#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
|
||||||
|
|
||||||
|
# Radio devices to disable on battery: bluetooth, wifi, wwan.
|
||||||
|
#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
|
||||||
|
|
||||||
|
# Radio devices to disable on battery when not in use (not connected):
|
||||||
|
# bluetooth, wifi, wwan.
|
||||||
|
#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
|
||||||
|
|
||||||
|
# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
|
||||||
|
# required). Charging starts when the remaining capacity falls below the
|
||||||
|
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
|
||||||
|
# Main / Internal battery (values in %)
|
||||||
|
#START_CHARGE_THRESH_BAT0=75
|
||||||
|
#STOP_CHARGE_THRESH_BAT0=80
|
||||||
|
# Ultrabay / Slice / Replaceable battery (values in %)
|
||||||
|
#START_CHARGE_THRESH_BAT1=75
|
||||||
|
#STOP_CHARGE_THRESH_BAT1=80
|
||||||
|
|
||||||
|
# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
|
||||||
|
#RESTORE_THRESHOLDS_ON_BAT=1
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# tlp-rdw - Parameters for the radio device wizard
|
||||||
|
# Possible devices: bluetooth, wifi, wwan.
|
||||||
|
|
||||||
|
# Hints:
|
||||||
|
# - Parameters are disabled by default, remove the leading # to enable them
|
||||||
|
# - Separate multiple radio devices with spaces
|
||||||
|
|
||||||
|
# Radio devices to disable on connect.
|
||||||
|
#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
|
||||||
|
#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
|
||||||
|
#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
|
||||||
|
|
||||||
|
# Radio devices to enable on disconnect.
|
||||||
|
#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
|
||||||
|
#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
|
||||||
|
#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
|
||||||
|
|
||||||
|
# Radio devices to enable/disable when docked.
|
||||||
|
#DEVICES_TO_ENABLE_ON_DOCK=""
|
||||||
|
#DEVICES_TO_DISABLE_ON_DOCK=""
|
||||||
|
|
||||||
|
# Radio devices to enable/disable when undocked.
|
||||||
|
#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
|
||||||
|
#DEVICES_TO_DISABLE_ON_UNDOCK=""
|
15
modules/devices/manifests/laptop.pp
Normal file
15
modules/devices/manifests/laptop.pp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
class devices::laptop {
|
||||||
|
package {'tlp':
|
||||||
|
ensure => installed
|
||||||
|
}
|
||||||
|
-> service {'tlp':
|
||||||
|
enable => true
|
||||||
|
}
|
||||||
|
|
||||||
|
file { 'TLP config':
|
||||||
|
ensure => file,
|
||||||
|
mode => '0644',
|
||||||
|
path => '/etc/default/tlp',
|
||||||
|
source => 'puppet:///modules/devices/tlp.conf'
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue