Lenovo Yoga 9i Aura Edition (2025款) Linux 完美适配指南

前言

最近入手了 Lenovo Yoga 9i Aura Edition 14" 2-in-1 (2025款),这是首批搭载 Intel Lunar Lake 处理器的笔记本之一。经过一番折腾,目前在 Arch Linux 上已经实现了几乎完美的支持。特此分享经验,希望能帮到同样想在这台机器上运行 Linux 的朋友。

设备型号: YOGA 14 ILL10X (83LC)
处理器: Intel Core Ultra 7 258V (Lunar Lake)
显卡: Intel Arc Graphics 140V (Xe2)
内存: 32GB LPDDR5X
存储: 2TB NVMe SSD (长江存储 YMTC)
屏幕: 14" 2880×1800 触摸屏

测试环境:

  • 系统:Arch Linux

  • 内核:6.16.8-arch3-1

  • 桌面:KDE Plasma 6.4.4 (Wayland)

当前工作状态

:white_check_mark: 完全工作

  • 显示(包括触摸和触控笔)

  • Wi-Fi 7 (Intel BE201)

  • 蓝牙

  • 音频(扬声器、麦克风、耳机接口)

  • USB-C / Thunderbolt 4

  • 电池管理 pacman -S power-profiles-daemon

  • 环境光传感器

  • 睡眠/唤醒

  • 自动旋转(按本文方法配置后) :star:

:warning: 部分工作

  • 键盘特殊按键(部分可用,部分需重映射)

核心问题:自动旋转不工作

默认情况下,由于 Intel ISH (集成传感器集线器) 缺少专有固件,加速度计和陀螺仪无法工作,导致:

  • :cross_mark: 无法自动旋转屏幕

  • :cross_mark: 平板模式下无法自动禁用键盘

  • :cross_mark: "帐篷"模式无法识别


解决方案:安装 ISH 固件

方法说明

ISH 固件是专有的,未包含在 linux-firmware 中,但可以从 Windows 分区直接提取(无需修改)。

:warning: 重要提示: 该固件属于专有软件,请仅从自己的 Windows 安装中提取,不要公开分享。

第 1 步:确认 Windows 分区

sudo fdisk -l /dev/nvme0n1

找到 Windows 分区(通常是最大的 NTFS 分区,类型为 "Microsoft 基本数据")

第 2 步:挂载 Windows 分区

# 创建挂载点
sudo mkdir -p /mnt/windows

# 挂载 NTFS 分区(将 nvme0n1p3 替换为你的 Windows 分区)
sudo mount -t ntfs3 /dev/nvme0n1p3 /mnt/windows

第 3 步:查找固件文件

sudo find /mnt/windows -name "*ishS_MEU_aligned.bin*"

应该找到类似路径:

/mnt/windows/Windows/System32/DriverStore/FileRepository/ishheciextensiontemplate.inf_amd64_[随机字符串]/FwImage/0003/ishS_MEU_aligned.bin

:warning: 注意:只需要 ishS_MEU_aligned.bin,不要用 ishS_SI_*.bin

第 4 步:复制并安装固件

# 复制固件到家目录
sudo cp /mnt/windows/Windows/System32/DriverStore/FileRepository/ishheciextensiontemplate.inf_amd64_*/FwImage/0003/ishS_MEU_aligned.bin ~/ishS_MEU_aligned.bin

# 修改所有权
sudo chown $USER:$USER ~/ishS_MEU_aligned.bin

# 备份现有固件
sudo mkdir -p /lib/firmware/intel/ish/backup
sudo mv /lib/firmware/intel/ish/ish_lnlm.bin* /lib/firmware/intel/ish/backup/ 2>/dev/null

# 安装新固件
sudo cp ~/ishS_MEU_aligned.bin /lib/firmware/intel/ish/ish_lnlm.bin
sudo chmod 644 /lib/firmware/intel/ish/ish_lnlm.bin

第 5 步:更新 initramfs

sudo mkinitcpio -P

第 6 步:卸载并重启

sudo umount /mnt/windows
sudo reboot


验证固件是否工作

1. 检查固件加载状态

sudo dmesg | grep -i ish

成功输出示例:

