[Feature Requests] Deepin 电源管理与 TLP 冲突问题反馈
Tofloor
poster avatar
Wuhd
deepin
2026-07-09 17:30
Author

系统信息

  • 系统版本:Deepin 25
  • 内核版本:6.18.36-amd64-desktop-rolling
  • 硬件:LENOVO ThinkPad T14p Gen2 (Intel Core Ultra 9 185H)
  • 桌面环境:DDE

背景

系统自带的 deepin-power-control 电源管理在 ThinkPad T14p Gen2 上续航表现较差,仅约 2 小时左右。而使用 TLP 进行电源管理后,续航可提升至 4-4.5 小时,差距明显。

使用 TLP 替代系统自带的电源管理时,但发现两者存在冲突。

描述

deepin-power-control 和 TLP 都有自动切换 AC/BAT 电源状态的功能,但两者会互相覆盖配置,导致电源管理策略无法正常工作。

冲突

deepin-power-control 在检测到电源状态变化时,会自动生成 /etc/tlp.d/30_deepin-power-control_*.conf 配置文件。这些文件会覆盖 TLP 的配置,导致:

  • TLP 的 AC/BAT 策略被覆盖
  • 手动创建的 TLP 配置(如 /etc/tlp.d/99-custom.conf)被覆盖
  • 两个设置同时管理电源,互相干扰

表现

  1. 配置好 TLP 策略后,插拔电源会触发 deepin-power-control 自动切换
  2. deepin-power-control 重新生成配置文件,覆盖 TLP 设置
  3. TLP 策略失效,续航时间缩短
  4. 需要反复手动执行 sudo tlp bat 或 sudo tlp ac 才能恢复 TLP 配置

建议

希望系统电源管理支持 TLP配置文件。

Reply Favorite View the author
All Replies
avatar
leo
deepin
2026-07-09 18:37
#1

deepin-power-control 会基于您在控制中心---电源管理----通用 选择的模式生成tlp的配置文件。 您自定义的tlp配置效果比较好,能否把您的配置分享一下,我们看一下。

Reply View the author
avatar
Wuhd
deepin
2026-07-09 19:49
#2
leo:

deepin-power-control 会基于您在控制中心---电源管理----通用 选择的模式生成tlp的配置文件。 您自定义的tlp配置效果比较好,能否把您的配置分享一下,我们看一下。

# ============================================================
# ThinkPad T14p Gen2 (Intel Ultra 9 185H) TLP 电源管理配置
# ============================================================
#
# 适用机型:LENOVO ThinkPad T14p Gen2 21KUA003CD
# CPU:Intel Core Ultra 9 185H(Meteor Lake,6P+8E+2LP,22线程)
# 系统:Deepin 25 / Ubuntu 22.04+ / Linux 6.x+
#
# 配置效果:
#   插电 (AC):性能模式,平台 performance,Boost 开,GPU 2350MHz
#   离电 (BAT):省电模式,平台 low-power,Boost 关,GPU 1500MHz
#   电池保护:充电上限 88%
#
# 使用方法:
#   1. 安装 TLP:sudo apt install -y tlp tlp-rdw
#   2. 将此文件复制到 /etc/tlp.d/99-tlp-autoswitch.conf
#   3. 添加 udev 规则(见文件末尾说明)
#   4. 执行 sudo tlp start 应用配置
#
# ============================================================

# === 插电 (AC) - 最大性能 ===

# CPU 调频策略:powersave 由 intel_pstate 驱动管理,根据 EPP 动态调整
CPU_SCALING_GOVERNOR_ON_AC=powersave

# EPP(能效偏好):performance 表示优先使用最高频率
CPU_ENERGY_PERF_POLICY_ON_AC=performance

# CPU 睿频:开启,允许短时间冲到最高频率(5.1GHz)
CPU_BOOST_ON_AC=1

# HWP 动态加速:开启,硬件主动请求提升频率
CPU_HWP_DYN_BOOST_ON_AC=1

# 平台配置:performance 解锁全部功耗墙,风扇更积极散热
PLATFORM_PROFILE_ON_AC=performance


# === 离电 (BAT) - 流畅省电 ===

# CPU 调频策略:powersave 由 intel_pstate 驱动管理
CPU_SCALING_GOVERNOR_ON_BAT=powersave

# EPP(能效偏好):balance_power 偏省电但保留一定性能,办公流畅
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power

# CPU 睿频:关闭,节省功耗和发热
CPU_BOOST_ON_BAT=0

# HWP 动态加速:关闭,让硬件按默认规则决定频率
CPU_HWP_DYN_BOOST_ON_BAT=0

# 平台配置:low-power 降低整机功耗墙,限制最高功耗
PLATFORM_PROFILE_ON_BAT=low-power


# === 磁盘 ===

