Index Tags About

联想拯救者 Y7000P 2022 日常使用配置

本文介绍的主要我的主系统 – Archlinux 和部分针对笔记本的微调。

2023-11-05 我将部分内容,比如 Windows 虚拟机和物理系统配置迁移到了单独的网页上。然后主要剩下了一些我常用的优化内容。

1. 系统内容补全

1.1. 提权相关

1.1.1. 正确配置 pkexec 代理

$ pkexec echo 1
Error executing command as another user: Not authorized

This incident has been reported.

图形界面也往往有很多提权操作,如果不提供一个代理服务,就会出现无法认证的问题,因此我安装了 gnome-polkit 并使用如下命令启动该服务:

/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

2. 延长电池续航

经过以下的一系列操作,idle 耗电大概为 6.8W 左右,轻量级使用时耗电大概在 8-12W,想要进行继续深度省电已经比较困难了,可能需要其他措施来实现。

2.1. 监测评估

使用 powertop 来检测当前离电情况下电源消耗情况,并可以在 tunables 标签页查看具体的配置项目并配置。

2.1.1. TLP

之前同时使用 Auto-Cpufreq 与 TLP 来管理电源,但是单独使用 TLP 效果也不错,就卸载了 Auto-Cpufreq。

省电主要是通过 TLP 来实现的。1

与 TLP 类似的工具还有 laptop-mode-tools 和 profile-profile-daemon,但是后面两者在实际过程中我也没体会到任何优势,在 powertop 中显示的耗电量与 TLP 启用后的几乎相同,鉴于之前一直在使用 TLP,我决定不切换到其他工具。

具体配置直接照抄 framework 的作业好了2,用了一段时间感觉不错。

2.1.2. intel-lpmd – Intel Low Power Mode Daemon

<2024-06-17 Mon> intel 最近推出的用来优化 idle 状态电源的工具。目前按照官方推荐配置安装了,但是效果暂时不能确定。需要等待一段时间后反馈。

2.1.3. 独立显卡省电

使用 vfio-pci 提供的功能来进行管理电源。

2.1.4. ASPM 省电

  1. 解锁 ASPM 功能

    联想拯救者系列默认在 BIOS 中关闭了 ASPM 功能(通过 sudo dmesg | grep -i ASPM 可以检查 ASPM有没有开启),据一些链接反馈3 , 4 , 5 开启 ASPM 后有比较不错的耗电体验。

    以下的操作仅仅列出,解锁 BIOS 极有可能让你的设备损坏并且失去保修资格,我不对产生的任何后果负任何责任。

    具体内容请查看 SmokelessCPUv2 /SmokelessRuntimeEFIPatcher 中的 README,以下内容为 2023-06-21 的快照内容

    1. 准备一个空优盘
    2. SmokelessRuntimeEFIPatcher 中下载 SERP.zip (0.14c)
    3. Lagon Intel 2022 Config 中的内容保存为 SREP_Config.cfg

      Op Loaded
      H2OFormBrowserDxe
      Op Patch
      Pattern
      49D592C3EB27464F8A119F5DF55A9C8B00000000
      49D592C3EB27464F8A119F5DF55A9C8B01000000
      Op Patch
      Pattern
      1AB0E0C17E60754BB8BB0631ECFAACF200000000
      1AB0E0C17E60754BB8BB0631ECFAACF201000000
      Op Patch
      Pattern
      9E76D4C6487F2A4D98E987ADCCF35CCC00000000
      9E76D4C6487F2A4D98E987ADCCF35CCC01000000
      Op Patch
      Pattern
      732871A65F92C64690B4A40F86A0917B00000000
      732871A65F92C64690B4A40F86A0917B01000000
      Op End
      
      Op LoadFromFV
      SetupUtilityApp
      Op Exec
      
    4. 将 2 中的文件解压到 u 盘根目录,将 3 中的配置文件也放到文件根目录。
    5. 重启电脑,使用该优盘启动
    6. 安装以下路径启用 ASPM 功能 4

      Advanced Settings
      
      ACPI Table/Features Control
      
      ACPI Settings
      
      Toggle "Native ASPM" to "Enabled"
      
      Save(F10) & Reboot
      
  2. 在 Linux 中验证并使用 ASPM

    启动 Linux 并再次使用 dmesg 功能验证 ASPM 是否启用。
    使用以下的命令动态修改 Linux 中的当前配置

    $ echo powersupersave | sudo tee /sys/module/pcie_aspm/parameters/policy
    