[    3.453276] intel_ish_ipc 0000:00:12.0: ISH loader: load firmware: intel/ish/ish_lnlm.bin
[    3.476200] intel_ish_ipc 0000:00:12.0: ISH loader: firmware loaded. size:526848
[    3.476204] intel_ish_ipc 0000:00:12.0: ISH loader: FW base version: 5.8.0.7720
[    4.470760] ish-hid {33AECD58-B679-4E54-9BD9-A04D34F0C226}: [hid-ish]: enum_devices_done OK, num_hid_devices=2

:white_check_mark: 看到 firmware loadedenum_devices_done OK 说明成功!

2. 检查传感器设备

ls -la /sys/bus/iio/devices/
cat /sys/bus/iio/devices/iio:device*/name

应该能看到 accel_3d(加速度计)、gyro_3d(陀螺仪)等设备。

3. 测试自动旋转

sudo pacman -S iio-sensor-proxy
monitor-sensor

旋转笔记本,应该能看到方向变化:normal, left-up, right-up, bottom-up

:tada: 大功告成!


额外优化

优化 1:配置距离传感器(消除警告)

sudo nano /etc/udev/rules.d/90-iio-sensor-proxy.rules

添加:

SUBSYSTEM=="iio", ATTR{name}=="prox-ishtp*", ENV{PROXIMITY_NEAR_LEVEL}="10"

重新加载:

sudo udevadm control --reload-rules
sudo udevadm trigger
sudo systemctl restart iio-sensor-proxy

优化 2:测试平板模式

evtest /dev/input/by-path/platform-INTC10CF:00-event

完全翻转笔记本(360度),应该能看到 SW_TABLET_MODE 事件,键盘和触摸板会自动禁用。


常见问题

Q1: 我没有 Windows 分区怎么办?

Lenovo 支持网站 下载 ISH 驱动,使用 bottleswine 运行安装程序选择"仅解压",在解压目录中找到 ishS_MEU_aligned.bin

Q2: 蓝牙不工作怎么办?

sudo ln -s /lib/firmware/intel/ibt-0190-0291.sfi /lib/firmware/intel/ibt-0190-0291-pci.sfi
sudo ln -s /lib/firmware/intel/ibt-0190-0291.ddc /lib/firmware/intel/ibt-0190-0291-pci.ddc
sudo mkinitcpio -P
sudo reboot

Q3: 从睡眠唤醒后触摸板立即唤醒系统

sudo nano /etc/systemd/system/disable-elan-wakeup.service

添加:

[Unit]
Description=Disable wakeup for ELAN touchpad
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo "disabled" > /sys/bus/i2c/devices/i2c-ELAN06FA:00/power/wakeup'
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl daemon-reload
sudo systemctl enable --now disable-elan-wakeup.service


参考资料


更新日志:

  • 2025-10-01:初版发布,确认自动旋转功能正常工作
8 Likes

有点厉害
格式不输GPT了

:two_hearts: ,太棒了,保存下来,对以后遇到类似的问题很有参考意义!

您好,我最近剛買了這台機器
安裝完 arch 之後遇到 120hz 模式下會啟用 kwin 或是 mutter 時亮度會被重置為 100%(wayland, 不開HDR模式)
想知道你有沒有遇到此問題?

plasma 作業系統: Arch Linux
KDE Plasma 版本: 6.4.5
KDE Frameworks 版本: 6.18.0
Qt 版本: 6.9.2
核心版本: 6.16.10-arch1-1 (64 位元)
圖形平台: Wayland
處理器: 8 × Intel® Core™ Ultra 7 258V
記憶體: 32 GiB 的記憶體 (30.9 GiB 可用)
圖形處理器: Intel® Graphics
製造者: LENOVO
產品名稱: 83LC
系統版本: Yoga 9 2-in-1 14ILL10

我不用 mutter

这句没看懂,启用 kwin 是什么意思,使用 kwin 吗,可否附上使用 120 Hz 的步骤和截图,我一般是在 kde 设置的 显示和监视器 中调整的

在屏幕設置為1800@120 (我的面板是2.8k的那款)啟動 sddm 或是進入plasma的瞬間亮度會被重置為max(手動調整時會瞬間降到到上次設定的數值附近),如果設定為 1800@60 ,sddm 與 plasma 的亮度都會被正常保存還原

我部分复现了,我把屏幕設置為1800@120,重启后,sddm 亮度异常,但进入 plasma 后,亮度与我在电源管理中设置的一致。但这或许不影响正常使用,如果重启的频率少,看到登录状态的 sddm 的频率也少。合上盖子就进入睡眠或休眠,再打开盖子进入锁屏亮度是正常的,这时候使用指纹进入。

