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
按照安装指南进行操作。
电源管理
截至 2022 年 1 月 20 日,Linux 内核(5.16.1)中的电源管理已损坏。在官方 linux-lts (5.15.15) 软件包中也已损坏。
Chromebook 在合上盖子、重启和关机时会挂起。
可以使用旧版本的内核 linux-lts510AUR 作为解决方法。
截至内核版本 5.19.16 或更早版本,该问题似乎已得到解决。
Lid 传感器
截至内核版本 5.19.16 或更早版本,lid 传感器会导致系统在挂起后不久唤醒,无论盖子是否闭合。
一种解决方法是禁用来自 lid 传感器的唤醒事件。一个 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 自动切换 sinks,因为使用了 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
内核将在重启后加载正确的模块。