2.2. 屏幕相关的配置

必要情况下,可以降低亮度和屏幕刷新率来节省电量。
比如:

wlr-randr --output eDP-1 --mode 2560x1440@60

2.3. 禁用 watchdog

个人电脑使用 watchdog 的意义并不大,为了减少电量消耗和意外的关机等待时间,可以考虑将 watchdog 服务关闭。

添加启动参数 nowatchdog

options root=UUID=xxxxxxxxx nowatchdog rw

即可动态关闭 watchdog,但是我目前都是自己编译内核,在编译内核时已经禁用了 watchdog,因此以上步骤已经不再必要。

使用下面的命令,

$ sudo dmesg | grep watchdog

如果没有任何输出即可验证 watchdog 已经被禁用

2.3.1. 设置关闭盖子不睡眠

  1. 编辑 logind.conf 配置文件 /etc/systemd/logind.conf,并查找以下两个选项:
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=suspend

将它们的值改为 ignore:

HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

这将告诉 systemd 忽略笔记本电脑盖子的关闭事件,从而避免系统进入睡眠状态。

  1. 保存文件并重启 systemd-logind 服务,以使设置生效。
$ sudo systemctl restart systemd-logind

3. 笔记本及配件生命周期延长

3.1. 优化电池寿命

3.1.1. 使用 TLP 来控制充电阈值6

为什么要控制笔记本的充电阈值?

当充电阈值设置在一个较低的水平时,电池将不会被充满,这将减少电池的磨损程度,从而延长电池寿命。

拯救者在 Linux 中提供了 ideapad 模块,可以增强一些 Windows 上特有的功能。比如可以开启充电阈值模式,具体的文件位于 /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode ,当然如果该模块未被加载,那么该目录也不会存在。

TLP 中也集成了这一功能,可以修改如下配置来启用它。

$ sudo vim /etc/TLP.conf
STOP_CHARGE_THRESH_BAT0="1"

之后连接电源,启动 TLP TLP start ,执行命令 TLP-stat -s -c -b ,查看尾部输出

+++ Battery Care
Plugin: lenovo
Supported features: charge threshold
Driver usage:
* vendor (ideapad_laptop) = active (charge threshold)
Parameter value range:
* STOP_CHARGE_THRESH_BAT0: 0(off), 1(on) -- battery conservation mode

/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = 1 (60%)

如果存在这些内容,即可判定 TLP 启动成功,但是我的机器上充电阈值为 80%,不是输出中提到的 60%,怀疑开发者写死了该段输出(没有发现联想提供这部分文档)。

3.2. 优化 SSD

3.2.1. 启用 trim 服务

现在的笔记本很少使用机械硬盘,但是使用固态的话又有最大写入量的顾虑,此种情况下可以使用 fstrim 来优化性能和延长 SSD 寿命。
总体而言该技术是通过回收未使用块的方法来实现上述功能的。

$ sudo systemctl enable fstrim.timer

启用该服务以后系统便会一周执行一次 Trim 服务。

3.2.2. 将浏览器等缓存文件移动到 tmpfs

将缓存移动到内存不但可以优化 SSD 寿命,还可以加速这些软件的访问效率,因此推荐以下两个软件。

同步浏览器缓存:Profile-sync-daemon
同步任意目录:Anything-sync-daemon

4. 日常操作

Footnotes:

天玄而地黄。