Laptop Mode Tools (Русский)
Laptop Mode Tools — набор инструментов управления энергосбережением на Linux-системах. Это основной способ включить функцию Laptop Mode ядра Linux, которая позволяет жёсткому диску останавливать своё вращение. Кроме того, он позволяет настроить ряд других параметров энергопотребления с помощью простого конфигурационного файла.
В сочетании с acpid и изменением частоты процессора LMT предоставляет большинству пользователей полный набор средств управления питанием ноутбука.
Установка
Установите пакет laptop-mode-toolsAUR или laptop-mode-tools-gitAUR.
Настройка
Настройка выполняется через:
-
/etc/laptop-mode/laptop-mode.conf
— основной файл конфигурации. -
/etc/laptop-mode/conf.d/*
— десятки специфических «модулей».
Каждый модуль может быть явно включен, отключен или установлен в авторежим путём изменения аргумента CONTROL_*
любого файла в conf.d/
. LMT попытается включить все модули, для которых CONTROL_*
установлен в auto
, если ENABLE_AUTO_MODULES
включен в /etc/laptop-mode/laptop-mode.conf
. Из этого правила есть два исключения: auto-hibernate.conf
и battery-level-polling.conf
используют переменную ENABLE_*
вместо CONTROL_*
.
Чтобы быстро проверить, какие модули включены, отключены или находятся в автоматическом режиме, выполните команду:
$ grep -r '^\(CONTROL\|ENABLE\)_' /etc/laptop-mode/conf.d
После настройки включите службу laptop-mode.service
.
Во всех конфигурационных файлах пары опция=значение
представлены следующим образом:
-
CONTROL_чтонибудь=0/1/auto
— определяет, должен ли соответствующий модуль быть включен. -
LM_чтонибудь=значение
— значение опции, когда LMT активен. -
NOLM_чтонибудь=значение
— значение опции, когда LMT неактивен. -
AC_чтонибудь=значение
— значение опции при работе от сети. -
BATT_чтонибудь=значение
— значение опции при работе от батареи.
laptop-mode.conf
Здесь приведён адаптированный перевод комментариев к некоторым настройкам, на которые стоит обратить внимание. Список всех настроек и более подробные комментарии на английском языке вы можете прочитать непосредственно в файле /etc/laptop-mode/laptop-mode.conf
.
# Включение/выключение LMT # Выберите 0, чтобы полностью отключить LMT. ENABLE_LAPTOP_MODE_TOOLS=1 # Выберите 1, если хотите получить дополнительную отладочную информацию, когда # запускается/останавливается laptop_mode. VERBOSE_OUTPUT=0 # Выберите 1 если хотите, чтобы лог писался в syslog LOG_TO_SYSLOG=0 # Запуск в оболочке (shell) в режиме отладки. # Отладку отдельных модулей можно включить в соответствующих файлах в conf.d DEBUG=0 # Включать ли LMT при работе от батареи ENABLE_LAPTOP_MODE_ON_BATTERY=1 # Включать ли LMT при работе от сети ENABLE_LAPTOP_MODE_ON_AC=0 # Включать ли LMT, пока крышка ноутбука закрыта (даже если он подключён к сети) ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0 # Автоматическое включение некоторых модулей ENABLE_AUTO_MODULES=1 # Отключить функции, которые могут привести к потере данных, когда уровень # заряда батареи (в процентах) опустится до этого значения: MINIMUM_BATTERY_CHARGE_PERCENT=3
Жёсткие диски
Вам нужно установить hdparm и/или sdparm. Смотрите статью hdparm.
Остановка вращения жёсткого диска через hdparm -S
экономит энергию и уменьшает шум. Используя функцию readahead, вы можете разрешить дискам останавливаться чаще, даже если вы используете компьютер. LMT также может устанавливать hdparm -B
. Максимальное значение энергосбережения жёсткого диска равно 1, а минимальное — 254. Например, установите значение 254 при работе от сети переменного тока и 20 при работе от батареи. Если вы обнаружили, что работа на ноутбуке часто подвисает в ожидании раскрутки диска, возможно, имеет смысл установить более высокое значение (например, 128), что заставит диск останавливаться реже. Значения hdparm -S
и hdparm -B
настраиваются в файле /etc/laptop-mode/laptop-mode.conf
.
С помощью переменной CONTROL_MOUNT_OPTIONS
(по умолчанию включена) laptop-mode-tools автоматически перемонтирует ваши разделы, добавляя commit=600,noatime
к параметрам монтирования. Это не позволяет журналированию jbd2 обращаться к диску каждые несколько секунд, вместо этого журнал диска обновляется каждые 10 минут.
atime
. Вместо этого используйте noatime
или relatime
.CONTROL_MOUNT_OPTIONS
на разделах nilfs2. Подробнее в теме на форуме: https://bbs.archlinux.org/viewtopic.php?id=134656
Твердотельные накопители
Из официального FAQ:
Вопрос: В моей машине установлен твердотельный диск (SSD). Должен ли я включить какие-либо связанные с дисками части laptop-mode-tools, или они не имеют значения?
Ответ: Они могут иметь значение, поскольку (а) laptop mode уменьшает количество записей, что увеличивает срок службы SSD, и (б) laptop mode делает записи прерывистыми, что позволяет задействовать механизмы энергосбережения, такие как ALPM. Тем не менее, выигрыш может варьироваться в зависимости от конкретного оборудования. На некоторых устройствах вы вообще не получите никакого выигрыша, а на некоторых выигрыш может быть значительным.
Частота процессора
Необходим драйвер управления частотой процессора. Смотрите Управление частотой процессора.
# cpufreq.conf # Пример для ThinkPad T40/T42/T60 # CONTROL_CPU_FREQUENCY=1 BATT_CPU_MAXFREQ=fastest BATT_CPU_MINFREQ=slowest BATT_CPU_GOVERNOR=ondemand BATT_CPU_IGNORE_NICE_LOAD=1 LM_AC_CPU_MAXFREQ=fastest LM_AC_CPU_MINFREQ=slowest LM_AC_CPU_GOVERNOR=ondemand LM_AC_CPU_IGNORE_NICE_LOAD=1 NOLM_AC_CPU_MAXFREQ=fastest NOLM_AC_CPU_MINFREQ=slowest NOLM_AC_CPU_GOVERNOR=ondemand NOLM_AC_CPU_IGNORE_NICE_LOAD=0 CONTROL_CPU_THROTTLING=0
Устройства и шины
Intel SATA
Включите функцию Aggressive Link Power Management контроллера Intel SATA AHCI, чтобы перевести дисковый канал в режим очень низкого энергопотребления при отсутствии дисковых операций ввода-вывода.
# intel-sata-powermgmt.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_INTEL_SATA_POWER=1 BATT_ACTIVATE_SATA_POWER=1 LM_AC_ACTIVATE_SATA_POWER=1 NOLM_AC_ACTIVATE_SATA_POWER=0
/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
.Автоматическое отключение USB
# runtime-pm.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_RUNTIME_AUTOSUSPEND=1 BATT_SUSPEND_RUNTIME=1 LM_AC_SUSPEND_RUNTIME=1 NOLM_AC_SUSPEND_RUNTIME=1 AUTOSUSPEND_TIMEOUT=2
/etc/laptop-mode/conf.d/runtime-pm.conf
. Если у вас есть USB-устройства, которые вы постоянно используете (например, USB-мышь), внесите их в чёрный список для предотвращения их приостановки.Экран и графика
Яркость LCD
На некоторых ноутбуках доступные значения яркости можно узнать следующей командой:
$ cat /proc/acpi/video/VID/LCD/brightness
ThinkPad T40/T42
На ноутбуках ThinkPad T40/T42 минимальную и максимальную яркость можно узнать так:
$ cat /sys/class/backlight/acpi_video0/brightness $ cat /sys/class/backlight/acpi_video0/max_brightness
# lcd-brightness.conf # Пример для ThinkPad T40/T42 # DEBUG=0 CONTROL_BRIGHTNESS=1 BATT_BRIGHTNESS_COMMAND="echo 0" LM_AC_BRIGHTNESS_COMMAND="echo 7" NOLM_AC_BRIGHTNESS_COMMAND="echo 7" BRIGHTNESS_OUTPUT="/sys/class/backlight/thinkpad_screen/brightness"
ThinkPad T60
На ноутбуках ThinkPad T60 минимальную и максимальную яркость можно узнать так:
$ cat /sys/class/backlight/thinkpad_screen/max_brightness $ cat /sys/class/backlight/thinkpad_screen/brightness
# lcd-brightness.conf # Пример для ThinkPad T60 # DEBUG=0 CONTROL_BRIGHTNESS=1 BATT_BRIGHTNESS_COMMAND="echo 0" LM_AC_BRIGHTNESS_COMMAND="echo 7" NOLM_AC_BRIGHTNESS_COMMAND="echo 7" BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"
/etc/laptop-mode/conf.d/lcd-brightness.conf
.Затемнение терминала
# terminal-blanking.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_TERMINAL=1 # Файлы терминалов, на которые распространяются настройки. (Достаточно указать # один терминал — настройки сработают для всех консолей.) TERMINALS="/dev/tty1" # BLANK — таймаут затемнения в минутах; POWERDOWN — таймаут отключения питания в минутах. # Отсчёт таймаута POWERDOWN начинается после BLANK, то есть BLANK_MINUTES=1 и POWERDOWN_MINUTES=2 # означают, что экран отключится через 3 минуты неактивности. # Значение 0 отключает таймаут. BATT_TERMINAL_BLANK_MINUTES=1 BATT_TERMINAL_POWERDOWN_MINUTES=2 LM_AC_TERMINAL_BLANK_MINUTES=10 LM_AC_TERMINAL_POWERDOWN_MINUTES=10 NOLM_AC_TERMINAL_BLANK_MINUTES=10 NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10
/etc/laptop-mode/conf.d/terminal-blanking.conf
.Сеть
Ethernet
# ethernet.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_ETHERNET=1 LM_AC_THROTTLE_ETHERNET=0 NOLM_AC_THROTTLE_ETHERNET=0 # Полное отключение Wake-on-LAN, даже при работе от сети DISABLE_WAKEUP_ON_LAN=1 # Полное отключение Ethernet при работе от батареи. Полезно, если # при работе от батареи используется только беспроводная сеть DISABLE_ETHERNET_ON_BATTERY=1 ETHERNET_DEVICES="eth0"
Wireless LAN
Управление питанием беспроводного интерфейса зависит от конкретного оборудования, поэтому настраивать их немного сложнее. В зависимости от беспроводного чипсета, настройки управляются в одном из следующих трёх файлов:
-
/etc/laptop-mode/conf.d/wireless-power.conf
— базовый метод экономии энергии (с помощью команды "iwconfig wlan0 power on/off"). Это относится к большинству чипсетов (то есть ко всем, кроме чипсетов Intel, перечисленных ниже). -
/etc/laptop-mode/conf.d/wireless-ipw-power.conf
— для чипсетов Intel, управляемых старым драйвером ipw. Это относится к IPW3945, IPW2200 и IPW2100. В настоящее время (по состоянию на LMT 1.55-1) используется iwpriv для IPW3945 и комбинация настроек iwconfig и iwpriv для IPW2100 и IPW220. Подробности смотрите в файле/usr/share/laptop-mode-tools/modules/wireless-ipw-power
. (обратите внимание, что ipw3945 больше не используется, смотрите ниже) -
/etc/laptop-mode/conf.d/wireless-iwl-power.conf
— для чипсетов Intel, управляемых модулями iwl4965, iwl3945 и iwlagn (последний поддерживает чипсеты 4965, 5100, 5300, 5350, 5150, 1000 и 6000)
Активация всех трёх не должна представлять особой проблемы, поскольку LMT определяет модуль, используемый интерфейсом, и действует соответствующим образом.
Указанные выше поддерживаемые модули для каждого файла взяты непосредственно из LMT. Однако, похоже, это немного устарело, поскольку текущее ядро 2.6.34 больше не предоставляет модули ipw3945 и iwl4965 (чипсет 3945 использует iwl3945, а 4965 — общий модуль iwlagn). Это приведено здесь только для информации, так как это не влияет (или не должно влиять) на работу LMT.
Есть известная проблема с некоторыми чипсетами, работающими с модулем iwlagn (а именно, чипсет 5300 и, возможно, другие). На этих чипсетах следующие настройки /etc/laptop-mode/conf.d/wireless-iwl-power.conf
:
IWL_AC_POWER IWL_BATT_POWER
игнорируются, потому что файл /sys/class/net/wlan*/device/power_level
не существует. Вместо этого будет использован стандартный метод (через iwconfig wlan0 power on/off
).
Аудио
AC97
# ac97-powersave.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_AC97_POWER=1
Intel HDA
# intel-hda-powersave.conf # Пример для ThinkPad T40/T42/T60 # DEBUG=0 CONTROL_INTEL_HDA_POWER=1 BATT_INTEL_HDA_POWERSAVE=1 LM_AC_INTEL_HDA_POWERSAVE=1 NOLM_AC_INTEL_HDA_POWERSAVE=0 # Таймаут (в секундах) перед включением режима экономии энергии. INTEL_HDA_DEVICE_TIMEOUT=10 # Значение 1 приведёт к полному отключению контроллера по таймауту, # но это может привести к щелчкам в динамиках INTEL_HDA_DEVICE_CONTROLLER=0
Решение проблем
Laptop-mode-tools не обрабатывает события
Установите пакет acpid и включите службу acpid.service
.
Если это не помогло, просмотрите файлы конфигурации laptop-mode и убедитесь, что для службы, которую вы хотите включить, установлено значение 1. Многие службы (включая cpufreq control) по умолчанию установлены на "auto", что может не включить их.
Проблемы с неработающим bluetooth при запуске ноутбука от батареи решаются отключением runtime-pm.
USB-мышь засывает спустя 5 секунд при работе от батареи
Сперва найдите ID нужного устройства (выглядит примерно так: 046d:c534
):
$ lsusb
Добавьте его в переменную AUTOSUSPEND_DEVID_BLACKLIST
в файле /etc/laptop-mode/conf.d/runtime-pm.conf
, например:
/etc/laptop-mode/conf.d/runtime-pm.conf
... AUTOSUSPEND_DEVID_BLACKLIST="046d:c534" ...
Можно указать несколько ID через пробел.
laptop-mode.service
после изменения настроек. Может также понадобиться переподключить USB-устройство.Проблемы с драйвером NVIDIA
Чёрный экран в KDE
Когда включен режим ноутбука, KDE не запускается. Причина в том, что стандартный менеджер отображения KDE (SDDM) запускается раньше драйвера NVIDIA. Чтобы этого не произошло, удалите параметр ядра nomodeset
.
Замедлилась загрузка после включения laptop-mode.service
Как упоминалось ранее, laptop-mode-tools влияет на драйвер NVIDIA. Добавление параметра ядра nvidia-drm.modeset=1
значительно сокращает время загрузки.