联想笔记本在Linux下开启野兽模式

联想最近的笔记本上一般都会有一个野兽模式,例如我手头用的小新AIR15,在野兽模式下可以稳定提供35W性能释放,但是呢代价就是风扇噪音特别大。

由于平常都是使用Linux,无法安装联想专用的驱动软件,实际测试FN+Q在Linux下是无效的。

经过一番研究,终于通过ACPI发送相关指令实现了电源模式的切换。

脚本如下,需要安装acpi_call内核模块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash

ACPI_BALANCE="\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x000FB001"
ACPI_POWER="\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001"
ACPI_ECO="\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001"
ACPI_MODE="\_SB.PCI0.LPC0.EC0.SPMO"

MODE=$(sudo sh -c "echo '$ACPI_MODE' > /proc/acpi/call; tr -d '\0' < /proc/acpi/call")
MODE=${MODE:2}
TARGET=$(((MODE+1)%3))

case $TARGET in
0)
sudo sh -c "echo '$ACPI_BALANCE'> /proc/acpi/call; cat /proc/acpi/call; printf '\n'"
notify-send "性能模式" "已切换至 平衡模式"
;;
1)
sudo sh -c "echo '$ACPI_POWER' > /proc/acpi/call; cat /proc/acpi/call; printf '\n'"
notify-send "性能模式" "已切换至 性能模式"
;;
2)
sudo sh -c "echo '$ACPI_ECO' > /proc/acpi/call; cat /proc/acpi/call; printf '\n'"
notify-send "性能模式" "已切换至 节能模式"
;;
esac

我在系统设置内把FN+Q快捷键绑定到这个脚本,完美实现之前Windows下的体验,支持自由循环切换三种模式。

验证是否生效,简单看看CPU频率即可。