[Feature Requests] Deepin 电源管理与 TLP 冲突问题反馈
Tofloor
poster avatar
Wuhd
deepin
19 hours ago
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
18 hours ago
#1

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

Reply View the author
avatar
Wuhd
deepin
17 hours ago
#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