# 磁盘空闲休眠时间(秒):0 表示不休眠,6 表示 6 秒后休眠
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=6

# 磁盘 APM 级别:254 高性能,128 省电
DISK_APM_LEVEL_ON_AC=254 254
DISK_APM_LEVEL_ON_BAT=128 128


# === 显卡(Intel 集显)===

# GPU 最小频率:800MHz(硬件最低值)
INTEL_GPU_MIN_FREQ_ON_AC=800
INTEL_GPU_MIN_FREQ_ON_BAT=800

# GPU 最大频率:插电 2350MHz 满血,离电 1500MHz 省电
INTEL_GPU_MAX_FREQ_ON_AC=2350
INTEL_GPU_MAX_FREQ_ON_BAT=1500

# GPU Boost 频率:与最大频率一致
INTEL_GPU_BOOST_FREQ_ON_AC=2350
INTEL_GPU_BOOST_FREQ_ON_BAT=1500


# === PCIe ===

# PCIe 省电模式:default 不限制,powersupersave 最大省电
PCIE_ASPM_ON_AC=default
PCIE_ASPM_ON_BAT=powersupersave


# === WiFi ===

# WiFi 省电:插电关闭省电(低延迟),离电开启省电
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on


# === 声卡 ===

# 声卡省电:插电关闭(无延迟),离电开启
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y


# === USB ===

# USB 自动挂起:插电关闭(兼容性好),离电开启(省电)
USB_AUTOSUSPEND=0
USB_AUTOSUSPEND_ON_BAT=1


# === 运行时电源管理 ===

# 设备运行时电源管理:on 始终开启,auto 按需开启
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto


# === AHCI(硬盘控制器)===

# AHCI 运行时电源管理:始终开启
AHCI_RUNTIME_PM_ON_AC=on
AHCI_RUNTIME_PM_ON_BAT=on
AHCI_RUNTIME_PM_TIMEOUT=15


# === 数据保护 ===

# 内核数据保护间隔(秒):控制内核将脏数据写入磁盘的频率
# 插电 15 秒(响应快),离电 60 秒(减少磁盘写入,省电)
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60


# === 电池充电阈值(仅 ThinkPad)===

# 充电下限:0 表示不设下限
START_CHARGE_THRESH_BAT0=0

# 充电上限:88%,长期插电使用时保护电池寿命
# 出门前需要满电时执行:sudo tlp setcharge 100
# 回来后恢复保护:sudo tlp setcharge 0 88 BAT0
STOP_CHARGE_THRESH_BAT0=88


# ============================================================
# 配套 udev 规则(插拔电源自动切换)
# ============================================================
#
# 创建文件 /etc/udev/rules.d/90-tlp-autoswitch.rules,内容:
#
#   ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/sbin/tlp ac"
#   ACTION=="change", SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/sbin/tlp bat"
#
# 然后执行:sudo udevadm control --reload-rules
#
# 注意:TLP 路径可能是 /sbin/tlp 或 /usr/sbin/tlp,用 which tlp 确认
#
# ============================================================
# 合盖唤醒恢复(可选)
# ============================================================
#
# 创建文件 /usr/lib/systemd/system-sleep/tlp-resume,内容:
#
#   #!/bin/bash
#   if [ "$1" = "post" ]; then
#       /sbin/tlp auto
#   fi
#
# 然后执行:sudo chmod +x /usr/lib/systemd/system-sleep/tlp-resume
#
# ============================================================

Reply View the author
avatar
将进酒
deepin product team
2026-07-15 14:06
#3

这个TLP策略,是AI帮忙分析后生成的?还是楼主自己研究出来的?

我看楼主发的帖子,帖子形式挺像是AI出来的?

Reply View the author
avatar
一头牛
deepin product team
2026-07-16 10:03
#4

更新下最新的进度,目前这个帖子发出以后,整个电源团队都非常重视,正在调研具体优化方案中(已经两轮会议了,目前还在梳理和电源策略和所有相关因素的关系),整个目标是优化我们当前的电源策略,同时也支持配置一些其他的电源策略。但是这块涉及的太多太复杂,依赖也很多,所以会把这个弄好以后再进行统一优化,而不是简单加个功能支持改配置就完事了。已经确定的是,正在需求池中了,并且确认方案就会立马开整推出来。(下图是关于这个事项的会议随拍,证明真的在处理和跟进!)
image.png

Reply View the author
avatar
Wuhd
deepin
2026-07-22 10:26
#5
将进酒:

这个TLP策略,是AI帮忙分析后生成的?还是楼主自己研究出来的?

我看楼主发的帖子,帖子形式挺像是AI出来的?

根据硬件慢慢调整的,文档内容是让ai整理的。

不过每一台笔记本的硬件不同,需要对应的电源策略也会不同。确实很难做通用化的电源策略。

Reply View the author