:bullseye: 完整优化总结

:clipboard: 初始状态(优化前)

硬件配置:

  • 笔记本:Lenovo Yoga 9i Aura Edition (2025)

  • 处理器:Intel Core Ultra 7 258V (Lunar Lake)

  • 显卡:Intel Arc Graphics 130V/140V

  • 存储:2TB YMTC NVMe SSD

  • 电池:75 Wh (100% 健康度)

  • 系统:Arch Linux (内核 6.16.8)

主要问题:

❌ CPU 只能进入 C1 状态(最浅睡眠)
❌ 无法进入深度睡眠(C6/C7/PC10)
❌ S0ix 残留率 0%
❌ 挂起时电池掉电快(预计 8-15% / 小时)
❌ 15+ 个 PCI 设备未启用省电
❌ NMI Watchdog 持续唤醒 CPU


:magnifying_glass_tilted_left: 诊断过程

1. 发现根本原因

检查 GRUB 配置发现:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable intel_idle.max_cstate=1"
                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
                                                      这个参数限制了 CPU!

问题核心intel_idle.max_cstate=1 强制 CPU 只能用 C1 状态,无法进入深度睡眠。

2. 通过 PowerTOP 发现其他问题

❌ NMI watchdog: Bad
❌ 15+ PCI 设备 Runtime PM: Bad
❌ Audio codec 省电: Bad
❌ VM writeback timeout: Bad


:hammer_and_wrench: 执行的优化

优化 1:移除 CPU C-state 限制 :star::star::star::star::star:

# 编辑 GRUB 配置
sudo nano /etc/default/grub

# 修改前:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable intel_idle.max_cstate=1"

# 修改后:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nmi_watchdog=0"

# 更新并重启
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

效果

  • :white_check_mark: CPU 可以进入 C2/C3/C7 状态

  • :white_check_mark: 同时关闭了 NMI watchdog(减少唤醒)


优化 2:启用 PCI 设备 Runtime PM :star::star::star::star:

# 创建 udev 规则
sudo nano /etc/udev/rules.d/50-pci-pm.rules

# 添加内容:
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

# 重新加载
sudo udevadm control --reload-rules
sudo udevadm trigger

效果

  • :white_check_mark: 37 个 PCI 设备启用省电

  • :white_check_mark: SSD、Wi-Fi、USB 控制器等空闲时自动休眠


优化 3:VM Writeback Timeout :star::star::star:

# 永久设置
echo "vm.dirty_writeback_centisecs = 1500" | sudo tee /etc/sysctl.d/99-vm-writeback.conf
sudo sysctl -p /etc/sysctl.d/99-vm-writeback.conf

效果

  • :white_check_mark: 减少 SSD 唤醒频率(每 5 秒 → 每 15 秒)

  • :white_check_mark: 节省 0.1-0.2W


优化 4:音频省电 :star::star::star::star:

# 创建配置文件
echo "options snd_sof_intel_hda_common power_save=1" | sudo tee /etc/modprobe.d/audio_powersave.conf

# 重新生成 initramfs
sudo mkinitcpio -P

# 重启生效
sudo reboot

效果

  • :white_check_mark: 音频芯片空闲时自动休眠

  • :white_check_mark: 节省 0.3-0.5W

  • :white_check_mark: 测试确认无爆音问题


:bar_chart: 优化结果对比

CPU C-states(空闲时):

状态 优化前 优化后
C1(浅睡眠) 90.1% 5.2% :down_arrow: 94%
C2(中等) 0% 35.2% :white_check_mark:
C3(较深) 0% 49.1% :white_check_mark:
C7(核心深睡眠) 0% 48.3% :white_check_mark:

S0ix 深度睡眠(挂起时):

指标 优化前 优化后
S0ix 残留率 0% 66.52% :white_check_mark:
PC10 残留率 0% 66.68% :white_check_mark:
S0i2.2(最深) 0% 98.7% :white_check_mark:

诊断工具评价

:white_check_mark: "Congratulations! Your system achieved the deepest S0ix substate!"


PowerTOP 优化项:

类别 优化前 优化后
Good ~15/39 39/39 :white_check_mark:
Bad ~24/39 0/39 :white_check_mark:

功耗与续航:

