TLP

出自 ArchWiki

TLP 是一个功能丰富的 Linux 命令行实用程序,无需深入研究技术细节即可节省笔记本电脑的电池电量。

TLP 的默认设置已经针对电池续航时间进行了优化,并开箱即用地实现了 Powertop 的建议,因此无需额外配置。此外,TLP 是完全可定制的,这意味着您可以获得更多的节电效果或满足您的确切要求。

TLP 有意排除 了项目中的某些设置,特别是 风扇速度控制背光

安装

安装 tlp 软件包。安装可选依赖项可能有助于提供额外的节电功能。

启用/启动 tlp.service 服务。

还应该 屏蔽 systemd-rfkill.service 服务和 systemd-rfkill.socket 套接字,以避免冲突并确保 TLP 无线电设备切换选项的正常运行。

无线设备向导 (tlp-rdw)

当使用无线设备向导 (tlp-rdw) 时,需要使用 NetworkManager启用 NetworkManager-dispatcher.service

有关详细信息,请参阅 TLP 设置

前端

  • tlpuiAUR 是一个用 Python 编写的用于 TLP 的 GTK 用户界面。
  • slimbookbatteryAUR 是另一个 GTK 界面,它适用于 AMD 和 NVIDIA 等其他驱动程序。

仅限 ThinkPad

可以使用 threshyAUR 及其示例 Qt 用户界面 threshy-guiAUR 在没有 root 权限的情况下使用 D-Bus 控制充电阈值。

Sandy Bridge 之前 (2010 年之前)

对于 2011 年之前的 ThinkPad 型号,需要 tp_smapi 内核模块。有关特定于内核的安装说明,请参阅 tp_smapi#Installation

配置

配置文件位于 /etc/tlp.conf,默认情况下提供高度优化的节电功能。有关选项的完整说明,请参阅:TLP 设置

USB 自动挂起

当使用默认配置启动 TLP 时,某些 USB 设备(例如音频 DAC)在使用电池运行时将断电,这是因为 TLP 的自动挂起功能。默认情况下,某些设备(如键盘和扫描仪)已列入自动挂起黑名单。

您可能只想使用以下设置完全禁用 USB 自动挂起

/etc/tlp.conf
# Do not suspend USB devices
USB_AUTOSUSPEND=0

或将特定设备列入自动挂起的黑名单。有关详细信息,请参阅 关于 USB 设备的 TLP 文档

强制电池 (BAT) 配置

当无法检测到电源时,桌面电脑和嵌入式硬件等设备将使用交流电源设置。

当在这些设备上使用 TLP 以启用更多节电功能时,您可能想要强制使用电池 (BAT) 设置

/etc/tlp.conf
# Operation mode when no power supply can be detected: AC, BAT.
TLP_DEFAULT_MODE=BAT

# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
TLP_PERSISTENT_DEFAULT=1

Bumblebee 与 NVIDIA 驱动

如果您正在运行带有 NVIDIA 驱动程序的 Bumblebee,则需要在 TLP 中禁用 GPU 的电源管理,以便 Bumblebee 控制 GPU 的电源。

根据您正在使用的驱动程序,将其中一个或多个列入黑名单,以防止 TLP 管理其电源状态

/etc/tlp.conf
RUNTIME_PM_DRIVER_DENYLIST="nouveau nvidia"

PRIME 与 NVIDIA 驱动

如果您正在运行带有 NVIDIA 驱动程序的 PRIME,请勿在 TLP 中禁用 GPU 的电源管理。相反,您可能希望始终启用电源管理,以防止笔记本电脑发热,方法是将 NVIDIA 显卡 PCI ID (lspci | grep NVIDIA) 添加到变量 RUNTIME_PM_ENABLE

/etc/tlp.conf
RUNTIME_PM_ENABLE="01:00.0"

在交流电源下启用 PCI(e) 运行时电源管理

在交流电源下为 PCI(e) 总线设备启用运行时电源管理可以提高某些笔记本电脑的节电效果。默认情况下,此功能在电池供电时启用,但在交流电源下不启用。要在交流电源下启用,请设置

/etc/tlp.conf
RUNTIME_PM_ON_AC=auto

命令行

TLP 提供了多种命令行工具。请参阅 TLP 命令

故障排除

为了进行调试,您可以显示有关当前使用的模式 (AC/BAT) 和应用配置的信息

# tlp-stat

另请参阅 上游故障排除 指南。

hci0: link tx timeout

如果您的蓝牙耳机突然停止工作,并且您从 dmesg 中看到此错误,则可能是 TLP 挂起了您的设备。将设备 ID 添加到 /etc/tlp.conf 中的 USB_DENYLIST

# Disable bluetooth autosuspend
USB_DENYLIST="8087:0aaa"

lsusb -v 获取蓝牙设备的设备 ID。重启 TLP 和 bluetooth 服务。

参见