[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 batsudo 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