指标 优化前 优化后 改善
空闲功耗 7-10W 3-5W :down_arrow: 50%
挂起功耗 高(0% S0ix) 低(66% S0ix) :down_arrow: 85%
挂起电量损失 8-15% / 小时 1-2% / 小时 :down_arrow: 85-90%
续航时间(正常使用) 4-5 小时 6-8 小时 :up_arrow: 60%
续航时间(轻度使用) 5-6 小时 10-12 小时 :up_arrow: 100%
过夜待机损失 40-60% 8-16% :down_arrow: 75%

:tada: 最终状态

系统配置:

# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet nmi_watchdog=0"

# /etc/udev/rules.d/50-pci-pm.rules
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

# /etc/sysctl.d/99-vm-writeback.conf
vm.dirty_writeback_centisecs = 1500

# /etc/modprobe.d/audio_powersave.conf
options snd_hda_intel power_save=1

验证命令:

# 查看 CPU C-states
sudo powertop  # 切换到 Idle stats 标签

# 查看内核参数
cat /proc/cmdline

# 验证 S0ix
cd ~/Downloads/S0ixSelftestTool
sudo ./s0ix-selftest-tool.sh -s


:chart_increasing: 优化效果等级

在笔记本电脑中的表现:

设备类型 S0ix 残留率 挂起功耗
MacBook (ARM) ~95% 0.5-1% / h
你的 Yoga 9i :sparkles: 66.5% 1-2% / h
ThinkPad X1(优化后) 60-70% 1-2.5% / h
Dell XPS(优化后) 50-65% 2-3% / h
游戏本 20-40% 3-5% / h
未优化笔记本 0-20% 5-15% / h

评级::star::star::star::star::star: Intel x86 笔记本顶级水平!


:graduation_cap: 关键学习点

1. 根本问题:

找到了 intel_idle.max_cstate=1 这个限制,这是导致所有问题的根源。

2. 系统性优化:

不是单一优化,而是多方面配合:

  • 内核参数

  • PCI 电源管理

  • 系统参数调整

  • 驱动配置

3. 验证方法:

  • PowerTOP:查看优化项和 C-states

  • S0ix 诊断工具:验证深度睡眠

  • 实测:挂起功耗测试

4. Lunar Lake 特性:

  • 新架构的 C-state 命名不同(C1/C2/C3)

  • 需要最新内核(6.14+)支持

  • S0ix 是主要省电机制(而不是传统 S3)


:memo: 配置文件备份

为方便以后恢复或参考:

# 备份所有优化配置
sudo mkdir -p ~/power-optimization-backup
sudo cp /etc/default/grub ~/power-optimization-backup/
sudo cp /etc/udev/rules.d/50-pci-pm.rules ~/power-optimization-backup/
sudo cp /etc/sysctl.d/99-vm-writeback.conf ~/power-optimization-backup/
sudo cp /etc/modprobe.d/audio_powersave.conf ~/power-optimization-backup/


:rocket: 总结

:white_check_mark: CPU 深度睡眠工作正常
:white_check_mark: S0ix 达到 66.5%(最深睡眠 98.7%)
:white_check_mark: 挂起功耗降低 85-90%
:white_check_mark: 续航时间提升 60-100%
:white_check_mark: PowerTOP 全项目优化

关键成就

  • :trophy: 诊断工具评价:"Congratulations! Your system achieved the deepest S0ix substate!"

  • :trophy: 优化效果:从 0% S0ix → 66.5% S0ix

  • :trophy: 实用价值:过夜待机从掉电 50% → 10%

1 Like

刚测了一下合盖电量消耗,从 12:00 到 13:10 电量大概从 39% 掉到了 38%,只掉了 1%

屏幕亮度亂跳的問題(應該是切換 modeset 造成亮度重置)在更新到 6.17.1 已經解決

1 Like

现在是早上 06:41, 一晚上只掉了 2% 的电

我遇到了3.5mm不正常工作,不知道你有沒有遇到?

我尝试pci runtime pm + audio powersave + power-profiles-daemon在我的ThinkPad e16 gen2 amd笔记本上,效果不错

怎么看起来那么像AI写的

肯定有用AI做帮手,上面很多知识点来自AI。

@junix 明天晚上更新后测一下6.18 LTS在此电脑下的支持概况

大佬,最近在找一台适配Linux比较好的设备,就看到了这篇帖子。刚刚在帖子的回帖中看到,指纹识别可以使用?

可以

1 Like