Lenovo IdeaPad Flex 5 13IML05 Chromebook
外观
| 硬件 | PCI/USB ID | 是否工作? |
|---|---|---|
| GPU | 8086:9b41 |
是 |
| SSD | 144d:a809 |
是 |
| MicroSD 读卡器 | 是 | |
| 键盘 | 是 | |
| 键盘背光 | 是 | |
| WiFi | 8086:02f0 |
是 |
| 蓝牙 | 8087:0026 |
是 |
| 扬声器 | 8086:02c8 |
是 |
| 麦克风 | 是 | |
| 3.5mm 插孔 | 部分 | |
| 触控板 | 06cb:cde1 |
是 |
| 触摸屏 | 27c6:0e32 |
是 |
| 触控笔 | 27c6:0e32 |
未测试 |
| 摄像头 | 174f:244f |
是 |
安装
此 Chromebook 不支持传统启动模式。即使您尝试通过在开发者模式启动屏幕上按 CTRL+L 来调用它,它也会显示两个选项而没有选择。因此,有必要刷写自定义固件。
UEFI 固件刷写
警告
- 此步骤依赖第三方脚本和固件,可能会损坏您的硬件或数据。
- 执行此步骤后,将无法使用 ChromeOS (除非您刷回原始固件)。
注
- 通过不连接电池启动或 使用 SuzyQable 来禁用固件写保护。
- 启用开发者模式.
- 使用 MrChromebox 的 固件工具脚本。
Arch Linux 安装
注
- 使用 UEFI 兼容的引导加载程序 (例如 systemd-boot)。
- SSD 磁盘是
/dev/nvme0n1。
使用 auditctl(8) 来抑制每秒出现的审计消息。
# auditctl -e0
请遵循 安装指南。
电源 management
截至 2022 年 1 月 20 日,Linux 内核 (5.16.1) 中的 电源管理已损坏。官方的 linux-lts (5.15.15) 包中也已损坏。
合上盖子、重启和关机时,Chromebook 会挂起。
可以使用旧内核 linux-lts510AUR 作为一种解决方法。
截至 5.19.16 或更早的内核版本,该问题似乎已解决。
盖子传感器
截至 5.19.16 或可能更早的内核版本,无论盖子是否关闭,盖子传感器都会导致系统在暂停后不久唤醒。
解决方法是禁用盖子传感器的唤醒事件。例如,一个 udev 规则
/etc/udev/rules.d/lid.rules
# Disable wakeups from lid sensor
ACTION=="add", SUBSYSTEM=="acpi", KERNEL=="PNP0C0D:00", ATTR{power/wakeup}="disabled"
声音
注
- 3.5mm 插孔仅适用于耳机。所有情况下都将使用 Chromebook 的麦克风。
- 连接到 3.5mm 插孔的耳机可能会有轻微的噪音,因此建议使用蓝牙。
安装以下软件包
- sof-firmware - 声卡驱动
- pulseaudio - PulseAudio
- pulseaudio-alsa - 连接 ALSA 与 PulseAudio 所必需
- acpid - acpid 是使 3.5mm 插孔正常工作的必要条件
使用 ALSA 配置文件描述声卡
/etc/asound.conf
# Devices for PulseAudio pcm.speakers "hw:0,5" pcm.microphone "plughw:0,1" pcm.headphones "hw:0,0" # Force ALSA based applications (e.g. speaker-test(1)) to use PulseAudio pcm.!default pulse ctl.!default pulse
强制 PulseAudio 使用上述定义的设备
/etc/pulse/default.pa.d/devices.pa
# This line is required for Bluetooth load-module module-switch-on-connect load-module module-alsa-sink device=speakers sink_name=speakers load-module module-alsa-source device=microphone load-module module-alsa-sink device=headphones sink_name=headphones
查找并删除或注释掉以下代码块以避免冲突
/etc/pulse/default.pa
### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev support) load-module module-detect .endif
创建以下脚本以使用 acpid 自动切换输出设备,以支持 3.5mm 插孔
/etc/acpi/headphones_jack.sh
# License: 0BSD
#!/bin/bash
function get_active_pulseaudio_users_ids {
active_pulseaudio_users_ids=`ps -C pulseaudio -o ruid=`
}
function set_up_environment {
local user_id="$1"
export HOME=`getent passwd $user_id | cut -d: -f6`
export PULSE_RUNTIME_PATH="/var/run/user/$user_id/pulse"
}
function set_sink {
local user_id="$1"
local sink_name="$2"
sudo -u "#$user_id" -E pacmd set-default-sink $sink_name
}
if [ "$2" == "HEADPHONE" ]; then
get_active_pulseaudio_users_ids
for user_id in $active_pulseaudio_users_ids; do
set_up_environment $user_id
if [ "$3" == "plug" ]; then
set_sink $user_id "headphones"
else
set_sink $user_id "speakers"
fi
done
fi
使脚本可执行。
将脚本注册为监听器
/etc/acpi/events/headphones_jack
event=jack/headphone action=/etc/acpi/headphones_jack.sh %e
启用 acpid.service
重启后声音应正常工作。
触摸屏
截至 2022 年 1 月 12 日,Linux 内核 (5.15.13) 由于 一个错误,使用了错误的触摸屏模块。
因此,有必要阻止它
/etc/modprobe.d/blacklist.conf
blacklist elants_i2c
重启后,内核将加载正确的模块。